docs(changelog): cleanup R-a, unreleased, with its doors line

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-11-07 13:35:55 +01:00
commit fb937ee306
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q

View file

@ -20,6 +20,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
stale approval before the edit; with it, 0, 0, 0, 0 and 3 of 3. Six eval cases
`evals/skill-annotating-*`, written, not run.
- **Living docs name only paths that exist** (cleanup R-a, decision 201). `tests/lib/living-paths.test.mjs` reads every tracked `.md` under `agents/`, `commands/`, `skills/`, `templates/` and `docs/` and the root README, CLAUDE.md, CONTRIBUTING.md and SECURITY.md, and fails on a backticked plugin path, a `${CLAUDE_PLUGIN_ROOT}/` path or a relative link that names a missing file. Seen red with 22 dead pointers before the removal below; named exceptions (target-repo examples, files R-b removes) carry a reason, and a stale one fails.
**Review gate, 4.5b2 part B (decisions 93-105, 128-134)**
Part B makes a WARN open the merge lock and the release check only when the operator has answered every counting MAJOR, and gives `review.md` the fields for it (`review_version` 1.2). Each behaviour has a test seen failing first at the part's red base `96fba75` (`tests/fix-round-4-5b2-b-red.sh` proves it).
@ -54,6 +56,8 @@ Part B makes a WARN open the merge lock and the release check only when the oper
says a Question is answered and Fix and Change notes revise the file.
- **`/trekendsession` is operator-only, and the planning and research spawn sites follow the profile.** The model can no longer start `/trekendsession` (`disable-model-invocation: true`). With `--project`, where the resolver runs, `/trekplan` and `/trekresearch` pass the resolved model at their spawn sites, so the `economy` profile gives Sonnet helpers unless the brief's phase signal for that phase names a model; without a resolved model the agent's own `model:` applies (opus for Claude Code's built-in agents), and `/trekexecute`'s step helper and controller stay on opus.
- **`~` and `$HOME` in the arguments of `/trekendsession`, `/trekcontinue` and `/trekreview` are no longer expanded** (ARG, fix round 4.5b). The arguments reach the arg parser as text on stdin, not as shell words, so nothing in them is expanded: write the path out (`~/x` stays the three characters `~/x`).
- **The autonomy gate is the `--gates` flag parser** (cleanup R-a, R9). `lib/util/autonomy-gate.mjs` keeps only `gatesValue` and `parseGatesArgs`: `--gates [value]` prints `{"ok":true,"gates":true|false}`, a bad value a usage error (exit 1). The state machine (`STATES`, `EVENTS`, `transition`), which no command used, is gone; the four commands call the parser with the flag only.
- **The live tests left the round files** (cleanup R-a, R8). The tests of live behaviour in the `retterunde*`, `trial*`, `fix-round-4-5a-prose` and `fix-round-4-5b2-b-prose` files moved into the test file named after the source they test, each seen failing under a mutation of that source; the round files, the eight round end-to-end scripts and `tests/synthetic/plan-run-C.md` (now `tests/fixtures/plan-run-c.md`) are gone. `timing-under-load.test.mjs` is `timing.test.mjs`; `lib-imports.test.mjs` holds the import checks. The suite goes from 3336 to 2927 tests: duplicates and the tests of removed files left with them.
### Fixed
@ -209,8 +213,21 @@ Fix round 4.5a (decisions 57, 67 and 68): the round's 30 findings, where a Voyag
- **The texts next to the fixes say the same** (siblings found during the round): `/trekreview`, the review reference and the Arm B coordinator prompt no longer drop a finding whose rule key is unknown; `/trekbrief` writes its stats record on every exit of its manual and auto paths, says that `--gates` adds one pause before its auto chain, and that the chain ends at the plan; `/trekexecute` says `--gates` changes nothing there, checks the wave marker before a low-effort single session, and names no validator check that does not exist; plan mode goes through the plan approval before it prints the `/trekexecute` line; the commands read only the two-token `--gates <value>` form, and `--gates=true` is the gates shim's own form (`lib/util/autonomy-gate.mjs`), which it reads as `--gates true`.
### Removed
**Cleanup R-a (decisions 188, 200-208).** What existed only for history or had no user, removed before the new design (187); git history keeps all of it.
- **The June trials and their docs** (R4): the balance charter and analysis, the T1 synthesis and T2 bakeoff and workflow-substrate results, the devil's-advocate plan and results, the narrow-wins, balance-backlog, token-trim and brief-assessment docs, the S22 dogfood, the 2.1.181 decision matrix, the delegation audit, the eval-corpus README, `MIGRATION.md` and `verify.sh` (`npm run verify` with it).
- **The three orchestrator reference docs and the dormant `synthesis-agent`** (R4, R5): `agents/` holds 20 agents, all spawnable. Why orchestration runs in the session is now one sentence in `docs/architecture.md`, and why every agent is pinned `opus` is in `docs/profiles.md` §Model & effort axes.
- **Code with no caller** (R6): `lib/parsers/project-discovery.mjs`, `lib/parsers/bash-normalize.mjs`, `lib/plan/synthesis-digest-schema.mjs`, `lib/review/fidelity-diff.mjs`, `lib/util/test-census.mjs`, `lib/validators/next-session-prompt-validator.mjs` (`/trekcontinue` Phase 1.5 now uses the project folder's prompt file and names a root one as ignored), the bakeoff scripts, `templates/spec-template.md`, the root `settings.json` and `examples/01-add-verbose-flag/`.
- **Arm B and `--workflow`** (R6, X10): `scripts/trekreview-armB.workflow.mjs` and the `/trekreview --workflow` flag; the standard path is the only review path.
- **The fix-round chain** (R7): the round red scripts, regression scripts, mutation files and round prose and script tests. `tests/helpers/red-round.sh`, `red-judge.mjs` and `red-mutate.mjs` stay (K2), as do the 4.5b2 part A corpus and end-to-end script.
### Known issues
- **Some files wait for R-b** (cleanup R-a, decision 205). `docs/T1-cc26-delegated-orchestration.md` and `lib/review/gold-scorer.mjs` with its test stay: `scripts/end-state-registry.json`, whose hash is frozen, names them (D-06 probes the scorer). `scripts/synthesis-measure.mjs` and its test stay for R-b's measurement tooling (R1), although their default paths name the removed synthesis fixtures and results doc. `tests/fixtures/bakeoff-rich/` stays for V3 (decision 202); its README still describes the removed bakeoff harness as current.
- **Part A's end-to-end script no longer runs** (cleanup R-a). `tests/e2e-fix-round-4-5b2-a.sh` stays, but its callers were the removed round scripts, and `npm test` runs only `*.test.mjs`; it is listed for an upgrade (A1).
- **The path check has blind spots** (cleanup R-a). `tests/lib/living-paths.test.mjs` skips a line with an `@<sha>` or `MIT` on it or on the two lines above, so a live path next to a credit is not checked, and it reads a backticked span only when the whole span is a path, so `lib/x.mjs --flag` is not checked unless it carries `${CLAUDE_PLUGIN_ROOT}/`.
- **A plan's `profile:` field has no writer.** README, `docs/`, `/trekexecute` and `/trekcontinue` say a plan carries or passes on a profile, but no command writes `profile:` to a plan; the plan validator's `MANIFEST_PROFILE_DRIFT` check reads it, and `resolveTrekcontinueProfile` has no caller outside its tests. Left whole for a later hardening part, which chooses between writing the field and taking the promises out.
- **Splices and dropped `--x=` options outside fix round 4.5b** (decision 82). The commands' bash blocks still splice `{placeholder}` values into shell lines outside the four places the round closed (the Phase 0 parser lines of `/trekendsession`, `/trekcontinue` and `/trekreview`, and `/trekendsession` Phase 3), for example `"{brief_path}"` in `/trekplan` and the unquoted `{project_dir}` in `/trekendsession` Phase 4; and the release check, the lessons apply (`lib/review/recurrence.mjs`), the next-session validator and the park tool still drop an unknown `--x=` option without a word. One open finding, for fix round 4.5c or 4.5d.
- **Two 4.5b findings moved to fix round 4.5c.** M12 (`lib/review/reviewed-commit.mjs` makes four git calls per path per commit; at most two paths per commit reach that loop) goes with 4.5c's single `git cat-file --batch` read, and Dc (the trekcontinue `line_ref` row in `tests/fixtures/jsonl-schemas.md`) with 4.5c's change of `line_ref` to a heading anchor.
@ -273,6 +290,7 @@ Fix round 4.5a (decisions 57, 67 and 68): the round's 30 findings, where a Voyag
- two-way: fix round 4.5b2 part A (decision 91, decision 107, decision 123) — a revert restores part 4's whole-command escape limits, the exact-word check for a split delimiter, the string and body skips of a split opener and the unchecked twice-escaped operator; the corpus, the end-to-end script, the keep-assertion test and the corrected test header go with it.
- two-way: review gate 4.5b2 part B — `review_version` 1.2 and the answered-MAJOR merge lock (decisions 93-105, 128); a revert restores the 1.1 gate, 1.2 files still read under the old validator (unknown keys tolerated), and K2 `review` records keep the record shape.
- two-way: fix round 4.5b2 part C (decisions 135, 137) — a revert restores part B's behaviour.
- two-way: cleanup R-a (decisions 188, 200-208) — revert its commits; the removed files come back from git, and no format, flag value or record shape changed except the `/trekreview --workflow` flag and the autonomy gate's `--state`/`--event` arguments, which no shipped command used.
## v6.5.0 — 2026-10-18 — Three skills for brief, criteria and review, English labels, and three trial-5 fixes