🐛 fix(audit): sync AUD-S18 CHECK_STAGES pin + narrow coverage-line match - #67
Merged
Conversation
EX-S08 (PR #61) added dogfood-examples and dogfood-wiring-test to Taskfile.yml's check: task, bringing it to 17 stages, but the AUD-S18 exit gate's CHECK_STAGES array still pinned only 15 — silently reddening hack/audit/exitgate_test.sh on every push to main since befce0f (the release-exitgate job only runs on push, so no PR ever saw it). Add the two missing stages in Taskfile order.
…r-pack coverage lines
EX-S08's dogfood-examples stage echoes "coverage: OK — N rule(s), every
rule tested in both polarities" once per example pack — three lines on
main today — and check_coverage_bar's `coverage: ` prefix match at
column 1 counted them alongside the real D-010 aggregate echo, so a
real task check transcript now has 4 matches where the check expects
exactly 1. This bug was masked by the CHECK_STAGES stage-count drift
(check_check_wiring failed and aborted the script first) and only
surfaced once that was fixed. Anchor the match on a digit immediately
after "coverage: " — only the gate's own
`echo "coverage: ${pct}% (required: ...)"` (Taskfile.yml coverage:)
starts that way; the dogfood-examples lines start with "OK". Adds a
permanent regression control mirroring the existing per-package-line
control.
Reviewer P2 cosmetic note from the CHECK_STAGES-sync review: the gate's own
PASS banner and four comments still said '15' after EX-S08 grew task check
to 17 stages. Interpolates ${#CHECK_STAGES[@]} where the surrounding code
already does, and drops the stale count from prose comments where it adds
no grading value. No behavioral change — CHECK_STAGES itself was already
fixed to 17 entries by the prior two commits on this lane.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes two independent bugs in
hack/audit/exitgate_test.sh(the AUD-S18 exit gate), both drift from EX-S08 (PR #61) addingdogfood-examples/dogfood-wiring-teststages toTaskfile.yml'scheck:task without updating this gate:CHECK_STAGESarray was stale at 15 entries vs. the real 17 — added the two missing stages in correct Taskfile order, verified as a complete 1:1 match by both implementer and reviewer independently.check_coverage_bar's line-matching pattern (index($0,"coverage: ")==1) was catchingdogfood-examples's new per-pack coverage echo lines (coverage: OK — N rule(s)...) as false matches alongside the real D-010 gate line (coverage: 91.1%) — narrowed to/^coverage: [0-9]/since only the real gate line starts with a digit, verified againstinternal/adoptertest/coverage.go's actual output format for both its OK/FAIL branches, and mutation-tested to confirm the narrower pattern still correctly reddens on genuinely low coverage (not silently made permanently vacuous).Also fixes the reviewer's non-blocking P2 cosmetic note: five stale hardcoded
"15"references (the gate's own PASS-banner section header plus four prose comments) that survived theCHECK_STAGESfix — interpolated${#CHECK_STAGES[@]}where the surrounding code already does, and dropped the stale count from comments where it added no grading value. No behavioral change.This closes a real red condition that has been present on every push to
mainsince EX-S08 merged, invisible to all PR checks (RELSE-08:release-exitgateonly runs onpush, not PRs) — found and bisected by the EX-S10 Integrator, logged inagent-context/INBOX.md.Test plan
task checkgreen (all 17 stages, incl.changelog-verify)bash hack/audit/exitgate_test.shrun directly end-to-end — reachesAUD-S18 exit gate: PASSwith the corrected 17-stage banner