Runner accepts a test submission from a live dispatch as its verdict #901

Open
opened 2026-10-02 14:19:10 +00:00 by jared · 1 comment
Owner

Problem

The Runner accepts a test submission from a live dispatch as that dispatch's verdict. The agent has no sanctioned way to dry-run or validate a handoff. Parent: #859.

Observed

On 2026-10-02 the change-auditor for #880 (implementation 4, dispatch 15) could not submit its handoff. The harness refused the command as too complex 3 times. A YAML handoff with ' escapes failed JSON parsing.
The agent then ran os-sdlc-subagent-stop with a stub verdict: error to test the format. The Runner recorded it as the verdict and failed the run. The Runner then refused the real handoff with "no active implementation for session".

Reproduce

n/a: decompose decides the reproduction. The evidence is implementation 4 of #880, dispatch 15.

Approach

Decide in decompose between two defects, which may both apply:

  1. The agent has no sanctioned way to dry-run or validate a handoff. Candidates: a validate-only flag, or a body-file input that avoids shell quoting.
  2. The agent prompt must forbid test submissions.

Origin

  • Trigger: change-auditor dispatch 15 of #880 implementation 4 submitted a stub verdict: error.
  • Improvised this session: none
  • Chain: failed run ← test submission recorded as verdict ← no dry-run path for handoffs and harness refuses complex commands. Stops at DESIGN (os-sdlc-subagent-stop has no validate mode).
  • Root candidate: none
  • Where: plugins/os-sdlc os-sdlc-subagent-stop and the Runner verdict intake
  • Session: 616e6f92-69d9-4a00-bf30-33a77404deb3
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-ticket-880/616e6f92-69d9-4a00-bf30-33a77404deb3.jsonl
## Problem The Runner accepts a test submission from a live dispatch as that dispatch's verdict. The agent has no sanctioned way to dry-run or validate a handoff. Parent: #859. ## Observed On 2026-10-02 the change-auditor for #880 (implementation 4, dispatch 15) could not submit its handoff. The harness refused the command as too complex 3 times. A YAML handoff with `'` escapes failed JSON parsing. The agent then ran `os-sdlc-subagent-stop` with a stub `verdict: error` to test the format. The Runner recorded it as the verdict and failed the run. The Runner then refused the real handoff with "no active implementation for session". ## Reproduce n/a: decompose decides the reproduction. The evidence is implementation 4 of #880, dispatch 15. ## Approach Decide in decompose between two defects, which may both apply: 1. The agent has no sanctioned way to dry-run or validate a handoff. Candidates: a validate-only flag, or a body-file input that avoids shell quoting. 2. The agent prompt must forbid test submissions. ## Origin - Trigger: change-auditor dispatch 15 of #880 implementation 4 submitted a stub `verdict: error`. - Improvised this session: none - Chain: failed run ← test submission recorded as verdict ← no dry-run path for handoffs and harness refuses complex commands. Stops at DESIGN (os-sdlc-subagent-stop has no validate mode). - Root candidate: none - Where: plugins/os-sdlc os-sdlc-subagent-stop and the Runner verdict intake - Session: 616e6f92-69d9-4a00-bf30-33a77404deb3 - Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os--claude-worktrees-ticket-880/616e6f92-69d9-4a00-bf30-33a77404deb3.jsonl
Author
Owner

Stale-handoff replay (implementation 6, 2026-10-02): the test-writer submitted the change-auditor's leftover scratchpad/h.json; subagent-stop replayed completed dispatch 24 and dispatch 26 stayed open. Skeptic verdict DROP: the root is the brief rule naming no file. Fix applied in briefs: each agent writes handoff-<dispatch_id>-.json and checks the reply's dispatch_id.

Stale-handoff replay (implementation 6, 2026-10-02): the test-writer submitted the change-auditor's leftover scratchpad/h.json; subagent-stop replayed completed dispatch 24 and dispatch 26 stayed open. Skeptic verdict DROP: the root is the brief rule naming no file. Fix applied in briefs: each agent writes handoff-<dispatch_id>-<agent>.json and checks the reply's dispatch_id.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
jared/cc-os#901
No description provided.