voyage/agents
Kjell Tore Guttormsen b4edc12bec fix(voyage): S23 — make /trekplan Phase 9 dedup executable (defect #1)
Phase 9's dedup hand-off was broken on two layers, both surfaced by the S22
dogfood: (a) plan-critic + scope-guardian (Read/Glob/Grep, no Write) were told
to write /tmp/*-out.json the dedup helper reads — they cannot; (b) even with
Write, their Output format emits markdown, not the helper's
{agent,findings:[{file,line,rule_key,text}]} schema. readJsonOrNull then
swallowed the absent files -> a silent empty merge that discarded every finding.

Fix (operator-chosen A'): keep the reviewers read-only; make the hand-off run.
- plan-review-dedup.mjs gains a --stdin mode reading {plan_critic,scope_guardian};
  malformed stdin exits non-zero so a broken hand-off surfaces loudly instead of
  collapsing into a silent empty merge. File mode + its tests are untouched.
- plan-critic.md + scope-guardian.md now emit a trailing machine-readable `json`
  findings block (the inline hand-off; no Write tool needed).
- trekplan.md + planning-orchestrator.md Phase 9 rewritten in lockstep: extract
  both blocks, pipe via heredoc into --stdin. No temp files, portable, no
  pathguard dependency.

TDD: malformed-stdin test failed first (CLI ignored stdin -> exit 0 = the bug),
green after impl. New S23 doc-pin asserts both docs use --stdin (not the dead
/tmp paths) and both agents declare the json block. Suite 724 (722/2/0); live
HEAD baseline was 720, not the stale 705 STATE carried forward.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LqBYc8Ltrk7LipyJmGxXiB
2026-06-19 21:12:36 +02:00
..
architecture-mapper.md feat(voyage): W2 impl (S4) — gate resolver model, adopt native effort:, doc-truth 2026-06-18 12:27:07 +02:00
brief-conformance-reviewer.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
brief-reviewer.md feat(voyage): S18 — framing-hardening (min-version gate + memory status + pre-2.2 doc + flagship hedge) 2026-06-19 13:33:00 +02:00
code-correctness-reviewer.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
community-researcher.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
contrarian-researcher.md feat(voyage): W2 impl (S4) — gate resolver model, adopt native effort:, doc-truth 2026-06-18 12:27:07 +02:00
convention-scanner.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
dependency-tracer.md feat(voyage): W2 impl (S4) — gate resolver model, adopt native effort:, doc-truth 2026-06-18 12:27:07 +02:00
docs-researcher.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
gemini-bridge.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
git-historian.md feat(voyage): W2 impl (S4) — gate resolver model, adopt native effort:, doc-truth 2026-06-18 12:27:07 +02:00
plan-critic.md fix(voyage): S23 — make /trekplan Phase 9 dedup executable (defect #1) 2026-06-19 21:12:36 +02:00
planning-orchestrator.md fix(voyage): S23 — make /trekplan Phase 9 dedup executable (defect #1) 2026-06-19 21:12:36 +02:00
research-orchestrator.md docs(voyage): S20-fix — correct stale "Use Sonnet for all sub-agents" in 3 orchestrator docs 2026-06-19 14:27:03 +02:00
research-scout.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
review-coordinator.md feat(voyage): W2 impl (S4) — gate resolver model, adopt native effort:, doc-truth 2026-06-18 12:27:07 +02:00
review-orchestrator.md docs(voyage): S20-fix — correct stale "Use Sonnet for all sub-agents" in 3 orchestrator docs 2026-06-19 14:27:03 +02:00
risk-assessor.md feat(voyage): W2 impl (S4) — gate resolver model, adopt native effort:, doc-truth 2026-06-18 12:27:07 +02:00
scope-guardian.md fix(voyage): S23 — make /trekplan Phase 9 dedup executable (defect #1) 2026-06-19 21:12:36 +02:00
security-researcher.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
session-decomposer.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00
synthesis-agent.md feat(voyage): S12 — NW3 synthesis-agent built + measured → declined per measurement [skip-docs] 2026-06-18 17:58:39 +02:00
task-finder.md feat(voyage): W2 impl (S4) — gate resolver model, adopt native effort:, doc-truth 2026-06-18 12:27:07 +02:00
test-strategist.md chore(voyage): pin all sub-agents to Opus permanently (operator request) 2026-05-13 20:20:08 +02:00