Commit 6b0a858
feat(cicd_rules): add 3 new rules from audit gap-list (Part 5) (#383)
## Summary
Three rules from the 2026-05-28 Hypatia rules audit ADD-list:
| Rule | Audit ref | Pattern |
|---|---|---|
| `:v_build_in_ci` | §5.2 | `v build`/`v test`/`v run` in CI run-blocks;
same carve-outs as `:vlang_detected` |
| `:npx_in_workflow` | §5.8 | `npx` or `npm run` in workflow run-blocks
(lockfile-free npm-ban evasion) |
| `:http_in_docs` | §5.3 | HTTP URLs in `.md`/`.adoc`/`.rst`/`.txt`
prose; excludes localhost-class, `www.w3.org`, `example.com` |
## Dormancy notice — read before approving
The `pattern:`+`applies_to:` shape in `@blocked_patterns` is currently a
**REGISTRY only**. `check_pattern/2` returns `[]` for regex variants —
only glob-based rules emit findings via `check_commit_blocks/1` today.
The other content-pattern rules (`:innerhtml_usage`, `:eval_in_shell`,
`:download_then_run_shell`, `:hardcoded_tmp`, `:deno_all_perms`) cohabit
the same dormant state.
Landing these definitions now means: (1) policy intent encoded; (2) when
the scanner wiring lands, all cohabiting rules light up together (no
per-rule landing race); (3) audit gap closed at catalogue level.
## Follow-up (separate PR, ~1h)
Wire `check_pattern/2` to scan content for the `%{pattern:,
applies_to:}` shape. Will activate this PR's three rules plus the
existing dormant ones simultaneously.
## Test plan
- [x] Module compiles clean
- [ ] CI green (no new behaviour; rules dormant pending scanner wiring)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent a5c471b commit 6b0a858
1 file changed
Lines changed: 47 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
157 | 157 | | |
158 | 158 | | |
159 | 159 | | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
160 | 171 | | |
161 | 172 | | |
162 | 173 | | |
| |||
244 | 255 | | |
245 | 256 | | |
246 | 257 | | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
247 | 279 | | |
248 | 280 | | |
249 | 281 | | |
| |||
297 | 329 | | |
298 | 330 | | |
299 | 331 | | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
304 | | - | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
305 | 347 | | |
306 | 348 | | |
307 | 349 | | |
| |||
0 commit comments