os-sdlc: behavior-verifier charter's red-gate rule turns a stale gate row into a run-ending error #554

Closed
opened 2026-09-11 14:38:13 +00:00 by jared · 1 comment
Owner

Context

During the #552 run on 2026-09-11 (session 5fdd0aa3), the programmer settled green after iterating its gate, yet the behavior-verifier's brief carried the earlier red gate row. That stale row is ticket #551. The verifier charter forbids accepting a red or unavailable latest gate result and instructs settling with verdict error. The map routes error to implementation_failed with no repair route. One stale row therefore ends the run, and reopening cannot recover: the green code already exists, so the test-writer cannot write a red test and escalates with unexpected_pass.

Observed

Implementation 1 of #552: dispatch 4 (programmer) green; dispatch 6 (behavior-verifier) verdict error, reason "gate_results shows fail"; Runner returned implementation_failed. Implementation 2 escalated at test-writer with unexpected_pass:test-writer/diff-test. The orchestrator finished the ticket by hand under the escalation procedure.

Reproduce

Run any ticket through the poodr map where the programmer needs more than one gate run before green, while #551 is open.

Expected

The map never routes to the verifier off a non-green gate, so the charter's red-gate rule is redundant. Remove it from plugins/os-sdlc/agents/behavior-verifier.md so the verifier judges the tasks and settles pass or fail. Alternative: route verdict:error from behavior-verifier to suite-check for a fresh gate run. The first is smaller.

Tasks

  • Remove the red-gate rejection rule from the behavior-verifier charter.
  • Add a validator or test that asserts the map never routes to behavior-verifier off a non-green gate, so the removed rule stays unnecessary.
  • Refresh the plugin cache.

Origin

Session: 5fdd0aa3-8a9c-4c31-a5b3-d575d8e709ab
Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/5fdd0aa3-8a9c-4c31-a5b3-d575d8e709ab.jsonl
Where: plugins/os-sdlc/agents/behavior-verifier.md; plugins/os-sdlc/maps/poodr-implementation.yaml
Related: #551 (stale gate row in verifier brief). Parent: #552.
Ticket-skeptic: VERDICT: CREATE. REASON: Root cause identified with clear provenance (observed error, distinct file/rule from #551's stale-data ticket); a design flaw in behavior-verifier's charter, not an artifact of improvisation.

## Context During the #552 run on 2026-09-11 (session 5fdd0aa3), the programmer settled green after iterating its gate, yet the behavior-verifier's brief carried the earlier red gate row. That stale row is ticket #551. The verifier charter forbids accepting a red or unavailable latest gate result and instructs settling with verdict `error`. The map routes `error` to implementation_failed with no repair route. One stale row therefore ends the run, and reopening cannot recover: the green code already exists, so the test-writer cannot write a red test and escalates with unexpected_pass. ## Observed Implementation 1 of #552: dispatch 4 (programmer) green; dispatch 6 (behavior-verifier) verdict error, reason "gate_results shows fail"; Runner returned implementation_failed. Implementation 2 escalated at test-writer with unexpected_pass:test-writer/diff-test. The orchestrator finished the ticket by hand under the escalation procedure. ## Reproduce Run any ticket through the poodr map where the programmer needs more than one gate run before green, while #551 is open. ## Expected The map never routes to the verifier off a non-green gate, so the charter's red-gate rule is redundant. Remove it from plugins/os-sdlc/agents/behavior-verifier.md so the verifier judges the tasks and settles pass or fail. Alternative: route verdict:error from behavior-verifier to suite-check for a fresh gate run. The first is smaller. ## Tasks - [ ] Remove the red-gate rejection rule from the behavior-verifier charter. - [ ] Add a validator or test that asserts the map never routes to behavior-verifier off a non-green gate, so the removed rule stays unnecessary. - [ ] Refresh the plugin cache. ## Origin Session: 5fdd0aa3-8a9c-4c31-a5b3-d575d8e709ab Transcript: /home/jared/.claude/projects/-home-jared-dev-cc-os/5fdd0aa3-8a9c-4c31-a5b3-d575d8e709ab.jsonl Where: plugins/os-sdlc/agents/behavior-verifier.md; plugins/os-sdlc/maps/poodr-implementation.yaml Related: #551 (stale gate row in verifier brief). Parent: #552. Ticket-skeptic: VERDICT: CREATE. REASON: Root cause identified with clear provenance (observed error, distinct file/rule from #551's stale-data ticket); a design flaw in behavior-verifier's charter, not an artifact of improvisation.
Author
Owner

Resolution

Done: Red-gate rule and the 'gates are not green' error clause removed from the behavior-verifier charter as part of the #555 reshape; map test asserts behavior-verifier is reached only from pass edges of gated nodes

Evidence: main dcbbf93 on 2026-09-11; tests/poodr_implementation_map_test.rb gated-inbound-edge assertions; suite 1174 green; ADR-0173

Follow-ups: none; #551 (stale gate row) remains open and is unaffected

## Resolution **Done:** Red-gate rule and the 'gates are not green' error clause removed from the behavior-verifier charter as part of the #555 reshape; map test asserts behavior-verifier is reached only from pass edges of gated nodes **Evidence:** main dcbbf93 on 2026-09-11; tests/poodr_implementation_map_test.rb gated-inbound-edge assertions; suite 1174 green; ADR-0173 **Follow-ups:** none; #551 (stale gate row) remains open and is unaffected
jared closed this issue 2026-09-11 15:09:34 +00:00
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#554
No description provided.