poodr-ticket-implementation has no route for a test-only correction after contract-auditor #1298

Open
opened 2026-10-23 22:22:56 +00:00 by jared · 4 comments
Owner

Problem

When the contract-auditor finds the production design sound but a changed public message has no pinning test, it cannot route a fix: refactorer edits only production code and test-writer is behind it in the map. The auditor returns verdict error and the Runner marks the implementation failed, so the orchestrator must hand-finish green work.

Observed

Finance implementation 4 (ticket jared/finance#30), dispatch 55, contract-auditor handoff:

GAP: There is no unit test of the ClaudeCli argv for tools: [:Read] or of the chdir pass-through. A test change is necessary. This is the reason for the error verdict.
CORRECTION: NONE (no production-only refactoring is required. The open defect needs a test.)

Runner payload: type implementation_failed, reason verdict:error, after 7 passing dispatches.

Reproduce

n/a: needs a ticket whose programmer change widens a public message that the red round did not pin.

Approach

Give contract-auditor a fail verdict that routes one bounded test-writer round for test-only corrections (the auditor names the message and the missing assertion), instead of the error verdict.

Required work: none beyond the acceptance criteria.

Acceptance criteria

  1. Given a contract-auditor finding that needs only a test change, when it returns, then the Runner dispatches test-writer with that finding and the run continues instead of failing.

Discoverer: /home/jared/projects/finance, session f6b97de2-a65d-4ecf-9dd4-848bc0302154, 2026-10-23. Hand-finished per the escalation procedure; tests added, merged as finance 2f6516c.

## Problem When the contract-auditor finds the production design sound but a changed public message has no pinning test, it cannot route a fix: refactorer edits only production code and test-writer is behind it in the map. The auditor returns verdict error and the Runner marks the implementation failed, so the orchestrator must hand-finish green work. ## Observed Finance implementation 4 (ticket jared/finance#30), dispatch 55, contract-auditor handoff: ``` GAP: There is no unit test of the ClaudeCli argv for tools: [:Read] or of the chdir pass-through. A test change is necessary. This is the reason for the error verdict. CORRECTION: NONE (no production-only refactoring is required. The open defect needs a test.) ``` Runner payload: type implementation_failed, reason verdict:error, after 7 passing dispatches. ## Reproduce n/a: needs a ticket whose programmer change widens a public message that the red round did not pin. ## Approach Give contract-auditor a fail verdict that routes one bounded test-writer round for test-only corrections (the auditor names the message and the missing assertion), instead of the error verdict. Required work: none beyond the acceptance criteria. ## Acceptance criteria 1. Given a contract-auditor finding that needs only a test change, when it returns, then the Runner dispatches test-writer with that finding and the run continues instead of failing. -------- **Discoverer:** /home/jared/projects/finance, session f6b97de2-a65d-4ecf-9dd4-848bc0302154, 2026-10-23. Hand-finished per the escalation procedure; tests added, merged as finance 2f6516c.
Author
Owner

Occurrence: Give contract-auditor a route for a defect that needs a test
Seen: plugins/os-sdlc/agents/contract-auditor.md
Run: implementation 228 (#1542), dispatch 2090, session 914a3148-8417-4934-9c2d-748527da22e6
Adds: a mixed test and production defect (no test for the real Handoff::Backlog) also ends a green run with verdict:error; the run was hand-finished.

Occurrence: Give contract-auditor a route for a defect that needs a test Seen: plugins/os-sdlc/agents/contract-auditor.md Run: implementation 228 (#1542), dispatch 2090, session 914a3148-8417-4934-9c2d-748527da22e6 Adds: a mixed test and production defect (no test for the real Handoff::Backlog) also ends a green run with verdict:error; the run was hand-finished.
Author
Owner

Occurrence: Give contract-auditor a verdict for mixed test and production corrections
Seen: plugins/os-sdlc agents contract-auditor, poodr-ticket-implementation map
Run: implementation 247 (#1615), dispatch 2368, session 9d8c2e15-00c1-4dec-b177-e749fa05ec67
Adds: The mixed case. The handoff held two production CORRECTION items and three test gaps, so the auditor returned verdict error after the suite gate passed, and the Runner ended the run as implementation_failed.

Occurrence: Give contract-auditor a verdict for mixed test and production corrections Seen: plugins/os-sdlc agents contract-auditor, poodr-ticket-implementation map Run: implementation 247 (#1615), dispatch 2368, session 9d8c2e15-00c1-4dec-b177-e749fa05ec67 Adds: The mixed case. The handoff held two production CORRECTION items and three test gaps, so the auditor returned verdict error after the suite gate passed, and the Runner ended the run as implementation_failed.
Author
Owner

Occurrence: Give contract-auditor a verdict for mixed test and production corrections
Seen: plugins/os-sdlc/agents contract-auditor, poodr-ticket-implementation map
Run: implementation 253 (#1617), dispatch 2407, session 9d8c2e15-00c1-4dec-b177-e749fa05ec67
Adds: Second run in one session. The suite gate had passed. The handoff held three production corrections and one shared-role test gap, with verdict error, so the Runner ended the run as implementation_failed and the green work needs a hand-finish.

Occurrence: Give contract-auditor a verdict for mixed test and production corrections Seen: plugins/os-sdlc/agents contract-auditor, poodr-ticket-implementation map Run: implementation 253 (#1617), dispatch 2407, session 9d8c2e15-00c1-4dec-b177-e749fa05ec67 Adds: Second run in one session. The suite gate had passed. The handoff held three production corrections and one shared-role test gap, with verdict error, so the Runner ended the run as implementation_failed and the green work needs a hand-finish.
Author
Owner

Occurrence: test-reviewer verdict:error ended run 257 after a reroute entered at test-reviewer
Seen: plugins/os-sdlc reroute to the test-reviewer node; red_tests held only {reroute: []}
Run: implementation 257, dispatch 2493, ticket #1621, session 9d8c2e15-00c1-4dec-b177-e749fa05ec67
Adds: A reroute into test-reviewer carries no test-gate result, so the reviewer cannot judge and its error closes the run. map-router accepted that entry node. A second cause preceded it: criteria that state preserved behavior produce green tests, and the all-new-tests-red rule has no waiver, so test-writer and test-reviewer looped until the bound (four fails). Committing the pins first works around this.

Occurrence: test-reviewer `verdict:error` ended run 257 after a reroute entered at test-reviewer Seen: plugins/os-sdlc reroute to the test-reviewer node; `red_tests` held only `{reroute: []}` Run: implementation 257, dispatch 2493, ticket #1621, session 9d8c2e15-00c1-4dec-b177-e749fa05ec67 Adds: A reroute into test-reviewer carries no test-gate result, so the reviewer cannot judge and its `error` closes the run. map-router accepted that entry node. A second cause preceded it: criteria that state preserved behavior produce green tests, and the all-new-tests-red rule has no waiver, so test-writer and test-reviewer looped until the bound (four fails). Committing the pins first works around this.
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#1298
No description provided.