Skip to content

docs(self-scan): validate m4 (3/3) and scheme (partial) ledger shapes - #1930

Merged
squid-protocol merged 1 commit into
mainfrom
sweep/m4-scheme-ledger-verdicts
Aug 20, 2026
Merged

docs(self-scan): validate m4 (3/3) and scheme (partial) ledger shapes#1930
squid-protocol merged 1 commit into
mainfrom
sweep/m4-scheme-ledger-verdicts

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Summary

  • Investigates and validates the entire m4 tri-comparison ledger backlog plus scheme's original recall-gap shape, via the tri-comparison-ledger-sweep skill.
  • m4/function/existence/agree[ctags]_vs[gitgalaxy] (79): clean ctags-side limitation, not a GitGalaxy defect -- every sampled occurrence is a real AC_DEFINE/AC_DEFINE_UNQUOTED autoconf helper call (emits a C preprocessor #define at build time), not an M4 macro definition. ctags' M4 parser heuristically over-tags these as function definitions; documented in ctags_reader.py alongside the existing C RICHCMP_WRAPPER precedent.
  • m4/function/existence/agree[gitgalaxy]_vs[ctags] (1): real GitGalaxy false positive (func_start captured the AC_DEFUN keyword itself as a function name), fixed in fix(m4): func_start captures the real macro name, not the defun keyword #1927.
  • m4/class/existence/agree[gitgalaxy]_vs[ctags] (4): real GitGalaxy false positive -- m4's class_start is None but detector.py's class-extraction fallback doesn't check that, so it matches raw C struct declarations embedded as text inside autoconf feature-test macro arguments. Filed as detector.py's class fallback doesn't skip languages with class_start=None, causing false-positive class extraction (confirmed: m4) #1925 (broader gap, 18 other class_start=None languages not yet checked), not fixed in this sweep.
  • scheme/function/existence/agree[ctags]_vs[gitgalaxy] (92): confirmed catastrophic GitGalaxy engine defect (100% function recall loss for the whole language), root-caused and fixed in fix(scheme): _slice_by_braces checks dead lang_id "lisp", causing 100% recall loss #1929. A smaller residual gap remains post-fix (58/92 found) and a new, legitimate GitGalaxy-alone shape it surfaces (real nested define forms ctags' parser misses) is left unvalidated for a future sweep pass.
  • Also filed yacc corpus: both real .y files silently excluded from file_data by statistical_auditor.py despite successful extraction #1926 (yacc: both real corpus files silently excluded by statistical_auditor.py's anomaly sweep, likely an n=2 degenerate-cohort Z-score issue -- not root-caused to the exact triggering check, flagged for follow-up).

Regenerated tri_comparison_chart.svg and tri_comparison_points_of_interest.md; diff confirmed scoped to m4 (asterisks fully cleared) and scheme (0→58/92 found, still asterisked since the residual gap is real and not yet fully closed).

Related PRs/issues

Test plan

  • Doc/ledger-only change -- no parsing logic touched directly in this PR (the code fixes are in the linked PRs above)
  • Chart diff verified scoped to expected cells only

🤖 Generated with Claude Code

Investigates and validates the entire m4 tri-comparison ledger backlog
plus scheme's original recall-gap shape, via the tri-comparison-ledger-
sweep skill:

- m4/function/existence/agree[ctags]_vs[gitgalaxy] (79): clean ctags-side
  limitation, not a GitGalaxy defect -- every sampled occurrence is a real
  AC_DEFINE/AC_DEFINE_UNQUOTED autoconf helper call (emits a C
  preprocessor #define at build time), not an M4 macro definition. ctags'
  M4 parser heuristically over-tags these as function definitions; noted
  in ctags_reader.py alongside the existing C RICHCMP_WRAPPER precedent.
- m4/function/existence/agree[gitgalaxy]_vs[ctags] (1): real GitGalaxy
  false positive (func_start captured the AC_DEFUN keyword itself as a
  function name), fixed in PR #1927.
- m4/class/existence/agree[gitgalaxy]_vs[ctags] (4): real GitGalaxy false
  positive -- m4's class_start is None but detector.py's class-extraction
  fallback doesn't check that, so it matches raw C struct declarations
  embedded as text inside autoconf feature-test macro arguments. Filed as
  #1925 (broader gap, 18 other class_start=None languages not yet
  checked), not fixed in this sweep.
- scheme/function/existence/agree[ctags]_vs[gitgalaxy] (92): confirmed
  catastrophic GitGalaxy engine defect (100% function recall loss for the
  whole language), root-caused and fixed in PR #1929. A smaller residual
  gap remains post-fix (58/92 found) and a new, legitimate GitGalaxy-alone
  shape it surfaces (real nested `define` forms ctags' parser misses) is
  left unvalidated for a future sweep pass.

Also filed #1926 (yacc: both real corpus files silently excluded by
statistical_auditor.py's anomaly sweep, likely an n=2 degenerate-cohort
Z-score issue -- not root-caused to the exact triggering check, flagged
for follow-up).

Regenerated tri_comparison_chart.svg and tri_comparison_points_of_interest.md;
diff confirmed scoped to m4 (asterisks fully cleared) and scheme (0->58/92,
still asterisked since the residual gap is real and not yet fully closed).

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

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol
squid-protocol enabled auto-merge (squash) August 20, 2026 17:09
@squid-protocol
squid-protocol merged commit 5f89983 into main Aug 20, 2026
28 checks passed
@squid-protocol
squid-protocol deleted the sweep/m4-scheme-ledger-verdicts branch August 20, 2026 17:09
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