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:
parent
e351e7c29d
commit
8a2a989f79
18 changed files with 284 additions and 71 deletions
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue