Skip to content

fix: P16.1 file-existence + JS DSGAI20 coverage (audit M4/L5) - #52

Merged
emmanuelgjr merged 1 commit into
mainfrom
fix/audit-coverage
Jul 18, 2026
Merged

fix: P16.1 file-existence + JS DSGAI20 coverage (audit M4/L5)#52
emmanuelgjr merged 1 commit into
mainfrom
fix/audit-coverage

Conversation

@emmanuelgjr

Copy link
Copy Markdown
Contributor
  • M4 (dead rule): P16.1 was a filename-existence check the CLI never implemented (content-grep only), so DSGAI16 PASS was unreachable. Added a match: file_exists mode — presence of a matching file is the signal. P16.1 now fires on an .aiignore fixture → DSGAI16 = PASS. Schema, regen tool, and Semgrep export (excludes file_exists rules) updated.
  • L5 (JS coverage FN): DSGAI20 rules now scan *.js/*.ts, so the unauthenticated JS /chat endpoint is caught as P20.5 FAIL. Removed the stale known_false_negative.

Answer sheet 32 → 36; regen --check passes; schema-valid; 24 tests pass.

…udit M4/L5)

- M4: P16.1 was a dead rule — a filename-existence check the CLI never
  implemented (content-grep only), so DSGAI16 PASS was unreachable. Add a
  'match: file_exists' rule mode: the presence of a matching file IS the signal.
  P16.1 now fires on an .aiignore fixture -> DSGAI16 = PASS. Schema, regen tool,
  and Semgrep export (which excludes file_exists rules) all updated.
- L5: DSGAI20 rules now scan *.js/*.ts, so the unauthenticated JS /chat endpoint
  (fixture js-service) is caught as P20.5 FAIL. Removed the stale
  known_false_negative that was wrongly tagged fixed_in: PR-15.

Answer sheet 32 -> 36 (P16.1 + 2x P16.2 + P20.5 js); regen --check passes; rules
schema-valid; 24 tests pass.
@emmanuelgjr
emmanuelgjr merged commit dbe6b49 into main Jul 18, 2026
8 checks passed
@emmanuelgjr
emmanuelgjr deleted the fix/audit-coverage branch July 18, 2026 18:24
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