Skip to content

test(extraction): close missing signature-case gaps, python/js AI/ML pack first - #1079

Merged
squid-protocol merged 1 commit into
mainfrom
fix-1072-missing-signature-coverage
Aug 5, 2026
Merged

test(extraction): close missing signature-case gaps, python/js AI/ML pack first#1079
squid-protocol merged 1 commit into
mainfrom
fix-1072-missing-signature-coverage

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Summary

  • Closes Close missing-signature-case gaps, prioritizing Python/JavaScript AI/ML extension pack #1072 (issue Epic: Harden the strict structural-signature test suite (non-extraction-pillar rules) per language #1069's Section C: audit_strict_coverage.py's missing_case_entirely list).
  • 44 LANGUAGE_DEFINITIONS keys across 6 languages had zero _SIMPLE_CASES coverage in their test_<lang>_strict.py files. Most notably, python's and javascript's entire AI/ML extension pack (llm_api, llm_orchestrator, llm_vector_store, ml_traditional, dl_frameworks) had no detection test coverage at all — a real blind spot in a supply-chain-risk detection feature, not just a test-depth nit.
  • Coverage added: python (19 keys), javascript (16), haskell (4), objective-c (3), solidity (1), yaml (1).
  • Every candidate case was empirically verified with verify_candidates.py's check_case against the real compiled regex before being added — no engine bugs surfaced (expected per how_to_harden_strict_signatures.md: this suite proves presence/absence of a construct, not exact-identifier extraction, so it's almost entirely test-writing, not regex-fixing).

Test plan

  • pytest tests/extraction/languages/test_{python,javascript,haskell,objectivec,solidity,yaml}_strict.py — 330 passed
  • pytest tests/extraction/ (full suite) — 4852 passed, 2 skipped, 10 xfailed, 3 xpassed
  • python tests/tools/audit_check.py — clean, no new ruff/mypy/dead-key findings
  • python tests/extraction/tools/audit_strict_coverage.py --lang <x> --json re-run for all 6 languages — missing_case_entirely: [] for each

🤖 Generated with Claude Code

…pack first

Closes #1072. audit_strict_coverage.py's missing_case_entirely list found
44 non-None LANGUAGE_DEFINITIONS keys with zero _SIMPLE_CASES coverage
across 6 languages -- most notably python's and javascript's entire AI/ML
extension pack (llm_api, llm_orchestrator, llm_vector_store, ml_traditional,
dl_frameworks) had no detection test coverage at all, a real blind spot in
a supply-chain-risk detection feature. Every candidate case was empirically
verified with verify_candidates.py's check_case against the real compiled
regex before being written in; no engine bugs surfaced (expected -- this
suite proves presence/absence of a construct, not exact-identifier
extraction, per how_to_harden_strict_signatures.md).

python: 19 keys, javascript: 16, haskell: 4, objective-c: 3, solidity: 1,
yaml: 1. Re-running audit_strict_coverage.py confirms missing_case_entirely
is now empty for all six languages.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol
squid-protocol merged commit cf9cbf8 into main Aug 5, 2026
28 checks passed
@squid-protocol
squid-protocol deleted the fix-1072-missing-signature-coverage branch August 5, 2026 22:59
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.

Close missing-signature-case gaps, prioritizing Python/JavaScript AI/ML extension pack

1 participant