test(gate): count the fail headings in output, not the format string in source #429
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!429
Loading…
Reference in a new issue
No description provided.
Delete branch "qa/pin-the-fail-heading-count"
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?
The duplicate print from #407 is fixed, and the surviving line is the
failedReply(reply, result)one — the right choice, since it degrades throughresult.Contentto(the model returned no content)rather than printing a blank line under afailheading.TestAFailingCasePrintsOneBlockNotTwopins it by counting the format string inevaluation.go. That catches the duplicate that happened. It misses one spelled differently — and a differently spelled duplicate is exactly how the first one arrived.The two prints that landed were not identical:
Different arguments, different intent, two authors. They shared a format string only by chance, and the existing guard rests entirely on that chance.
Verified rather than argued
"%s: fail\n%s\n"— one newline fewerWith the second mutation in place and only the source count guarding it, the suite is green while a single failing case prints its block twice. That is the original defect, back, undetected.
Both tests stay
The source count names the mechanism and is instant. This one drives
RunEvaluationand counts headings in the actual output, so it holds whatever the second print is spelled like. Neither subsumes the other.Test-only. No production change.
Refs #407