Commit 60751ef
ci(governance): replace inert Hypatia baseline with .hypatia-ignore (#43)
#42's .hypatia-baseline.json did not suppress anything. `hypatia scan`
only lists the baseline FILE in ScannerSuppression's @universal_excludes
(so the file itself is not scanned for secrets) — it never applies the
baseline to filter findings. That post-filter (standards' apply-baseline.sh)
is run by neither the advisory scan nor the governance "Validate Hypatia
Baseline" gate, so adding the baseline only activated that gate (which then
counted all 13 tokenless findings and failed) without silencing the two
"critical" false-positive secret detections.
Replace it with .hypatia-ignore — the mechanism hypatia scan actually
honours (Hypatia.ScannerSuppression.suppressed?, consulted by both the
code_safety path and the secret-detection path in cli.ex). Scoped per
rule_module/rule_type to the seven reviewed file-based false positives
(two test-fixture "secrets", three escaped-markup innerHTML sinks, the
loopback HTTP URL, the syscall @bitcast), each with a rationale comment.
Effect: the false positives (both criticals included) are suppressed in
every hypatia scan, clearing the advisory "Action Required" banner; and
removing the baseline returns "Validate Hypatia Baseline" to skipped
(green). Matching verified against the scanner source by re-implementing
parse_user_exemptions + match_exemptions? over the actual file: all seven
match, with negative controls correctly left un-suppressed.
Claude-Session: https://claude.ai/code/session_01LvsZgNxFbeqfRmrVFNhJ8G
Co-authored-by: Claude <noreply@anthropic.com>1 parent 11d33d6 commit 60751ef
2 files changed
Lines changed: 39 additions & 51 deletions
This file was deleted.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
0 commit comments