/trekbrief Phase 3 carried the interview form inline. It now asks for the
new skill voyage:interviewing by name (allowed-tools gains Skill) and keeps
only its own contract: the size class and budget, the three fixed questions
(framing first, class, storage), where each answer lands in the brief, and
the answers that decide nothing. Step 3a and the form points of Step 3c move
into the skill with their credits (Pocock, Osmani, Spec Kit; licences and
line ranges checked at the pinned commits).
Red baseline first (3 helper interviews against a fixed answer sheet,
Opus 5.5): 10-11 questions in round 1 (3 of 3), 15 of 31 without a
recommendation, a hollow answer written in as a decision (2 of 3), unasked
scope as a requirement (2 of 3). With the skill: 4, 0 of 12, 0 of 3, 0 of 3.
Fact questions and stopping did not fail without it.
Also: pointers to voyage:writing-criteria (S3) where criteria are asked and
written, both review skill names (S3 + S4) in the brief-reviewer prompt; the
intent pins that read moved text now read the skill, same assertions; the
Phase 7 line_ref moves with the shorter Phase 3; 7 eval cases (3/2/2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Operator decision 56 (2026-10-17): the product shows English.
- Annotation HTML: the intent buttons, sidebar badges and the copied
prompt read Fix / Change / Question. The stored keys stay
fiks / endre / spørsmål, so annotations saved earlier still load.
- /trekreview project-memory approval: "Add the line" / "Not now".
- README, CLAUDE.md, docs/architecture.md, package.json and plugin.json
describe what the product shows; README's hollow-answer line and the
"anslag" in the profile section are English; a Norwegian code comment
in profile-validator.mjs translated.
The Norwegian hollow-answer list in approval-log.mjs and trekbrief.md
stays: it matches what a user types. Both new tests failed on the code
before the change. Suite 2606 (2604/0/2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Changelog list: v6.0.0 to v6.4.0 replace v5.5.0 to v5.8.0.
- Profile system: custom profiles live in voyage-profiles/ (repo root or
~/.claude), never lib/profiles/ (resolver.mjs findProfilePath); env is
not read on a resume; brief phase_signals come before the profile.
docs/profiles.md had the same wrong path.
- Annotation: the install-section paragraph described the v5.0.2 UX and
linked a dead anchor; the v5.0.3 history note moved to a CHANGELOG pointer.
- Architecture slot replaces "Disable the architect bridge"; the producer
is no longer distributed and any Handover 3 producer fits.
- Stale facts fixed: review severities, seven handovers, session titles for
six commands, the brief's framing field, Upgrading since v6.0.0, the
npm test path, the tree root and docs list, the add-an-agent steps.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Version 6.4.0 in plugin.json, package.json, package-lock.json and the
README badge; the Unreleased CHANGELOG section becomes v6.4.0 with its
title unchanged, and its Doors list (all two-way) unchanged.
Release review over v6.3.1..main (a97efb6..4e28dc5, 82 files, operator
decision 52): WARN, 0 BLOCKER, 4 MAJOR, 6 MINOR, verdict gate exit 0.
Under decision 52 the four MAJOR go to Known issues, no fix round:
ef1633b6 (a dedup merge lets rule A lower a major in the changed text),
38a8ad34 (regression A also reads a mentioned plain path below 1.9),
20b626e2 and c614baad (two fail-closed exit-2 paths in the verdict gate).
Each was reproduced by running the code at HEAD before it was written
here; 38a8ad34 also against v6.3.1.
Between the review and this commit, b794958 (test-only) lets two docs
tests find the section under its release heading; its own quick review
(4e28dc5..b794958) is WARN, 0 BLOCKER, 6 MAJOR, 2 MINOR, all in test
code, verdict gate exit 0.
The session-id entry under Fixed is narrowed to what the suite does: a
test file run on its own still passes the id to a child it starts
without an env (43 such files measured).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Two docs tests located this delivery's CHANGELOG section by the literal
heading `## Unreleased` (one also required it to be the first section).
The release commit renames it to `## v6.4.0 — <date> — <title>`
(docs/release-runbook.md § 1.4), so all 16 content pins failed on the
release commit while the content was the same.
One shared helper, tests/helpers/changelog-section.mjs, now finds the
section by its title under either heading, wherever it stands (a later
delivery's section above it does not move the pins), with a trailing \r or
spaces tolerated, and only when it stands exactly once. Every content
assertion is unchanged; their messages no longer say "Unreleased". New
tests pin the accepted headings and seven near misses (version, date,
title, the literal dot in 1.9), and the helper on a later section, a \r,
a duplicate and a missing section.
Measured: 46/46 pass against main's CHANGELOG and against the release
commit's CHANGELOG; before the change, 16 failed on the release commit.
Three mutants of the helper (a looser date, no escaping, no trim) are
each failed by one test.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Decision 41's rerun is scoped to below plan_version 1.8 in the executor and Handover 4 (as the helper and the exit-2 row already say), the decision-30 sentence names the one exception, and the Fixed and Known-issues slicers share one subsection helper.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Review finding 703d87e1 (BLOCKER); the timeout and hang live in tests/helpers/timing.mjs as CONTROL_RUN.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/simplify over bcf3adb..HEAD. Pass 3's last else could never run (RULE_KEYS is checked first); entryPaths tracks an open entry the way testFirstFileEntries does; wrapLine drops normalisations its callers already made. Tests: one payload builder, one BLOCKER fixture, one unreleasedBody helper, one 1.9-block loop, one plan-unreadable loop, and make_repo in the e2e script. No behaviour change; suite 2515 (2513/0/2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/simplify over ed6699d..HEAD (closing review of the remediation):
- red-proof reads and parses the step once (planStep) for the test list and
tests_only; normTest goes, plan-schema exports normPlanPath, also used by
plan-scope-sweep.
- plan-schema builds LIST_ITEM and the 1.9 File: line from one LIST_MARKER;
the below-1.9 File: regex ends in a lookahead instead of slicing back one.
- the workflow script hoists tripletOf and puts back through dedupByTriplet.
- coordinator-contract keeps the rank in its JSDoc only; engine-findings
drops a redundant String().
- tests: reuse knownIssues, trekplan19Block, step1Fields, one red-proof cli
helper with childEnv, one payload-pair builder; drop a test the decision-20
definition test covers.
No behaviour change. Suite 2462 (2460/0/2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>