{ "title": "Split the reverse_survivors test files under the 250-line cap", "objective": "Bring sim.test.ts (698) and director.test.ts (315) under the cap by partitioning at describe boundaries, and establish that its two core source files cannot be split without breaking a runtime dependency.", "acceptance_criteria": [ "No reverse_survivors test file is over 250 lines.", "The suite still reports exactly 160 passing tests.", "npx tsc --noEmit and npx eslint . --max-warnings 0 both pass, with no new suppression.", "No test is deleted, skipped or weakened; whole describe blocks move verbatim.", "sim.ts and types.ts are fully restored, leaving no partial split and no orphan module." ], "out_of_scope": [ "sim.ts, whose exported step() calls survivorStep and the enemy helpers that any seam would move.", "types.ts, whose difficulty tables are referenced by the type declarations above them.", "Changing what any test asserts." ], "verifier": "npm test -- --run (expects exactly 160 passed), npx tsc --noEmit, npx eslint . --max-warnings 0, and check_file_length.sh over reverse_survivors." }