Summary
Today the pipeline runs spec → plan → impl in one unbroken chain: the spec agent posts, then immediately dispatches planner, which immediately dispatches implementer. For sparse or ambiguous issue bodies, that chain compounds interpretation errors and burns a full round-trip (spec → plan → impl → review kickback) before the human can course-correct. The spec is also where misinterpretation is cheapest to fix — one comment, ~30 seconds of human attention.
Seen in the verkyyi/agentfolio#105 dogfood run: the spec was fine, so the auto-chain worked. But on ambiguous issues, a single-stage checkpoint would let the human adjust before planner/impl tokens are spent.
Proposal
Introduce a state:spec-approved label as the real handoff into planner, controlled by an opt-in:
- Default (with human checkpoint): spec agent posts spec, adds
state:spec-needs-approval, and stops. Human either (a) edits the spec inline in the comment and adds state:spec-approved → a new spec-approval-handler workflow dispatches planner, or (b) comments /agent-team go.
- Opt-out (today's behavior): if the issue carries an
agent-team:auto label when the spec agent finishes, skip the checkpoint and dispatch planner directly.
Acceptance
Summary
Today the pipeline runs spec → plan → impl in one unbroken chain: the spec agent posts, then immediately dispatches planner, which immediately dispatches implementer. For sparse or ambiguous issue bodies, that chain compounds interpretation errors and burns a full round-trip (spec → plan → impl → review kickback) before the human can course-correct. The spec is also where misinterpretation is cheapest to fix — one comment, ~30 seconds of human attention.
Seen in the
verkyyi/agentfolio#105dogfood run: the spec was fine, so the auto-chain worked. But on ambiguous issues, a single-stage checkpoint would let the human adjust before planner/impl tokens are spent.Proposal
Introduce a
state:spec-approvedlabel as the real handoff into planner, controlled by an opt-in:state:spec-needs-approval, and stops. Human either (a) edits the spec inline in the comment and addsstate:spec-approved→ a newspec-approval-handlerworkflow dispatches planner, or (b) comments/agent-team go.agent-team:autolabel when the spec agent finishes, skip the checkpoint and dispatch planner directly.Acceptance
catalog/agent-team/spec-agent.mdposts spec +state:spec-needs-approvallabel whenagent-team:autois absent, and skips direct dispatch.catalog/agent-team/spec-approval-handler.md(triggered bylabeled: state:spec-approved) dispatches planner.catalog/agent-team/README.mddocuments both flows and when to prefer each.