Verifier brief carries stale failed gate record instead of dispatch's final green gate run #551
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#551
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 implementation 9 of ticket #528, the behavior-verifier dispatch received a gate block from the brief/aggregate builder that reflected an earlier failed gate run instead of the final green gate run. This occurred in the os-sdlc pipeline.
Observed
Programmer dispatch 141 ran the gate three times. The step_results rows recorded id 157 step "gate" exit 1 at 14:03:17 with output
OsSdlc::HarnessError: os-sdlc: no test file found for plugins/os-sdlc/lib/os_sdlc/runner/gate_step_outcome.rb; tried: plugins/os-sdlc/tests/os_sdlc/runner/gate_step_outcome_test.rb, .... Id 158 step "gate" exit 1 at 14:05:27 repeated the same HarnessError. Then id 159 step "diff-test" exit 0 at 14:05:37 with output38 runs, 59 assertions, 0 failures, 0 errors, 0 skipsand id 160 step "lint" exit 0 at 14:05:37 completed successfully.The Runner recorded dispatch 141 verdict pass and routed to behavior-verifier (dispatch 142). The verifier's brief showed
"gate": {"verdict":"fail", ...}with the HarnessError text. The verifier'sbrieffield wasnull. The verifier refused the red gate per its rules and wroteverdict: error. The subagent-stop then returned{"type":"implementation_failed","reason":"verdict:error"}and closed the implementation. The test fileplugins/os-sdlc/tests/runner/gate_step_outcome_test.rbexisted on disk at the time.Reproduce
Open an implementation with the poodr map on a ticket whose programmer creates a new lib file, runs the gate before the matching test file exists (HarnessError), then adds the test and reruns the gate to green. Dispatch behavior-verifier and inspect its brief: the gate block shows the earlier failed run.
Expected
The verifier brief's gate block reflects the same gate outcome the Runner used to route (the latest complete gate run for that dispatch). A stale HarnessError row must not appear as the current gate verdict. The
brieffield must not benull. The system must select the most recent successful gate result for the dispatch, or handle HarnessError steps specially to ensure they do not pollute the gate verdict in later dispatches.Origin
Skeptic verdict: Complete pipeline run hit real design defect (aggregate/BriefFacts picks stale HarnessError gate row over latest green run), root points at ADR-0168 code with a concrete fix location; no existing mechanism covers HarnessError-vs-verdict selection.
Parent ticket: #528