os-sdlc: behavior-verifier charter's red-gate rule turns a stale gate row into a run-ending error #554
Labels
No labels
P0
P1
P2
P3
bug
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#554
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
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 routeserrorto 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
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.
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
dcbbf93on 2026-09-11; tests/poodr_implementation_map_test.rb gated-inbound-edge assertions; suite 1174 green; ADR-0173Follow-ups: none; #551 (stale gate row) remains open and is unaffected