Part of the extraction-hardening epic (#813). See [`tests/extraction/how_to_harden_extraction.md`](https://github.com/squid-protocol/gitgalaxy/blob/main/tests/extraction/how_to_harden_extraction.md) for the full methodology this issue follows. ### Language: `sqlite` Rules in scope (non-`None` in `LANGUAGE_DEFINITIONS["sqlite"]["rules"]`): - [ ] func_start - [ ] args - [ ] class_start - [ ] _dependency_capture ### Checklist (per the methodology doc, for each in-scope rule above) - [ ] `valid`: modern idiom + legacy/historical syntax eras + testing-framework-shaped functions - [ ] `invalid`: string-literal lookalikes, type-level lookalikes, assignment-in-condition, macro-expansion lookalikes, and any language-specific lookalike shape - [ ] `pathological`: 10-15 cases covering annotation/attribute stacking, nested generics/templates, destructured/complex params, multi-line splits at every plausible boundary - [ ] Every case empirically verified against the real compiled regex before being added - [ ] Any genuine bug found is fixed (full ReDoS/lint/type/crucible discipline) or filed separately if it's a multi-language architectural fix - [ ] Migrated out of the four old monolithic dict files into `tests/extraction/languages/test_sqlite.py` - [ ] Epic updated with any new recurring-bug-class findings before closing this issue
Activity
Fix squid-protocol#836: Extraction hardening for sqlite (epic squid-p…
sqlite tri-comparison validation: class extraction to 100%, both ledg…