merge: main (wave 4 order A) into order B before B goes into main

Conflicts on the union lines only: CHANGELOG Unreleased (both orders'
entries kept), CLAUDE.md (/trekexecute row from A, /trekreview row from
B), tests/fixtures/jsonl-schemas.md (trekplan line_ref from B,
trekexecute line_ref from A). Suite on the merged tree 2682 (2680/0/2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-10-19 18:49:02 +02:00
commit 45eaedc6b4
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
24 changed files with 274 additions and 45 deletions

View file

@ -2087,7 +2087,9 @@ verification failure must not hide a manifest drift.
### End to end — "run the thing" (P9 (6))
Tests passing is not the product working. Copy `end_to_end.status` from the
Tests passing is not the product working. To see and drive the app, use
Claude Code's built-in `run` skill; the verdict is still the `End-to-end:`
command, because `run` gives no exit code. Copy `end_to_end.status` from the
runner's JSON into `end_to_end` — the runner decides it, not this prose:
- `"verified"` — the verification passed and at least one passed criterion

View file

@ -792,17 +792,17 @@ Write the plan following the template structure. The plan MUST include:
(`PLAN_STEP_TESTS_ONLY`).
**The "run the thing" step.** At least one step carries
`End-to-end: \`<command>\` → expected: <what the user sees>`: the product run
the way a user runs it (the CLI, the server and a request, the app; for iOS,
the simulator). Without it the result is "not verified end to end", never
green. The command passes the criteria runner's allowlist — the product's
own binary does not, so the run is wrapped in a script:
`End-to-end: \`<command>\` → expected: <what the user sees>`: the product run the way a
user runs it (the CLI, the server and a request, the app; for iOS, the simulator). Without
it the result is "not verified end to end", never green. To see and drive the app, use
Claude Code's built-in `run` skill; the verdict is still the `End-to-end:` command, because
`run` gives no exit code. The command passes the criteria runner's allowlist — the
product's own binary does not, so the run is wrapped in a script:
`End-to-end: \`bash tests/e2e.sh\``. The same command is also listed under
`## Verification`: Phase 7 of `/trekexecute` runs that section, and a passed
criterion that runs the step's `End-to-end:` command is what verifies the
run end to end. `End-to-end:` rides on the last step that builds behaviour,
with `tests/e2e.sh` in that step's `Files:`: a step of its own that only adds
the script is a step of only tests, and it can never be proven red.
`## Verification`: Phase 7 of `/trekexecute` runs that section, and a passed criterion that
runs the step's `End-to-end:` command is what verifies the run end to end. `End-to-end:`
rides on the last step that builds behaviour, with `tests/e2e.sh` in that step's `Files:`:
a step of its own that only adds the script is a step of only tests, and it can never be proven red.
10. **Execution Strategy** — For plans with > 5 steps: group steps into sessions
(3–5 steps each), organize sessions into waves (parallel where independent),
specify scope fences per session. Omit for plans with ≤ 5 steps.