Skip to content

🐛 fix(audit): sync AUD-S18 CHECK_STAGES pin + narrow coverage-line match - #67

Merged
konih merged 6 commits into
mainfrom
lane/fix-aud-s18-check-stages
Aug 16, 2026
Merged

🐛 fix(audit): sync AUD-S18 CHECK_STAGES pin + narrow coverage-line match#67
konih merged 6 commits into
mainfrom
lane/fix-aud-s18-check-stages

Conversation

@konih

@konih konih commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes two independent bugs in hack/audit/exitgate_test.sh (the AUD-S18 exit gate), both drift from EX-S08 (PR #61) adding dogfood-examples/dogfood-wiring-test stages to Taskfile.yml's check: task without updating this gate:

  1. CHECK_STAGES array 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.
  2. check_coverage_bar's line-matching pattern (index($0,"coverage: ")==1) was catching dogfood-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 against internal/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 the CHECK_STAGES fix — 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 main since EX-S08 merged, invisible to all PR checks (RELSE-08: release-exitgate only runs on push, not PRs) — found and bisected by the EX-S10 Integrator, logged in agent-context/INBOX.md.

Test plan

  • task check green (all 17 stages, incl. changelog-verify)
  • bash hack/audit/exitgate_test.sh run directly end-to-end — reaches AUD-S18 exit gate: PASS with the corrected 17-stage banner
  • Independent review verdict: APPROVE

konih added 6 commits August 16, 2026 15:53
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.
@konih
konih merged commit c39cfbc into main Aug 16, 2026
5 checks passed
@konih
konih deleted the lane/fix-aud-s18-check-stages branch August 16, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant