08c6146cf7
REAL test audit should have been. jest, seeded RNG, mirrors replay-combat.js op sequence exactly. Asserts per-round invariants: rotation-dupe, turnOrder dup-id, currentTurn valid+active, HP bounds. Result: 13 rotation-dupes / 100 rounds. First at round 4 (Cleric twice). Deterministic, reproducible every run. BUG-5 locked. Deprecate tests/audit/*.js: random sim gave false 0-violations while this exact test reproduces bug. Commented early-return. Kept for reference, delete later when log analyzer + unit tests cover ground. TODO: BUG-5 added (mid-round addParticipant/revive corrupts rotation). Root cause hypothesis: computeTurnOrderAfterAddition appends id to turnOrderIds end. Round wrap re-sorts by initiative. currentTurn pointer stale after sort → drifts → nextTurn revisits. Test RED by design (documents live bug). Pre-push will block on push.