fix(siblings): the texts found next to round 4.5a's fixes say what the code does

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-10-24 20:41:53 +02:00
commit 8a2a989f79
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
18 changed files with 284 additions and 71 deletions

View file

@ -54,13 +54,11 @@ Parse `$ARGUMENTS`:
false, and nothing else reads the state. On exit 1 or no JSON (a broken
shim; the four values cannot cause it), print the error in one line and
map in prose instead: bare, `true`, `closed` → true; `false`, `open` →
false. The run goes on either way. `gates_mode = true` re-enables
approval pauses at every phase boundary in the downstream pipeline
(research, plan). Default `gates_mode = false`
means auto mode runs continuously until the main-merge gate (which is
the one boundary that ALWAYS pauses, regardless of `gates_mode`). Strip
the flag (and its value, when it has one) from `$ARGUMENTS` before
further parsing.
false. The run goes on either way. `gates_mode = true` adds one pause,
before the auto chain starts (Phase 5); the chain does not pass
`--gates` on to `/trekresearch` or `/trekplan`. Default
`gates_mode = false` skips that pause. Strip the flag (and its value,
when it has one) from `$ARGUMENTS` before further parsing.
4. `--approve <project-dir | brief-file>`: set **mode = approve**. No
interview, no drafting. Set `APPROVE_ARG` to the argument and resolve it:
@ -1014,13 +1012,13 @@ Then:
/trekexecute --project {PROJECT_DIR}
```
Stop. Do not continue to Phase 6.
Run Phase 7 (`auto_result: manual`), then stop. Do not continue to Phase 6.
### Auto path
**Auto requires an approved intent.** If Phase 4h ended "Leave unapproved",
the auto chain would halt at `/trekplan` anyway — print the manual-path
output instead and stop.
output instead, run Phase 7 (`auto_result: manual`) and stop.
Set `auto_research: true` in the brief's frontmatter (edit the file).
@ -1029,12 +1027,12 @@ stamp — on both paths — so it is not emitted again here.
If `gates_mode == true`: pause here via `AskUserQuestion` —
"Auto-mode confirmed. Proceed to research now? (yes/no)". If the user
answers no, fall back to the manual path output and stop. Otherwise
proceed to Phase 6.
answers no, fall back to the manual path output, run Phase 7
(`auto_result: cancelled`) and stop. Otherwise proceed to Phase 6.
If `gates_mode == false` (default in auto): proceed directly to Phase 6.
The chain stops only at the main-merge gate (see `commands/trekexecute.md`
Phase 8).
The chain ends when `/trekplan` has written the plan (Step 6e); it never
starts `/trekexecute`.
Proceed to Phase 6.
@ -1056,7 +1054,8 @@ Continue?"
| **Continue — auto** | Proceed. |
| **Cancel — do manual** | Revert to manual path (print commands, stop). |
If cancelled → fall back to manual path output and stop.
If cancelled → fall back to manual path output, run Phase 7
(`auto_result: cancelled`) and stop.
### Step 6b — Run research topics sequentially (inline)
@ -1093,7 +1092,8 @@ ls -1 {PROJECT_DIR}/research/*.md | wc -l
```
Expected count: N. If any are missing, report and ask the user how to
proceed (retry, skip missing topic, cancel).
proceed (retry, skip missing topic, cancel). On cancel, run Phase 7
(`auto_result: cancelled`) and stop.
Update brief frontmatter: `research_status: complete`.
@ -1107,7 +1107,8 @@ Invoke the planning command inline in this session:
The planning pipeline runs all phases (exploration, synthesis, review) in
main context. Wait for the plan to be written to `{PROJECT_DIR}/plan.md`
before continuing.
before continuing. If `/trekplan` stops before it writes the plan, report
where it stopped, run Phase 7 (`auto_result: failed`) and stop.
### Step 6e — Report completion

View file

@ -86,8 +86,8 @@ Parse `$ARGUMENTS` for mode flags:
shim; the four values cannot cause it), print the error in one line and
map in prose instead: bare, `true`, `closed` → true; `false`, `open` →
false. The run goes on either way. Default `gates_mode = false`.
`/trekexecute` records `gates_mode`; no phase of it pauses on it. The one
stop is the merge into main, which always asks (Phase 8).
`gates_mode` changes nothing in `/trekexecute`: no phase of it pauses on
it. The one stop is the merge into main, which always asks (Phase 8).
It no longer adds a question of the executor's own before a merge. The
wave merge-back (Phase 2.6 Step 3) and the merge into main (Phase 8) are
asked by the guard, which asks before every merge into main and every push,
@ -126,7 +126,7 @@ Modes:
--step N Execute only step N (foreground)
--session N Execute only session N from the plan's Execution Strategy
--profile Profile for this run's resolver; the step helper and the controller stay on opus
--gates Record gates_mode: bare, true or closed = on; false or open = off
--gates Accepted, pauses on nothing: bare, true or closed = on; false or open = off
Examples:
/trekexecute .claude/plans/trekplan-2026-04-06-auth-refactor.md
@ -465,7 +465,7 @@ Determine how to execute this plan:
- `--step N` mode
- `--resume` mode
- `--session N` mode (runs only that session's steps, foreground)
- `phase_signal_result.effort == 'low'` → one session, steps in order — never while a wave is in flight (`WAVE_IN_FLIGHT`)
- `phase_signal_result.effort == 'low'` → one session, steps in order, unless a wave is in flight: when `.claude/trekplan-sessions/{slug}/orders/wave.json` exists in the main checkout (the first entry of `git worktree list`), this bullet does not apply and the multi-session path below collects the wave. The check only reads the file and never stops the run.
- Plan has no `## Execution Strategy` section
- Plan has Execution Strategy with only 1 session
@ -616,9 +616,8 @@ These sessions cannot safely run in parallel.
Fix the Execution Strategy in the plan, or use --fg for sequential execution.
```
Stop execution. This is a defense-in-depth check — /trekplan's validator
should have prevented this, but verifying at execution time catches plans
that were manually edited or have bugs.
Stop execution. This check runs at execution time, so it also catches a plan
that was edited by hand after planning.
### Check 4 — Stale worktree cleanup
@ -2450,10 +2449,11 @@ Record in progress file:
>
> **Commands:** Phase 7.5 step 3's `git rev-list --count`, step 5's `bash -n`,
> step 6's `git diff --name-only` and step 7's `done-line.mjs --check`; the
> criteria runner behind clauses 2 and 4; clause 5's `arch-rules.mjs` and
> `plan-scope-sweep.mjs`. **Executor judgement:** steps 1, 2 and 4, the expected
> count in step 3, and clause 3's formula. A script for the judgement parts is
> part c of the hardening.
> criteria runner behind clauses 2 and 4 for a trekplan (a session spec's
> clause 2 is Phase 7's `## Exit Condition` checklist, and clause 4 is a
> trekplan's only); clause 5's `arch-rules.mjs` and `plan-scope-sweep.mjs`.
> **Executor judgement:** steps 1, 2 and 4, the expected count in step 3, and
> clause 3's formula. The judgement parts are not yet a script.
>
> The review verdict (Phase 7.2) is decided after this gate, by the lock in
> Phase 8: in the closing run, a closed lock or a declined merge turns

View file

@ -325,9 +325,9 @@ Determine the output directory from the plan slug:
Launch the **session-decomposer** agent:
Pass `model: {phase_signal_result.model}` at this spawn; without it (the
`--brief` branch, where the resolver does not run, or a resolver that printed
nothing) the agent's own `model:` applies.
Phase 1 runs the model resolver only for `--project`, so `--decompose` has no
resolved model: this spawn passes no `model:`, and the agent's own `model:`
applies.
```
Plan file: {plan path}
@ -1201,9 +1201,11 @@ plan-approval prompt:
plan back.
3. **Approved:** the session leaves plan mode. Copy the plan file to the plan
destination from Phase 3, then run the gate on the destination — it must
exit 0 again, which also proves the copy is the reviewed text. Then
print the `/trekexecute` line (Phase 11) and stop — leaving plan mode is
not an order to implement.
exit 0 again, which also proves the copy is the reviewed text. Then go
through Phase 11 (its plan approval, then the `/trekexecute` line) and
stop — leaving plan mode is not an order to implement. Phase 11 asks again
because the plan-mode approval is logged under Claude Code's plan file, and
`/trekexecute` checks the copy at the plan destination.
4. **"No, keep planning":** revise per the operator's words, run one Phase 9
round, and present again from step 1.

View file

@ -510,8 +510,12 @@ The coordinator runs the 4-pass process documented in
Succinctness never removes a finding: only MINOR/SUGGESTION text is
trimmed, and every trim is counted. A long BLOCKER or MAJOR keeps every
character.
3. **Cloudflare reasonableness** — remove speculative or catalogue-violating
findings (skipped in `quick` mode).
3. **Cloudflare reasonableness** (skipped in `quick` mode) — drop a finding
with no `file:line` citation (`no-citation`) or whose file is in neither
the working tree nor the diff (`file-existence:refuted`); route one whose
`rule_key` is not in `RULE_CATALOGUE` (`unknown-rule_key`) or whose file
cannot be checked (`file-existence:indeterminate`) to `unverified`, which
forbids `ALLOW`; reset a severity that does not match its catalogue tier.
4. **Verdict** — BLOCK / WARN / ALLOW per the threshold table.
**Fail-closed.** Every removal in Pass 2 and Pass 3 is either