testsAndMisc/docs/superpowers/contracts/reverse-survivors-test-split-2026-08-16.json
Krzysztof kuhy Rudnicki 093e2f6f68 Split the reverse_survivors test files; defer its two core sources
sim.test.ts 698 -> 175 and director.test.ts 315 -> 178, into four new
modules. 160 tests passing before and after.

sim.ts and types.ts are reverted. sim.ts's exported step() calls
survivorStep, which any seam moves out - 63 tests failed with a
ReferenceError while tsc reported only unused imports. types.ts has its
difficulty tables below the type declarations that use them.

Third project now where a TypeScript seam compiles clean and fails at
runtime. In TS, tsc does not tell you a split worked; the test run does.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011w2Pj4Ek3ZNMQVYcFHgXDY
2026-08-16 20:26:59 +02:00

18 lines
1.1 KiB
JSON

{
"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."
}