os-sdlc: green-assert harness-errors when suite errors lack a parseable location #278
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#278
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
Ticket-276 run: green-assert exited 3 ('no parseable failing file location') even though the suite output contains two real errors (TransitionTableIntegrityTest, KeyError 'ac-lint', with full backtraces). Suspect the interleaved Ruby 4 frozen-string-literal warnings and/or error-vs-failure format break the parser, so a legitimately red suite becomes a harness error and stalls the pipeline instead of routing a fix round.
Spec (verified still-present 2026-08-06; ready-for-agent):
Root cause:
lib/os_sdlc/green_assert_failure_sidecar.rbparses failing locations withFAILURE_LOCATION = /\[([^\]:]+\.rb):\d+\]/(line 11). That bracketed[file.rb:NN]form only appears in minitest Failure blocks. Error blocks carry the location in backtrace lines (path/file.rb:12:in 'method') with no brackets, so an errors-only red suite yields no match ->HarnessError-> exit 3 ("no parseable failing file location") and the pipeline stalls instead of routing a fix round.Seam:
GreenAssertFailureSidecar#failing_path/#failure_classinlib/os_sdlc/green_assert_failure_sidecar.rb; tests intests/green_assert_failure_sidecar_test.rb(all current fixtures use only the Failure bracket format).Tasks (TDD, red-green):
_test.rb), returning that path.Acceptance criteria:
failing_pathto the failing test file; no HarnessError.ruby tests/all.rbfrom plugins/os-sdlc.Frozen in the 2026-08-16 backlog reset — see #419 for the expiry procedure. Do not work unless a live run rediscovers this issue.