change-auditor treats an empty first-node diff as unimplemented required work #734

Open
opened 2026-09-25 19:42:07 +00:00 by jared · 0 comments
Owner

Problem

At the first node of poodr-ticket-implementation.yaml the working tree has no diff by design. On 2026-09-25 the change-auditor failed procman #3 (implementation 3, dispatch 17) with five items "R1 to R5 not implemented", each citing the absence of code in the diff, and the Runner escalated. The same agent had passed procman #2 (implementation 1, dispatch 1) in the identical empty state. The agent's own reply confirmed none of the items were ticket defects. The fail cost 529 s and one reopen.
The agent definition says "every required Approach item is in the diff" with no first-node exception.

Reproduce

  1. Open a ticket implementation whose ticket lists five Required work items.
  2. Dispatch change-auditor before any code exists. Observed (sometimes): fail with "Rn not implemented". Expected: pass with the work list; fail only for ticket defects.

Approach

Required work:

  1. The change-auditor agent definition states that an absent implementation is the expected state at its node and is never a fail item; fail criteria are ticket defects only (a Required work item with no acceptance criterion or check, a nonexistent call site, a contradiction, a missing section).
  2. Optionally the Runner rejects a change-auditor fail whose items all cite "not implemented" and re-dispatches once with that framing.

Acceptance criteria

  1. The agent definition names the empty-diff rule.
  2. Running change-auditor on a fresh open of a well-formed ticket passes.

Owner sketch

  • plugins/os-sdlc/agents/change-auditor.md owns the fail criteria.

Origin

  • Trigger: os-sdlc-runner implementation-open ... 3 then change-auditor dispatch 17, procman repo, 2026-09-25
  • Improvised this session: reopened as implementation 4 with the first-node framing inlined in the dispatch prompt
  • Chain: escalation ← auditor fail on "not implemented" ← agent definition requires every Approach item in the diff with no first-node exception ← DESIGN (plugins/os-sdlc/agents/change-auditor.md)
  • Root candidate: this ticket
  • Where: plugins/os-sdlc/agents/change-auditor.md
  • Session: 8dde24ae-74d3-4884-810d-e4c873a6c2ab
  • Transcript: /home/jared/.claude/projects/-home-jared-dev-ruby-gems-procman/8dde24ae-74d3-4884-810d-e4c873a6c2ab.jsonl

VERDICT: CREATE — real observed auditor failure traces to the definition's own text; this ticket names that file directly and is the root fix.

## Problem At the first node of poodr-ticket-implementation.yaml the working tree has no diff by design. On 2026-09-25 the change-auditor failed procman #3 (implementation 3, dispatch 17) with five items "R1 to R5 not implemented", each citing the absence of code in the diff, and the Runner escalated. The same agent had passed procman #2 (implementation 1, dispatch 1) in the identical empty state. The agent's own reply confirmed none of the items were ticket defects. The fail cost 529 s and one reopen. The agent definition says "every required Approach item is in the diff" with no first-node exception. ## Reproduce 1. Open a ticket implementation whose ticket lists five Required work items. 2. Dispatch change-auditor before any code exists. Observed (sometimes): fail with "Rn not implemented". Expected: pass with the work list; fail only for ticket defects. ## Approach Required work: 1. The change-auditor agent definition states that an absent implementation is the expected state at its node and is never a fail item; fail criteria are ticket defects only (a Required work item with no acceptance criterion or check, a nonexistent call site, a contradiction, a missing section). 2. Optionally the Runner rejects a change-auditor fail whose items all cite "not implemented" and re-dispatches once with that framing. ## Acceptance criteria 1. The agent definition names the empty-diff rule. 2. Running change-auditor on a fresh open of a well-formed ticket passes. ## Owner sketch - plugins/os-sdlc/agents/change-auditor.md owns the fail criteria. ## Origin - Trigger: `os-sdlc-runner implementation-open ... 3` then change-auditor dispatch 17, procman repo, 2026-09-25 - Improvised this session: reopened as implementation 4 with the first-node framing inlined in the dispatch prompt - Chain: escalation ← auditor fail on "not implemented" ← agent definition requires every Approach item in the diff with no first-node exception ← DESIGN (plugins/os-sdlc/agents/change-auditor.md) - Root candidate: this ticket - Where: plugins/os-sdlc/agents/change-auditor.md - Session: 8dde24ae-74d3-4884-810d-e4c873a6c2ab - Transcript: /home/jared/.claude/projects/-home-jared-dev-ruby-gems-procman/8dde24ae-74d3-4884-810d-e4c873a6c2ab.jsonl VERDICT: CREATE — real observed auditor failure traces to the definition's own text; this ticket names that file directly and is the root fix.
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#734
No description provided.