voyage/tests/commands
Kjell Tore Guttormsen 920fbd3c47
feat(trekexecute): couple the executor to the review gate, the plan approval and the step checks
Wave 2, order 6. /trekexecute now:
- refuses a plan whose logged approval does not cover its current sha256
  (K2, approval-log verify --kind plan), before step 1;
- runs the step check (K9) and the step's optional Regression: (K10, new
  lib/verification/regression-check.mjs through the criteria runner) at step
  end, before the checkpoint; exit 2 is "not measured", never green;
- runs the architecture rules (K5) and the plan-file sweep (K6) after the last
  step; a violation or a file outside the plan turns completed into partial;
- reviews by itself in the closing run (Phase 7.2): run the thing, /simplify,
  /trekreview, verdict-gate; a BLOCK adds the review's remediation steps after
  the plan validator accepts them and the operator re-approves the plan, capped
  at TREKEXECUTE_MAX_REVIEW_ROUNDS (3);
- makes the main-merge gate a lock on the verdict: BLOCK or undecided keeps
  the merge closed; when open, the executor merges and the guard's question is
  the one question (operator decision 2026-10-08). The --gates pause before
  the wave merge-back is gone for the same reason.

The guard refuses a merge into main and a push in the permission mode that
shows no prompts, since no one can be asked (operator decision 2026-10-09; two
mode-read exemptions approved by the operator).

progress.json gains optional coupling fields (Handover 5); the validator
rejects the runner's exitCode in plan_verification.failed_criteria (C15).
Pointer lines name the skills test-first and debugging (S2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:22:00 +02:00
..
trekbrief.test.mjs feat(trekbrief): add fable tier option to Phase 3.5 loop 2026-07-02 17:02:56 +02:00
trekcontinue.test.mjs feat(voyage)!: bulk content rewrite ultra -> voyage/trek prose [skip-docs] 2026-05-05 15:08:20 +02:00
trekendsession.test.mjs fix(trekendsession): release v5.9.1 - eager-exec blocks crashed command load 2026-07-03 01:11:02 +02:00
trekexecute-coupling.test.mjs feat(trekexecute): couple the executor to the review gate, the plan approval and the step checks 2026-10-09 19:22:00 +02:00
trekexecute-parallel-portability.test.mjs fix(trekexecute): assign PLAN_PATH inside the Check 2 block, keep both blocks ASCII 2026-09-01 00:11:19 +02:00
trekexecute-progress-schema.test.mjs feat(execute): one fresh helper per step, a controller on the diff, proof by command 2026-10-06 19:58:18 +02:00
trekexecute.test.mjs feat(execute): one fresh helper per step, a controller on the diff, proof by command 2026-10-06 19:58:18 +02:00
trekplan.test.mjs refactor(voyage): S31 — V15 trim plan-export to headless-only (decompose alias) 2026-06-20 09:23:21 +02:00
trekresearch-engine.test.mjs test(trekresearch): pin deep-research adapter output contract 2026-06-30 13:38:09 +02:00
trekresearch.test.mjs fix(research-loop-cap): resolve the data root in code so the loop can run 2026-08-12 22:26:46 +02:00
trekreview.test.mjs feat(voyage): S11 — NW2 part B, integrate opt-in --workflow flag 2026-06-18 17:22:09 +02:00