fix(plan): every exploration agent runs; the brief is reviewed again only when it changed

voyage-lekerepo trial (2026-10-06) point 14, operator decision 2026-10-08
(«alle agenter, ny briefsjekk bare ved endring»):

- trekplan: the "Adaptive" hard rule (a 10-file project does not need 7
  agents) contradicted Phase 5 ("All agents run for all codebase sizes");
  it is gone, in line with quality before cost.
- brief-review-stamp.mjs: /trekbrief stamps the brief body when its
  brief-reviewer gate passes; /trekplan Phase 4b skips its own review only
  while the stamp is current. Stale (edited) or absent (another producer,
  or a gate that did not pass) reviews as before. Additive optional
  frontmatter fields, documented in Handover 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-10-08 07:01:44 +02:00
commit 1b5218e8f4
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
6 changed files with 231 additions and 4 deletions

View file

@ -715,7 +715,13 @@ stumble.)
1. Move `brief.md.draft` → `brief.md` (atomic rename).
2. Delete the draft file if rename is not possible on the OS; write
`brief.md` fresh.
3. Break the loop and proceed to Step 4g.
3. Stamp the reviewed body, so `/trekplan` does not run the same review on
the same text again (operator decision 2026-10-08):
`node ${CLAUDE_PLUGIN_ROOT}/lib/validators/brief-review-stamp.mjs --stamp "{PROJECT_DIR}/brief.md"`.
Any later edit to the body makes the stamp stale and `/trekplan` reviews
again. Exit 1 (not stamped) is said in one line; it only means the review
runs twice. Only a passed gate is stamped.
4. Break the loop and proceed to Step 4g.
**If gate fails AND iteration count < the class cap:**
1. Identify the weakest dimension (lowest score; tie broken by priority:

View file

@ -429,6 +429,19 @@ Codebase: {N} source files ({scale}). Deploying exploration agents.
## Phase 4b — Brief review
First check whether `/trekbrief` already reviewed exactly this text:
```bash
node ${CLAUDE_PLUGIN_ROOT}/lib/validators/brief-review-stamp.mjs --check "{brief_path}"
```
Exit 0 (`current`): the body is unchanged since `/trekbrief`'s brief-reviewer
gate passed. Skip the review, say so in one line ("Brief review: skipped —
unchanged since /trekbrief's review"), and continue to Phase 5. Exit 1
(`stale`: edited after that review; `absent`: no stamp — a gate that did not
pass, or a brief from another producer) or 2 (could not run): review it as
below (operator decision 2026-10-08).
Launch the **brief-reviewer** agent:
Prompt: "Review this task brief for quality: {brief_path}. Check completeness,
consistency, testability, scope clarity, and research-plan validity."
@ -1264,7 +1277,5 @@ Standard and low effort: do NOT emit the section at all.
- **Honesty**: If exploration reveals the task is trivial (single file, obvious
change), say so. Do not inflate the plan to justify the process. Suggest
the user just implements it directly.
- **Adaptive**: Never spawn more agents than the codebase warrants. A 10-file
project does not need 7 exploration agents. Scale down.
- **Research transparency**: Always distinguish codebase-derived decisions from
research-derived decisions in the plan.