feat(trekexecute): every MAJOR answered before merge, fixed runs the fix loop

This commit is contained in:
Kjell Tore Guttormsen 2026-11-02 18:44:42 +01:00
commit 9e7e8d1516
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
15 changed files with 376 additions and 30 deletions

View file

@ -66,7 +66,8 @@ do. `scripts/release-check.mjs` refuses a release whose section has no
node lib/review/verdict-gate.mjs <review.md>
```
0 = ALLOW or WARN, 1 = BLOCK, 2 = could not decide. Only 0 goes on.
0 = ALLOW, or WARN with every counting MAJOR answered, 1 = BLOCK, 2 = could
not decide. Only 0 goes on.
4. **The release commit.** It changes only the version and the release notes:
`.claude-plugin/plugin.json`, `package.json`, `package-lock.json` (both
`version` fields), the README version badge, and a new CHANGELOG section
@ -90,6 +91,17 @@ do. `scripts/release-check.mjs` refuses a release whose section has no
Voyage's own artifacts under `.claude/projects/` and `.claude/voyage/`, such
as the review itself and the approval log), and the door type is set. 0 = ready, 1 = not ready (each failure listed), 2 = could
not run — never green.
A review with an unanswered MAJOR reads NOT_READY (exit 1), also one
written before `review_version` 1.2, such as a review written by the
installed 6.5.0 plugin (this delivery's own review included). Answer each
counting MAJOR from this repo before the release check, the `/trekreview`
Phase 8.8 path: list them with
`node lib/review/review-answers.mjs pending --review <review.md> --repo .`,
then record each answer with `node lib/review/review-answers.mjs record`
(the reason on stdin; see its header for the flags). An answer "fixed"
needs its `### Step R<n>` in the review first, and stays open until a later
review round no longer finds the finding.
6. **The operator's yes, logged.** The operator reads the release section and
says yes (an answer like "sounds good" is not a yes). The check prints the
command that logs it (K2):