chore(release): 6.2.0 — intent, plan gate, step helpers, guards and a review that is a gate
Wave 1 (five orders, merged 2026-10-06), the fixes from the two end-to-end trials in the test repo, and the defects an independent reader found in them. Plan 1.7, brief 2.0-2.2 and review 1.0 files stay valid; the new fields are optional. Suite 1972 (1970 pass, 0 fail, 2 skipped). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
b0d96a2d53
commit
4ee711a6ac
5 changed files with 112 additions and 5 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"name": "voyage",
|
"name": "voyage",
|
||||||
"description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline. /trekbrief, /trekplan, and /trekreview each end by building a self-contained operator-annotation HTML (scripts/annotate.mjs, pencil-toggle annotation pattern): select text or click any element, pick intent (Fiks/Endre/Spørsmål), write comment, copy structured prompt, paste back, Claude revises the .md.",
|
"description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline. /trekbrief, /trekplan, and /trekreview each end by building a self-contained operator-annotation HTML (scripts/annotate.mjs, pencil-toggle annotation pattern): select text or click any element, pick intent (Fiks/Endre/Spørsmål), write comment, copy structured prompt, paste back, Claude revises the .md.",
|
||||||
"version": "6.1.1",
|
"version": "6.2.0",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Kjell Tore Guttormsen"
|
"name": "Kjell Tore Guttormsen"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
107
CHANGELOG.md
107
CHANGELOG.md
|
|
@ -4,6 +4,113 @@ All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||||
|
|
||||||
|
## v6.2.0 — 2026-10-08 — Intent, plan gate, step helpers, guards and a review that is a gate
|
||||||
|
|
||||||
|
Wave 1 of the practice build (five parallel orders, merged 2026-10-06), the
|
||||||
|
fixes from two end-to-end trials in a separate test repo, and the defects an
|
||||||
|
independent reader found in those fixes. Every fix began with a test that
|
||||||
|
failed on the old code. Suite 1972 (1970 pass, 0 fail, 2 skipped).
|
||||||
|
|
||||||
|
Nothing that was valid becomes invalid: plan 1.7, brief 2.0–2.2 and review 1.0
|
||||||
|
files still validate. The new fields are optional, and the new rules apply only
|
||||||
|
from plan 1.8 and review 1.1.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- **Intent (`/trekbrief`).** A size class
|
||||||
|
(`ceremony: small|bounded|architectural`; absent = `architectural`) sets the
|
||||||
|
question budget, and the brief asks one round of questions with the
|
||||||
|
recommendation first. "høres bra ut", "gjør som du vil" and an empty answer
|
||||||
|
are not approval. `lib/util/approval-log.mjs` keeps an append-only,
|
||||||
|
hash-chained approval log in the target repo, bound to the approved
|
||||||
|
content's sha256. `lib/util/artifact-commit.mjs` commits it.
|
||||||
|
`/trekplan` Phase 1 halts on a broken, missing or mismatched entry.
|
||||||
|
- **Plan 1.8 and the plan gate (`/trekplan`).**
|
||||||
|
- Plan 1.8 requires `Test first:` on every step and one `End-to-end:` step.
|
||||||
|
New optional fields: `Interface in:`, `Interface out:`, `Review focus:`.
|
||||||
|
- An architectural plan gets a `## Design` part.
|
||||||
|
- The critic loop has at most 3 rounds, and the plan records them.
|
||||||
|
`lib/validators/plan-gate.mjs` decides: 0 go, 1 stop, 2 could not run.
|
||||||
|
An open MAJOR stops the plan, and after the last round the operator
|
||||||
|
decides.
|
||||||
|
- `plan-critic` now checks 12 dimensions.
|
||||||
|
- New `lib/verification/arch-rules.mjs` runs the target repo's own
|
||||||
|
dependency-cruiser or import-linter.
|
||||||
|
- New `lib/verification/plan-scope-sweep.mjs` lists changed files that no
|
||||||
|
step names.
|
||||||
|
- **Step helpers and proof by command (`/trekexecute`).**
|
||||||
|
- One fresh `step-implementer` helper per plan step (new agent: opus, effort
|
||||||
|
high, no Agent tool).
|
||||||
|
- One controller reads the diff and gives two verdicts: does the step meet
|
||||||
|
the plan, and does it hold the quality.
|
||||||
|
- Fix rounds go up, at most 5: helper, then plan, then operator.
|
||||||
|
- New `lib/verification/red-proof.mjs`: the step's test must fail at the
|
||||||
|
start point and pass at the result.
|
||||||
|
- New `lib/verification/test-integrity.mjs` (the floor guard) catches
|
||||||
|
removed asserts, skipped tests, stubs and loosened thresholds.
|
||||||
|
- New `lib/verification/done-line.mjs` writes the done line only when the
|
||||||
|
test command exits 0.
|
||||||
|
- A closed stop list and a decision log appear in the final report.
|
||||||
|
- **Guards** (command hooks only, none runs a model).
|
||||||
|
- `pre-bash-executor` answers "ask" before a merge into main, a push, a
|
||||||
|
tag or publish, and destructive git. `post-approval-log` records the
|
||||||
|
answer.
|
||||||
|
- `pre-plan-gate` runs the plan gate when a Voyage plan leaves plan mode.
|
||||||
|
- The test lock (`lib/util/test-lock.mjs`, `pre-write-executor`,
|
||||||
|
`stop-test-lock`) refuses edits to a locked test file, and refuses "done"
|
||||||
|
until the step's own test command is seen green.
|
||||||
|
- `post-edit-check` runs the target repo's own formatter or linter. It runs
|
||||||
|
only during a Voyage plan run or after opt-in.
|
||||||
|
- New `lib/verification/step-check.mjs` checks each step when it ends.
|
||||||
|
- **The review is a gate (`/trekreview`, review 1.1).**
|
||||||
|
- `verdict: ALLOW | WARN | BLOCK` is required.
|
||||||
|
`lib/review/verdict-gate.mjs` reads it: 0 ALLOW/WARN, 1 BLOCK, 2 could not
|
||||||
|
decide (never green). A control that did not run gives exit 2.
|
||||||
|
- Claude Code's `/code-review` and `/security-review` run as the engine.
|
||||||
|
Their findings enter through `lib/review/engine-findings.mjs` under three
|
||||||
|
rule keys. `CODE_REVIEW_IMPROVEMENT` (MINOR) covers simplification,
|
||||||
|
efficiency, reuse, style and readability. The rule catalogue now has 15
|
||||||
|
keys.
|
||||||
|
- No finding is struck for length. Only MINOR and SUGGESTION text is
|
||||||
|
trimmed, and the trims are counted.
|
||||||
|
- The coordinator lists what it declined to judge.
|
||||||
|
- Every BLOCKER becomes a numbered remediation step.
|
||||||
|
- A finding class seen in two reviews is proposed as a project-memory line
|
||||||
|
(`lib/review/recurrence.mjs`). The operator approves each line.
|
||||||
|
- **Checks when a brief or plan is written.** A success criterion or Verify
|
||||||
|
line that the criteria runner could never run is caught when the brief or
|
||||||
|
plan is written, not when the review runs. The brief validator warns
|
||||||
|
(`BRIEF_SC_NOT_RUNNABLE`, `BRIEF_SC_SUBPOINTS`, `BRIEF_SC_BASH_NOT_PINNED`).
|
||||||
|
For a 1.8 plan, the plan validator reports `PLAN_VERIFICATION_NOT_RUNNABLE`,
|
||||||
|
`PLAN_STEP_VERIFY_NOT_RUNNABLE`, `PLAN_END_TO_END_NOT_RUNNABLE` and
|
||||||
|
`PLAN_END_TO_END_NOT_VERIFIED`: as errors under `--strict`, otherwise as
|
||||||
|
warnings.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- The write guard covers `Edit` and `NotebookEdit`, not only `Write`, and
|
||||||
|
fails closed.
|
||||||
|
- The review keeps findings that are right:
|
||||||
|
- an engine finding is never set aside for Actionability;
|
||||||
|
- `recommended_action` is the engine's own fix, or otherwise a test-first
|
||||||
|
step, never the failure scenario;
|
||||||
|
- a cited line past the end of a file is caught;
|
||||||
|
- finding ids are computed, not typed by a model.
|
||||||
|
- A MINOR `/code-review` finding outside the reviewed range no longer holds
|
||||||
|
ALLOW back. A MAJOR one still does.
|
||||||
|
- The plan template's checkpoint stages the step's files
|
||||||
|
(`git add … && git commit`). The pre-compact hook reads that form.
|
||||||
|
- The brief template's examples are commands the runner accepts.
|
||||||
|
`/trekcontinue` and `/trekexecute` call `lib/` through the plugin root.
|
||||||
|
- Manifest `must_contain` uses `grep -E -e … --`, so a pattern such as
|
||||||
|
`--sep` is not read as an option.
|
||||||
|
- `/trekreview`, `/trekresearch` and `/trekcontinue` write stats through
|
||||||
|
`stats-append` and report a failed write.
|
||||||
|
- `annotate` prints an absolute path.
|
||||||
|
- A test lock marked green may stop while it waits for its controller.
|
||||||
|
- `/trekplan` runs every exploration agent, and reviews the brief again only
|
||||||
|
when it has changed since `/trekbrief` reviewed it.
|
||||||
|
|
||||||
## v6.1.1 — 2026-10-05 — /trekexecute writes what it promises
|
## v6.1.1 — 2026-10-05 — /trekexecute writes what it promises
|
||||||
|
|
||||||
A patch release. `/trekexecute` no longer loses its telemetry when the harness
|
A patch release. `/trekexecute` no longer loses its telemetry when the harness
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
Contract-driven Claude Code pipeline: brief, research, plan, execute, review. Agent swarms, research triangulation, adversarial review, multi-session resumption.
|
Contract-driven Claude Code pipeline: brief, research, plan, execute, review. Agent swarms, research triangulation, adversarial review, multi-session resumption.
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
|
|
|
||||||
4
package-lock.json
generated
4
package-lock.json
generated
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "voyage",
|
"name": "voyage",
|
||||||
"version": "6.1.1",
|
"version": "6.2.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "voyage",
|
"name": "voyage",
|
||||||
"version": "6.1.1",
|
"version": "6.2.0",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=18"
|
"node": ">=18"
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "voyage",
|
"name": "voyage",
|
||||||
"version": "6.1.1",
|
"version": "6.2.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline. /trekbrief, /trekplan, and /trekreview each end by building a self-contained operator-annotation HTML (scripts/annotate.mjs, pencil-toggle annotation pattern): select text or click any heading/paragraph/list-item, pick intent (Fiks/Endre/Spørsmål), write comment, copy structured prompt, paste back, Claude revises the .md.",
|
"description": "Voyage — brief, research, plan, execute, review, continue. Contract-driven Claude Code pipeline. /trekbrief, /trekplan, and /trekreview each end by building a self-contained operator-annotation HTML (scripts/annotate.mjs, pencil-toggle annotation pattern): select text or click any heading/paragraph/list-item, pick intent (Fiks/Endre/Spørsmål), write comment, copy structured prompt, paste back, Claude revises the .md.",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue