voyage/commands
Kjell Tore Guttormsen f79c5f6606 fix(spawn): forbid the Agent tool's name parameter at every voyage spawn site
akashic-intelligence lost /trekplan Phase 9 twice to reviewer agents that
never returned. Reproduced here and measured: the cause is the Agent tool's
`name` parameter, not the agent definitions.

Passing `name` does not label a subagent - it changes its kind. The spawn is
recorded as taskKind "in_process_teammate" (spawnDepth 0) instead of a real
subagent (spawnDepth 1). A teammate's final assistant text is not a return
value; it reaches the parent only if the teammate itself calls
SendMessage(to: "main"). plan-critic and scope-guardian declare
tools: [Read, Glob, Grep] - no SendMessage - so as teammates they are
structurally incapable of returning, whatever the prompt says.

Denominators: named 0/5 returned; named + explicit SendMessage 1/1; unnamed
3/3 (plan-critic and scope-guardian each returned full findings + the JSON
block in ~110s). Model override 2/2 non-returning, so the override is not
the variable. All 5 named agents produced correct final text in their
transcripts - only delivery failed, and that output is recoverable on disk.

The defect is a harness behaviour, so it is documented rather than silently
worked around: docs/agent-return-channel-defect.md carries the mechanism,
every denominator, the two broken queries that nearly became facts, the
unmeasured cells, and a recommended working shape for consumers (use agents,
drop `name`; do not fall back to inline review, which costs the dedup step).

Prevention is pinned, TDD red->green: the four spawning commands each state
the rule and name the mechanism, and doc-consistency derives the spawning set
from the command files so the pin cannot go vacuous.

Suite 1013 (1011/0/2), +5 from baseline 1008.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014MfB5Ecp8vvGyou8uFGxBV
2026-08-17 22:10:11 +02:00
..
trekbrief.md fix(spawn): forbid the Agent tool's name parameter at every voyage spawn site 2026-08-17 22:10:11 +02:00
trekcontinue.md feat(commands): drop orchestrator model pins - inherit session model 2026-07-02 17:09:49 +02:00
trekendsession.md fix(trekendsession): release v5.9.1 - eager-exec blocks crashed command load 2026-07-03 01:11:02 +02:00
trekexecute.md feat(commands): drop orchestrator model pins - inherit session model 2026-07-02 17:09:49 +02:00
trekplan.md fix(spawn): forbid the Agent tool's name parameter at every voyage spawn site 2026-08-17 22:10:11 +02:00
trekresearch.md fix(spawn): forbid the Agent tool's name parameter at every voyage spawn site 2026-08-17 22:10:11 +02:00
trekreview.md fix(spawn): forbid the Agent tool's name parameter at every voyage spawn site 2026-08-17 22:10:11 +02:00