voyage/lib
Kjell Tore Guttormsen 44dcc779a9
fix(execute): the step loop survives an adversarial review
An independent review of abc3083 found 15 defects, the two worst verified
in scratch repos. Each fix started with a test that failed.

- Proof of red could be "proven" by the environment: a start point
  unpacked with git archive had no node_modules and no .git, so any test
  failed there. The start point is now a git clone --shared checked out at
  start_sha, gitignored top-level entries are linked in, and a control run
  (start point + the change) must pass, or the result is not-run.
- The Test first file was never committed (the template lists it apart
  from Files:) and leaked into the next step's diff. The step's scope is
  now Files: + test files, staged at the checkpoint.
- New files outside Files: were invisible to every check. Every untracked
  file is registered with --intent-to-add; a revert unregisters them.
- The floor guard paired renames (foo.test.js -> .bak read as clean) and
  missed skipIf and node's t.skip/t.todo; prose files no longer count as
  stubs.
- Phase 7.5 audited from the last step's start_sha; it now uses the run's
  session_start_sha.
- The done line is written after the checkpoint and checked with --commit.
- fix_rounds never passes 5; attempts are never reset; re-control keeps
  the spec/quality verdicts and earlier floor-guard rulings; the closed
  stop list maps every existing stop; failed vs stopped made consistent;
  the controller's effort is said, not assumed.

Tests: 1470 (1468 pass, 0 fail, 2 skipped).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 20:17:39 +02:00
..
exporters fix(docs): the order fields stand on all five surfaces (green) 2026-10-04 19:55:17 +02:00
parsers test(proevesett): a case for the intent gate; case 5's error comes from code; graders see what they claim 2026-09-23 09:28:38 +02:00
plan feat(voyage): S12 — NW3 synthesis-agent built + measured → declined per measurement [skip-docs] 2026-06-18 17:58:39 +02:00
profiles feat(profiles): add built-in fable profile (all six phases on fable) 2026-07-02 16:59:26 +02:00
review fix(review): write the gold-scorer key separator as an escape, not a raw NUL byte 2026-09-17 15:36:18 +02:00
stats fix(execute): the Phase 8 payload goes on stdin; /trekreview findings closed 2026-10-05 18:16:46 +02:00
util fix(execute): clear the wave record only on the main-merge gate's confirm (green) 2026-10-02 16:24:33 +02:00
validators feat(execute): one fresh helper per step, a controller on the diff, proof by command 2026-10-06 19:58:18 +02:00
verification fix(execute): the step loop survives an adversarial review 2026-10-06 20:17:39 +02:00