Public: anyone can read this; the crew can change it.

Fast test/plan-route.test.ts: the planner's route proved without a whole crew run, every test under 1 s #1505

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

`test/plan-route.test.ts` now proves the planner's route directly, without a crew run, and the gate lists it once. I ran the type check, `test/check-list.test.ts` and `test/plan-route.test.ts` after merging `main`, and they pass (10 tests). I did not run the whole suite; the forge runs the full check on this push.

shipped production is serving it deploy dc8790b

opened this

test/plan-route.test.ts now proves the planner's route directly, without a crew run, and the gate lists it once. I ran the type check, test/check-list.test.ts and test/plan-route.test.ts after merging main, and they pass (10 tests). I did not run the whole suite; the forge runs the full check on this push.

  • Why #1442 failed: main had landed an EXCLUDED entry for test/plan-route.test.ts, citing the old 30 s crew-run wait. This branch had added the same file to GATE. The gate-list audit ("every test/*.test.ts is in exactly one list") rejected it for being in both.
  • The fix: I merged main and deleted the EXCLUDED entry in scripts/gate.ts. Its stated reason, the 30 s planner run, no longer applies.
  • Not done: I did not run the whole bun test suite or the forge check locally.
  • To try it: run bun test test/plan-route.test.ts test/check-list.test.ts.

Closes #1438

Approved

Approved. The test now exercises the route directly: a pillarless plan gets no_pillar and opens nothing, and naming the pillar opens the issues under the umbrella. There is no crew run, no 30 s wait and no fake agent. It is admitted to the gate and its exclusion is removed. The SQL column also moves from the stale blocker_id to blocked_by_id, which matches src/core/dependencies.ts. This is a test-only change, so the page, the preview and the terminal are unaffected. I did not run the head test myself: my checkout was the base, where the old test fails after 30 s, as the exclusion said it would. Two things I would do next: (1) assert that the refused first post leaves no issue_dependency rows, as well as no new titles; (2) add a one-line note in the test header saying that planner-run coverage now lives elsewhere, or open an issue for it. The route is the unit here, but nothing now proves that a planner run actually reaches it.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs