Pipeline cannot converge when a red suite-check needs a test-side edit #544
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
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
rule-proposal
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#544
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 #535 implementation (os-sdlc test-path resolution), the suite-check gate went red because a pre-existing test encoded the old contract the ticket was replacing. The os-sdlc map has no route for "the failing test itself must change", so the repair loop routed to programmer-repair, which cannot edit test files.
Observed
The test
OsSdlc::Runner::GateCommandsTest#test_lint_present_and_test_lint_nil_for_a_production_only_difffailed because it asserted the old return-a-missing-path behavior. The map routed suite-check/fail → programmer-repair, which lacks test-editing authority. Three repair rounds burned the bound; the run endedbound_exhausted:suite-check/fail. The fix took one test-fixture edit by hand.Reproduce
n/a: This is a map-routing design gap, not reproducible without a full pipeline run whose suite failure stems from a test file outside the ticket's authored scope.
Expected
When suite-check/fail occurs in a test file the ticket did not author, the pipeline should route the failure to a test-repair node (or test-writer), with the failing test named; or the escalate verdict should report "test-side conflict" so a human decides in one turn instead of three.
Illustration
Origin
Skeptic verdict: VERDICT: CREATE — Origin chain resolves to a root candidate (this ticket, ADR-0160 map-contents design) with observed pipeline failure (bound_exhausted on #535) and a hand improvisation only as the workaround, not the cause — genuine map-routing gap, not speculative.
Resolution
Done: Mechanism: a test-side red is routed to programmer-repair, which cannot edit tests. Occurrences: #665 "os-sdlc map: route a red diff-test caused by a test-file change to a role that may edit tests"; #709 "poodr-ticket-implementation map: a red diff-test caused by a test-file defect after the green phase has no route to test-writer".
Evidence: #665 adds ticket #641 impl 18 (Required work named a test-file conversion, two repair rounds changed nothing; asks for an ADR-level map edge). #709 adds #632 impl 35 (refactorer gate red from the test-writer's process-global stubs under parallelize_me!; three programmer-repair rounds 382-384, then bound_exhausted); it also asks for a programmer to declare 'test defect' to short-circuit the loop.
Follow-ups: Ruling on 544 should cover the post-green refactorer case and a test-defect declaration, per #709
Occurrence: Route a suite failure in a new test back to test-writer
Seen: poodr-ticket-implementation map, suite-check edge to programmer-repair
Run: implementation 246 (#1614), dispatches 2351 and 2352, session 9d8c2e15-00c1-4dec-b177-e749fa05ec67
Adds: A suite-wide guard case. UseCaseTagCoverageTest failed on a new test file. The test-writer gate runs only the new tests, so it did not see the guard, and the programmer escalated.