From f6b44668ea453601465c4a9fcd4679402b28cda1 Mon Sep 17 00:00:00 2001 From: Joe Esquibel Date: Sun, 23 Aug 2026 11:28:11 -0400 Subject: [PATCH 1/2] docs: surface CI pipeline baselines checklist in CONTRIBUTING and PR templates --- .agents/skills | 1 + .claude.md | 14 ++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 11 +++++++++++ AGENTS.md | 14 ++++++++++++++ CONTRIBUTING.md | 23 ++++++++++++++++------- 5 files changed, 56 insertions(+), 7 deletions(-) create mode 120000 .agents/skills create mode 100644 .claude.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 AGENTS.md diff --git a/.agents/skills b/.agents/skills new file mode 120000 index 000000000..454b8427c --- /dev/null +++ b/.agents/skills @@ -0,0 +1 @@ +../.claude/skills \ No newline at end of file diff --git a/.claude.md b/.claude.md new file mode 100644 index 000000000..91caf61b2 --- /dev/null +++ b/.claude.md @@ -0,0 +1,14 @@ +# Global Regex and ReDoS Policy + +Whenever you are writing, modifying, or reviewing Regular Expressions (Regex) in this codebase, you **MUST** adhere to the project's structural-extraction accuracy and ReDoS immunity standards. + +1. **ReDoS Immunity & Boundary Correctness**: You must read and follow the 12 engine rules defined in `gitgalaxy/standards/how_to_add_a_language.md`. +2. **Hardening Process**: You must follow the 5-stage pipeline checklist and avoid the recurring bug classes outlined in `tests/extraction/how_to_harden_extraction.md`. +3. **Use the Tooling**: Always verify regex empirically against the real compiled regex using `tests/extraction/tools/verify_candidates.py` and run the scaling checks. Do not guess whether a payload matches or scales. +4. **Skills**: If you are deepening or fixing a language's structural-extraction accuracy (e.g. `func_start`, `args`), you must activate and follow the `harden-language-extraction` skill. + +# Core Engine Modification CI Checklist + +When you are preparing to push a fix or open a PR that touches GitGalaxy's core parsing logic (`language_standards.py`, `detector.py`, `prism.py`), you **MUST** ensure the CI validation gauntlet is handled. + +1. **Invoke the ci-push-checklist skill**: You must activate and follow the `.claude/skills/ci-push-checklist/SKILL.md` before pushing to ensure all Golden Masters, Tri-Comparison, and Tree-Sitter baselines are accurately regenerated and validated. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..efcc4e4f2 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,11 @@ +### Description + + +### Core Engine Modification Checklist +If your PR changes the core parsing engine (`language_standards.py`, `detector.py`, `prism.py`), you **MUST** complete the following validation gauntlet before merging: + +- [ ] **Golden Master Verification**: Ran `crucible_check.py` to verify diffs, and ran `crucible_check.py --update --yes` if the baseline changed due to intentional parsing improvements. +- [ ] **Tri-Comparison Audit**: Handled by CI automatically, but you should run `python tests/tools/tri_comparison_chart.py --all --ci` locally first. If you intentionally improved precision, regenerate the baseline: `python tests/tools/tri_comparison_chart.py --regenerate --languages `. +- [ ] **Tree-Sitter Accuracy**: Ran `python tests/tools/tree_sitter_accuracy_audit.py --ci --all`. If ground truth drifted for valid reasons, regenerated the baseline with `python tests/tools/tree_sitter_accuracy_audit.py --regenerate --lang `. + +> **Note for AI Agents**: If you are an AI agent generating this PR, you MUST invoke the `ci-push-checklist` skill to ensure these steps are completed properly. diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000..3aefc4882 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,14 @@ +# Global Regex and ReDoS Policy + +Whenever you are writing, modifying, or reviewing Regular Expressions (Regex) in this codebase, you **MUST** adhere to the project's structural-extraction accuracy and ReDoS immunity standards. + +1. **ReDoS Immunity & Boundary Correctness**: You must read and follow the 12 engine rules defined in `gitgalaxy/standards/how_to_add_a_language.md`. +2. **Hardening Process**: You must follow the 5-stage pipeline checklist and avoid the recurring bug classes outlined in `tests/extraction/how_to_harden_extraction.md`. +3. **Use the Tooling**: Always verify regex empirically against the real compiled regex using `tests/extraction/tools/verify_candidates.py` and run the scaling checks. Do not guess whether a payload matches or scales. +4. **Skills**: If you are deepening or fixing a language's structural-extraction accuracy (e.g. `func_start`, `args`), you must activate and follow the `harden-language-extraction` skill. + +# Core Engine Modification CI Checklist + +When you are preparing to push a fix or open a PR that touches GitGalaxy's core parsing logic (`language_standards.py`, `detector.py`, `prism.py`), you **MUST** ensure the CI validation gauntlet is handled. + +1. **Invoke the ci-push-checklist skill**: You must activate and follow the `.agents/skills/ci-push-checklist/SKILL.md` before pushing to ensure all Golden Masters, Tri-Comparison, and Tree-Sitter baselines are accurately regenerated and validated. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f12963091..40c6a5fa9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -59,17 +59,26 @@ To ensure your contribution integrates smoothly into the Zero-Trust ecosystem: --- -## 🔒 Updating the Golden Crucible Baseline +## 🔒 CI Pipeline & Baselines -`tests/golden_master_audit.json` and `tests/golden_master_zero_dep_audit.json` are the accepted-good snapshots that every PR's output is diffed against (see the `crucible-audit` check). A failing diff means GitGalaxy's output changed -- that's either a bug you should fix, or an intentional improvement whose new baseline needs to be deliberately re-blessed. +When you modify GitGalaxy's core engine, several CI workflows will rigorously test your changes against established baselines. If your changes intentionally improve parsing precision, you must regenerate the corresponding baselines. -**Never** hand-copy fresh output over these files. Always use: +1. **Golden Crucible Baselines (`tests/golden_master_audit.json`)** + This validates exact extraction output. + - Run `python tests/tools/crucible_check.py` to view structural drift. + - To re-bless the new state: `python tests/tools/crucible_check.py --update --yes` -``` -python tests/tools/update_golden_master.py -``` +2. **Tri-Comparison Ledger (`docs/self_scan/tri_comparison_ledger.json`)** + This compares GitGalaxy precision against ctags and tree-sitter. + - Run `python tests/tools/tri_comparison_chart.py --all --ci` to test. + - If you improved precision, lock it in: `python tests/tools/tri_comparison_chart.py --regenerate --languages ` + +3. **Tree-Sitter Accuracy (`docs/self_scan/tree_sitter_accuracy_history.csv`)** + This audits AST accuracy against tree-sitter ground truth. + - Run `python tests/tools/tree_sitter_accuracy_audit.py --ci --all`. + - If your regex fix legitimately drops false positives causing ground truth drift, regenerate the baseline: `python tests/tools/tree_sitter_accuracy_audit.py --regenerate --lang ` -It shows you exactly what's about to change before writing anything, and requires explicit confirmation. If your PR touches either fixture, **explain why in the PR description** (e.g. "improved the Rust parser, now correctly detects async trait bounds") -- a CI check flags any PR that modifies these files so it's never invisible in a large diff. +If your PR touches any baseline fixtures, **explain why in the PR description** (e.g. "improved the Rust parser, now correctly detects async trait bounds"). A CI check flags any PR that modifies these files so it's never invisible in a large diff. --- From 6f813270508dd9c5fe84d49e86a2ff2905d9149e Mon Sep 17 00:00:00 2001 From: Joe Esquibel Date: Sun, 23 Aug 2026 14:10:54 -0400 Subject: [PATCH 2/2] fix(core): dynamically extend _slice_by_braces search_limit for massive args Functions with extremely large inline parameter lists (e.g. Zig's `fn dbHelper(..., tag_to_encoding_map: *struct { ... })` where the struct spans 6,600+ characters) were silently dropped. The `_slice_by_braces` bounded search limit (`search_limit = min(next_match_start, start_idx + 2000)`) forced the search for the body's opening `{` to give up before the argument list even finished. This dynamically extends the bound to `min(next_match_start, params_end_idx + 2000)` to safely account for large inline signatures while preserving the safety boundary against the next matching function block. Also reconciles tri-comparison ledger sweeps for Zig and updates accuracy charts and baselines. --- docs/self_scan/tree_sitter_accuracy_chart.svg | 10 +- .../tree_sitter_accuracy_history.csv | 45 ++ docs/self_scan/tri_comparison_ledger.json | 412 +++++++++--------- gitgalaxy/core/detector.py | 6 + tests/golden_master_audit.json | 22 +- tests/golden_master_zero_dep_audit.json | 22 +- .../tree_sitter_accuracy_baseline_csharp.json | 2 +- tests/tree_sitter_accuracy_baseline_zig.json | 6 +- tests/tri_comparison_baseline_zig.json | 4 + 9 files changed, 308 insertions(+), 221 deletions(-) create mode 100644 tests/tri_comparison_baseline_zig.json diff --git a/docs/self_scan/tree_sitter_accuracy_chart.svg b/docs/self_scan/tree_sitter_accuracy_chart.svg index f4bbb7d16..7662818a3 100644 --- a/docs/self_scan/tree_sitter_accuracy_chart.svg +++ b/docs/self_scan/tree_sitter_accuracy_chart.svg @@ -46,7 +46,7 @@ Tree-sitter Accuracy by Language -- GitGalaxy vs. Tree-sitter, Most Recent Run -2026-08-22T23:56:51+00:00 · commit 5b8e2c3 · 45 languages (31 tree-sitter-compared, 14 GitGalaxy-only) · source: docs/self_scan/tree_sitter_accuracy_history.csv +2026-08-23T18:10:41+00:00 · commit f6b4466 · 45 languages (31 tree-sitter-compared, 14 GitGalaxy-only) · source: docs/self_scan/tree_sitter_accuracy_history.csv Measures func_start/args/class_start NAME extraction only -- NOT GitGalaxy's structural-signature risk rules (branch/io/safety_bypasses/etc.), which are hardened and tested separately. Value labels are raw counts (found/real or found/found+extra), not just a percentage, so each bar's sample size is visible at a glance. css and html show n/a on the class panels by DESIGN, not as an unmeasured gap -- named class extraction was decided permanently out of scope for them (epic #1295): their class_start targets selectors/tags, not OOP-shaped entities. See tests/extraction/how_to_extend_class_start_named_extraction.md. @@ -317,7 +317,7 @@ 0 found n/a -2750/2751 +2751/2751 2751/2751 Func Precision @@ -504,7 +504,7 @@ n/a n/a -2750/2750 +2751/2751 2751/2751 Class Recall @@ -999,9 +999,9 @@ n/a n/a -2750/2750 +2751/2751 -2750/2750 +2751/2751 Generated by tests/tools/tree_sitter_accuracy_audit.py --chart. Rows are in one alphabetical order shared by every panel -- pick a language and read straight across; "n/a" means no ground-truth instances for that language on that panel, not a 0% score. Recall panels ("found/real"): a low fraction on a small denominator (e.g. 7/23) is a thinner signal than the same ratio on a large one. Precision panels ("found/found+extra"): a large denominator relative to the panel's own found-count means many false positives, not just misses -- read the two numbers, not just the bar. A "T" badge means tree-sitter's raw reading scored higher on THIS metric in THIS run -- for a language with no documented hallucination/noise correction (see docs/why_gitgalaxy_beats_ast_here.md), its raw reading equals ground truth by construction, so any unrelated GitGalaxy precision defect alone is enough to trigger it. Not a general tree-sitter-vs-GitGalaxy verdict -- read the two fractions. diff --git a/docs/self_scan/tree_sitter_accuracy_history.csv b/docs/self_scan/tree_sitter_accuracy_history.csv index 19b39bf77..a46f028d7 100644 --- a/docs/self_scan/tree_sitter_accuracy_history.csv +++ b/docs/self_scan/tree_sitter_accuracy_history.csv @@ -4818,3 +4818,48 @@ timestamp_utc,commit_sha,language,files_scanned,real_functions,found_functions,e 2026-08-22T23:56:51+00:00,5b8e2c3f2ec195fa4d1cc541cd0b99fdee3cbfc8,sqlite,0,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,0 2026-08-22T23:56:51+00:00,5b8e2c3f2ec195fa4d1cc541cd0b99fdee3cbfc8,yacc,0,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,1 2026-08-22T23:56:51+00:00,5b8e2c3f2ec195fa4d1cc541cd0b99fdee3cbfc8,yaml,7,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,apex,4,38,38,0,4,4,0,38,38,100.0,100.0,100.0,100.0,38,0,4,0,38,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,c,31,1719,1702,9,61,61,0,1702,1702,99.0,99.5,100.0,100.0,1719,71,61,27,1702,100.0,96.0,100.0,69.3,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,cpp,29,1491,1296,60,65,65,0,1296,1233,86.9,95.6,100.0,100.0,1491,0,65,106,1296,100.0,100.0,100.0,38.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,csharp,6,964,964,0,33,33,0,964,962,100.0,100.0,100.0,100.0,647,0,24,0,647,67.1,100.0,72.7,100.0,67.1,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,css,4,3,3,0,90,90,0,3,3,100.0,100.0,100.0,100.0,3,0,90,0,3,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,dart,7,1748,1738,13,200,200,0,1738,1519,99.4,99.3,100.0,100.0,1748,0,200,0,1738,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,fortran,6,141,139,0,11,11,0,139,138,98.6,100.0,100.0,100.0,123,0,11,0,121,87.2,100.0,100.0,100.0,87.1,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,go,14,897,897,0,69,69,0,897,822,100.0,100.0,100.0,100.0,897,0,69,0,897,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,groovy,0,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,haskell,7,146,146,1,16,16,0,146,136,100.0,99.3,100.0,100.0,146,0,16,0,146,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,html,13,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,java,7,318,318,0,35,35,0,318,318,100.0,100.0,100.0,100.0,318,0,35,0,318,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,javascript,18,599,599,10,29,29,0,599,554,100.0,98.4,100.0,100.0,599,2,29,0,599,100.0,99.7,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,kotlin,5,28,28,0,7,7,0,28,28,100.0,100.0,100.0,100.0,28,0,7,0,28,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,lua,0,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,makefile,1,1,1,0,0,0,0,1,1,100.0,100.0,,,1,0,0,0,1,100.0,100.0,,,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,matlab,6,23,23,0,0,0,0,23,22,100.0,100.0,,,23,0,0,0,23,100.0,100.0,,,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,objective-c,5,153,151,1,5,5,0,151,151,98.7,99.3,100.0,100.0,153,0,5,0,151,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,perl,22,941,941,1,20,20,0,941,929,100.0,99.9,100.0,100.0,941,122,20,0,170,100.0,88.5,100.0,100.0,18.1,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,php,35,1702,1702,1,29,29,0,1702,1702,100.0,99.9,100.0,100.0,1702,0,29,0,1702,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,powershell,6,110,110,0,7,7,0,110,105,100.0,100.0,100.0,100.0,110,0,7,0,110,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,python,258,3625,3625,16,459,459,0,3625,3625,100.0,99.6,100.0,100.0,3625,0,459,0,3625,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,ruby,7,124,124,0,18,18,0,124,115,100.0,100.0,100.0,100.0,124,0,18,0,124,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,rust,43,1927,1927,0,270,270,0,1927,1927,100.0,100.0,100.0,100.0,1775,0,245,0,1775,92.1,100.0,90.7,100.0,92.1,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,scala,7,541,541,0,17,17,0,541,525,100.0,100.0,100.0,100.0,541,0,17,0,541,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,shell,1,3,3,0,0,0,0,3,3,100.0,100.0,,,3,0,0,0,0,100.0,100.0,,,0.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,solidity,7,99,99,6,7,7,0,99,99,100.0,94.3,100.0,100.0,99,0,7,0,99,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,swift,6,132,131,1,38,38,0,131,130,99.2,99.2,100.0,100.0,132,0,38,0,131,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,tcl,2,144,142,1,0,0,0,142,142,98.6,99.3,,,144,0,0,0,142,100.0,100.0,,,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,typescript,23,2789,2721,12,842,842,0,2721,2721,97.6,99.6,100.0,100.0,2789,125,842,0,2721,100.0,95.7,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,zig,32,2751,2751,0,656,648,1,2751,2751,100.0,100.0,98.8,99.8,2751,0,656,0,2751,100.0,100.0,100.0,100.0,100.0,0,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,abap,7,0,124,0,0,12,0,0,0,,100.0,,100.0,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,ada,0,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,0 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,agc_assembly,10,0,812,0,0,0,0,0,0,,100.0,,,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,assembly,8,0,102,0,0,0,0,0,0,,100.0,,,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,cobol,34,0,167,0,0,19,0,0,0,,100.0,,100.0,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,dockerfile,4,0,71,0,0,77,0,0,0,,100.0,,100.0,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,embedded_python,0,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,0 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,jcl,3,0,3,0,0,0,0,0,0,,100.0,,,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,livecode,2,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,m4,7,0,39,0,0,4,0,0,0,,100.0,,100.0,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,scheme,4,0,58,0,0,0,0,0,0,,100.0,,,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,sqlite,0,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,0 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,yacc,0,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,1 +2026-08-23T18:10:41+00:00,f6b44668ea453601465c4a9fcd4679402b28cda1,yaml,7,0,0,0,0,0,0,0,0,,,,,0,0,0,0,0,,,,,,1,1 diff --git a/docs/self_scan/tri_comparison_ledger.json b/docs/self_scan/tri_comparison_ledger.json index 367f9e41a..99950af1a 100644 --- a/docs/self_scan/tri_comparison_ledger.json +++ b/docs/self_scan/tri_comparison_ledger.json @@ -13,7 +13,7 @@ "investigated_at": "2026-08-20T00:00:00Z", "investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep", "language": "agc_assembly", - "last_reconciled_at": "2026-08-23T15:06:12Z", + "last_reconciled_at": "2026-08-23T15:50:49Z", "last_seen_count": 215, "last_seen_examples": [ { @@ -118,7 +118,7 @@ "investigated_at": "2026-08-20T00:00:00Z", "investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep", "language": "agc_assembly", - "last_reconciled_at": "2026-08-23T15:06:12Z", + "last_reconciled_at": "2026-08-23T15:50:49Z", "last_seen_count": 37, "last_seen_examples": [ { @@ -221,7 +221,7 @@ "investigated_at": "2026-08-20T22:17:39Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep (direct investigation, no Gemini dispatch needed -- root cause was immediately clear from source)", "language": "apex", - "last_reconciled_at": "2026-08-23T15:06:13Z", + "last_reconciled_at": "2026-08-23T15:50:50Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -260,7 +260,7 @@ "investigated_at": "2026-08-20T00:00:00Z", "investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep", "language": "assembly", - "last_reconciled_at": "2026-08-23T15:06:14Z", + "last_reconciled_at": "2026-08-23T15:50:52Z", "last_seen_count": 26, "last_seen_examples": [ { @@ -363,7 +363,7 @@ "investigated_at": "2026-08-20T00:00:00Z", "investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep", "language": "assembly", - "last_reconciled_at": "2026-08-23T15:06:14Z", + "last_reconciled_at": "2026-08-23T15:50:52Z", "last_seen_count": 7, "last_seen_examples": [ { @@ -443,7 +443,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved + fixed directly, no dispatch needed)", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 23, "last_seen_examples": [ { @@ -557,7 +557,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Gemini (dispatched via tri-comparison-ledger-sweep), confirmed by Claude Sonnet 5", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 9, "last_seen_examples": [ { @@ -662,7 +662,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Gemini (dispatched via tri-comparison-ledger-sweep), confirmed by Claude Sonnet 5", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 525, "last_seen_examples": [ { @@ -776,7 +776,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved directly, no dispatch needed) -- corrected after cross-referencing #1837", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -809,7 +809,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved + fixed directly, no dispatch needed)", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -842,7 +842,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Gemini (dispatched via tri-comparison-ledger-sweep), confirmed by Claude Sonnet 5", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 13, "last_seen_examples": [ { @@ -959,7 +959,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved directly, no dispatch needed)", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 14, "last_seen_examples": [ { @@ -1073,7 +1073,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved + fixed directly, no dispatch needed)", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 7, "last_seen_examples": [ { @@ -1160,7 +1160,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 3, "last_seen_examples": [ { @@ -1213,7 +1213,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved directly, no dispatch needed)", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 4, "last_seen_examples": [ { @@ -1271,7 +1271,7 @@ "investigated_at": null, "investigated_by": null, "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 17, "last_seen_examples": [ { @@ -1375,7 +1375,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Gemini (dispatched via tri-comparison-ledger-sweep), confirmed by Claude Sonnet 5", "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 74, "last_seen_examples": [ { @@ -1487,7 +1487,7 @@ "investigated_at": null, "investigated_by": null, "language": "c", - "last_reconciled_at": "2026-08-23T15:06:21Z", + "last_reconciled_at": "2026-08-23T15:50:57Z", "last_seen_count": 88, "last_seen_examples": [ { @@ -1592,7 +1592,7 @@ "investigated_at": "2026-08-19", "investigated_by": "gemini-3.1-pro-high (agy), dispatched via tri-comparison-ledger-sweep, self-corrected and reviewed by claude-sonnet-5", "language": "cobol", - "last_reconciled_at": "2026-08-23T15:06:26Z", + "last_reconciled_at": "2026-08-23T15:51:02Z", "last_seen_count": 19, "last_seen_examples": [ { @@ -1695,7 +1695,7 @@ "investigated_at": "2026-08-22T00:00:00Z", "investigated_by": "Agent", "language": "cobol", - "last_reconciled_at": "2026-08-23T15:06:26Z", + "last_reconciled_at": "2026-08-23T15:51:02Z", "last_seen_count": 181, "last_seen_examples": [ { @@ -1798,7 +1798,7 @@ "investigated_at": "2026-08-19", "investigated_by": "gemini-3.1-pro-high (agy), dispatched via tri-comparison-ledger-sweep, reviewed by claude-sonnet-5", "language": "cobol", - "last_reconciled_at": "2026-08-23T15:06:26Z", + "last_reconciled_at": "2026-08-23T15:51:02Z", "last_seen_count": 45, "last_seen_examples": [ { @@ -1902,7 +1902,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -1944,7 +1944,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -1986,7 +1986,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 84, "last_seen_examples": [ { @@ -2100,7 +2100,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 22, "last_seen_examples": [ { @@ -2214,7 +2214,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -2256,7 +2256,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 61, "last_seen_examples": [ { @@ -2370,7 +2370,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -2402,7 +2402,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -2432,7 +2432,7 @@ "investigated_at": null, "investigated_by": null, "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 76, "last_seen_examples": [ { @@ -2536,7 +2536,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 60, "last_seen_examples": [ { @@ -2650,7 +2650,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -2683,7 +2683,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 30, "last_seen_examples": [ { @@ -2797,7 +2797,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 9, "last_seen_examples": [ { @@ -2902,7 +2902,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 4, "last_seen_examples": [ { @@ -2960,7 +2960,7 @@ "investigated_at": null, "investigated_by": null, "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 64, "last_seen_examples": [ { @@ -3064,7 +3064,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 194, "last_seen_examples": [ { @@ -3176,7 +3176,7 @@ "investigated_at": null, "investigated_by": null, "language": "cpp", - "last_reconciled_at": "2026-08-23T15:06:32Z", + "last_reconciled_at": "2026-08-23T15:51:07Z", "last_seen_count": 195, "last_seen_examples": [ { @@ -3280,7 +3280,7 @@ "investigated_at": "2026-08-21T18:13:27Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 9, "last_seen_examples": [ { @@ -3385,7 +3385,7 @@ "investigated_at": null, "investigated_by": null, "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 5, "last_seen_examples": [ { @@ -3454,7 +3454,7 @@ "investigated_at": null, "investigated_by": null, "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 6, "last_seen_examples": [ { @@ -3530,7 +3530,7 @@ "investigated_at": null, "investigated_by": null, "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 9, "last_seen_examples": [ { @@ -3629,7 +3629,7 @@ "investigated_at": "2026-08-21T20:06:45Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -3662,7 +3662,7 @@ "investigated_at": "2026-08-21T20:06:45Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 7, "last_seen_examples": [ { @@ -3752,7 +3752,7 @@ "investigated_at": "2026-08-21T20:06:45Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 6, "last_seen_examples": [ { @@ -3829,7 +3829,7 @@ "investigated_at": "2026-08-21T20:06:45Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -3859,7 +3859,7 @@ "investigated_at": null, "investigated_by": null, "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 26, "last_seen_examples": [ { @@ -3963,7 +3963,7 @@ "investigated_at": "2026-08-21T18:13:27Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 271, "last_seen_examples": [ { @@ -4077,7 +4077,7 @@ "investigated_at": null, "investigated_by": null, "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 4, "last_seen_examples": [ { @@ -4137,7 +4137,7 @@ "investigated_at": "2026-08-21T18:13:27Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -4170,7 +4170,7 @@ "investigated_at": "2026-08-21T18:13:44Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 108, "last_seen_examples": [ { @@ -4286,7 +4286,7 @@ "investigated_at": "2026-08-21T21:45:53Z", "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 46, "last_seen_examples": [ { @@ -4398,7 +4398,7 @@ "investigated_at": null, "investigated_by": null, "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 317, "last_seen_examples": [ { @@ -4502,7 +4502,7 @@ "investigated_at": null, "investigated_by": null, "language": "csharp", - "last_reconciled_at": "2026-08-23T15:06:39Z", + "last_reconciled_at": "2026-08-23T15:51:13Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -4535,7 +4535,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep", "language": "css", - "last_reconciled_at": "2026-08-23T15:06:40Z", + "last_reconciled_at": "2026-08-23T15:51:14Z", "last_seen_count": 3, "last_seen_examples": [ { @@ -4584,7 +4584,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep", "language": "dart", - "last_reconciled_at": "2026-08-23T15:06:45Z", + "last_reconciled_at": "2026-08-23T15:51:18Z", "last_seen_count": 221, "last_seen_examples": [ { @@ -4687,7 +4687,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep", "language": "dart", - "last_reconciled_at": "2026-08-23T15:06:45Z", + "last_reconciled_at": "2026-08-23T15:51:18Z", "last_seen_count": 13, "last_seen_examples": [ { @@ -4790,7 +4790,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep", "language": "dart", - "last_reconciled_at": "2026-08-23T15:06:45Z", + "last_reconciled_at": "2026-08-23T15:51:18Z", "last_seen_count": 10, "last_seen_examples": [ { @@ -4894,7 +4894,7 @@ "investigated_at": "2026-08-21T23:35:49Z", "investigated_by": "Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 8, "last_seen_examples": [ { @@ -4989,7 +4989,7 @@ "investigated_at": null, "investigated_by": null, "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -5021,7 +5021,7 @@ "investigated_at": "2026-08-21T00:00:00Z", "investigated_by": "Claude Sonnet 5, direct investigation (surfaced while re-blessing the tri-comparison chart after #1973/#1985)", "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -5053,7 +5053,7 @@ "investigated_at": "2026-08-21T23:35:49Z", "investigated_by": "Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -5083,7 +5083,7 @@ "investigated_at": null, "investigated_by": null, "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -5115,7 +5115,7 @@ "investigated_at": "2026-08-21T23:35:49Z", "investigated_by": "Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 15, "last_seen_examples": [ { @@ -5229,7 +5229,7 @@ "investigated_at": "2026-08-21T23:35:49Z", "investigated_by": "Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -5273,7 +5273,7 @@ "investigated_at": "2026-08-21T23:35:49Z", "investigated_by": "Sonnet 5, dispatched via tri-comparison-ledger-sweep", "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -5304,7 +5304,7 @@ "investigated_at": null, "investigated_by": null, "language": "fortran", - "last_reconciled_at": "2026-08-23T15:06:51Z", + "last_reconciled_at": "2026-08-23T15:51:24Z", "last_seen_count": 16, "last_seen_examples": [ { @@ -5408,7 +5408,7 @@ "investigated_at": null, "investigated_by": null, "language": "go", - "last_reconciled_at": "2026-08-23T15:06:53Z", + "last_reconciled_at": "2026-08-23T15:51:26Z", "last_seen_count": 75, "last_seen_examples": [ { @@ -5519,7 +5519,7 @@ "investigated_at": null, "investigated_by": null, "language": "go", - "last_reconciled_at": "2026-08-23T15:06:53Z", + "last_reconciled_at": "2026-08-23T15:51:26Z", "last_seen_count": 75, "last_seen_examples": [ { @@ -5623,7 +5623,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (session investigation)", "language": "haskell", - "last_reconciled_at": "2026-08-23T15:06:56Z", + "last_reconciled_at": "2026-08-23T15:51:29Z", "last_seen_count": 16, "last_seen_examples": [ { @@ -5735,7 +5735,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (session investigation)", "language": "haskell", - "last_reconciled_at": "2026-08-23T15:06:56Z", + "last_reconciled_at": "2026-08-23T15:51:29Z", "last_seen_count": 9, "last_seen_examples": [ { @@ -5840,7 +5840,7 @@ "investigated_at": null, "investigated_by": null, "language": "haskell", - "last_reconciled_at": "2026-08-23T15:06:56Z", + "last_reconciled_at": "2026-08-23T15:51:29Z", "last_seen_count": 38, "last_seen_examples": [ { @@ -5954,7 +5954,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (dispatched agent investigation)", "language": "haskell", - "last_reconciled_at": "2026-08-23T15:06:56Z", + "last_reconciled_at": "2026-08-23T15:51:29Z", "last_seen_count": 103, "last_seen_examples": [ { @@ -6068,7 +6068,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (dispatched agent investigation)", "language": "haskell", - "last_reconciled_at": "2026-08-23T15:06:56Z", + "last_reconciled_at": "2026-08-23T15:51:29Z", "last_seen_count": 69, "last_seen_examples": [ { @@ -6184,7 +6184,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (session investigation)", "language": "haskell", - "last_reconciled_at": "2026-08-23T15:06:56Z", + "last_reconciled_at": "2026-08-23T15:51:29Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -6216,7 +6216,7 @@ "investigated_at": null, "investigated_by": null, "language": "haskell", - "last_reconciled_at": "2026-08-23T15:06:56Z", + "last_reconciled_at": "2026-08-23T15:51:29Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -6248,7 +6248,7 @@ "investigated_at": null, "investigated_by": null, "language": "haskell", - "last_reconciled_at": "2026-08-23T15:06:56Z", + "last_reconciled_at": "2026-08-23T15:51:29Z", "last_seen_count": 91, "last_seen_examples": [ { @@ -6362,7 +6362,7 @@ "investigated_at": null, "investigated_by": null, "language": "java", - "last_reconciled_at": "2026-08-23T15:06:58Z", + "last_reconciled_at": "2026-08-23T15:51:32Z", "last_seen_count": 28, "last_seen_examples": [ { @@ -6476,7 +6476,7 @@ "investigated_at": "2026-08-22T01:15:53Z", "investigated_by": "Sonnet 5, direct investigation via tri-comparison-ledger-sweep", "language": "java", - "last_reconciled_at": "2026-08-23T15:06:58Z", + "last_reconciled_at": "2026-08-23T15:51:32Z", "last_seen_count": 12, "last_seen_examples": [ { @@ -6590,7 +6590,7 @@ "investigated_at": "2026-08-22T01:15:53Z", "investigated_by": "Sonnet 5, direct investigation via tri-comparison-ledger-sweep", "language": "java", - "last_reconciled_at": "2026-08-23T15:06:58Z", + "last_reconciled_at": "2026-08-23T15:51:32Z", "last_seen_count": 28, "last_seen_examples": [ { @@ -6703,7 +6703,7 @@ "investigated_at": "2026-08-22T01:15:53Z", "investigated_by": "Sonnet 5, direct investigation via tri-comparison-ledger-sweep", "language": "java", - "last_reconciled_at": "2026-08-23T15:06:58Z", + "last_reconciled_at": "2026-08-23T15:51:32Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -6736,7 +6736,7 @@ "investigated_at": "2026-08-22T01:15:53Z", "investigated_by": "Sonnet 5, direct investigation via tri-comparison-ledger-sweep", "language": "java", - "last_reconciled_at": "2026-08-23T15:06:58Z", + "last_reconciled_at": "2026-08-23T15:51:32Z", "last_seen_count": 3, "last_seen_examples": [ { @@ -6787,7 +6787,7 @@ "investigated_at": null, "investigated_by": null, "language": "java", - "last_reconciled_at": "2026-08-23T15:06:58Z", + "last_reconciled_at": "2026-08-23T15:51:32Z", "last_seen_count": 315, "last_seen_examples": [ { @@ -6901,7 +6901,7 @@ "investigated_at": null, "investigated_by": null, "language": "java", - "last_reconciled_at": "2026-08-23T15:06:58Z", + "last_reconciled_at": "2026-08-23T15:51:32Z", "last_seen_count": 3, "last_seen_examples": [ { @@ -6952,7 +6952,7 @@ "investigated_at": "2026-08-21", "investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep", "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 93, "last_seen_examples": [ { @@ -7066,7 +7066,7 @@ "investigated_at": "2026-08-21", "investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep", "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 7, "last_seen_examples": [ { @@ -7153,7 +7153,7 @@ "investigated_at": "2026-08-21", "investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep", "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -7192,7 +7192,7 @@ "investigated_at": null, "investigated_by": null, "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 45, "last_seen_examples": [ { @@ -7296,7 +7296,7 @@ "investigated_at": "2026-08-21", "investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep", "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 11, "last_seen_examples": [ { @@ -7410,7 +7410,7 @@ "investigated_at": "2026-08-21", "investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep", "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 8, "last_seen_examples": [ { @@ -7506,7 +7506,7 @@ "investigated_at": "2026-08-21", "investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep", "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 265, "last_seen_examples": [ { @@ -7620,7 +7620,7 @@ "investigated_at": "2026-08-21", "investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep", "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 183, "last_seen_examples": [ { @@ -7732,7 +7732,7 @@ "investigated_at": null, "investigated_by": null, "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 194, "last_seen_examples": [ { @@ -7836,7 +7836,7 @@ "investigated_at": "2026-08-21", "investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep", "language": "javascript", - "last_reconciled_at": "2026-08-23T15:07:01Z", + "last_reconciled_at": "2026-08-23T15:51:35Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -7869,7 +7869,7 @@ "investigated_at": "2026-08-22T11:40:48Z", "investigated_by": "claude-sonnet-5, dispatched via tri-comparison-ledger-sweep (direct investigation, no Gemini dispatch -- small occurrence counts, answer was directly checkable)", "language": "kotlin", - "last_reconciled_at": "2026-08-23T15:07:02Z", + "last_reconciled_at": "2026-08-23T15:51:37Z", "last_seen_count": 3, "last_seen_examples": [ { @@ -7922,7 +7922,7 @@ "investigated_at": "2026-08-22T11:40:48Z", "investigated_by": "claude-sonnet-5, dispatched via tri-comparison-ledger-sweep (direct investigation, no Gemini dispatch -- small occurrence counts, answer was directly checkable)", "language": "kotlin", - "last_reconciled_at": "2026-08-23T15:07:02Z", + "last_reconciled_at": "2026-08-23T15:51:37Z", "last_seen_count": 15, "last_seen_examples": [ { @@ -8036,7 +8036,7 @@ "investigated_at": "2026-08-22T11:45:48Z", "investigated_by": "claude-sonnet-5, dispatched via tri-comparison-ledger-sweep (direct investigation, no Gemini dispatch)", "language": "kotlin", - "last_reconciled_at": "2026-08-23T15:07:02Z", + "last_reconciled_at": "2026-08-23T15:51:37Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8069,7 +8069,7 @@ "investigated_at": "2026-08-22T11:40:48Z", "investigated_by": "claude-sonnet-5, dispatched via tri-comparison-ledger-sweep (direct investigation, no Gemini dispatch -- small occurrence counts, answer was directly checkable)", "language": "kotlin", - "last_reconciled_at": "2026-08-23T15:07:02Z", + "last_reconciled_at": "2026-08-23T15:51:37Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8101,7 +8101,7 @@ "investigated_at": "2026-08-20", "investigated_by": "claude-sonnet-5 (direct source read, no dispatch needed)", "language": "m4", - "last_reconciled_at": "2026-08-23T15:07:07Z", + "last_reconciled_at": "2026-08-23T15:51:44Z", "last_seen_count": 4, "last_seen_examples": [ { @@ -8156,7 +8156,7 @@ "investigated_at": "2026-08-20", "investigated_by": "gemini-3.1-pro-high (agy), dispatched via tri-comparison-ledger-sweep, reviewed by claude-sonnet-5", "language": "m4", - "last_reconciled_at": "2026-08-23T15:07:07Z", + "last_reconciled_at": "2026-08-23T15:51:44Z", "last_seen_count": 76, "last_seen_examples": [ { @@ -8259,7 +8259,7 @@ "investigated_at": "2026-08-20", "investigated_by": "claude-sonnet-5 (direct source read, no dispatch needed)", "language": "m4", - "last_reconciled_at": "2026-08-23T15:07:07Z", + "last_reconciled_at": "2026-08-23T15:51:44Z", "last_seen_count": 36, "last_seen_examples": [ { @@ -8363,7 +8363,7 @@ "investigated_at": null, "investigated_by": null, "language": "makefile", - "last_reconciled_at": "2026-08-23T15:07:08Z", + "last_reconciled_at": "2026-08-23T15:51:46Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8394,7 +8394,7 @@ "investigated_at": null, "investigated_by": null, "language": "matlab", - "last_reconciled_at": "2026-08-23T15:07:10Z", + "last_reconciled_at": "2026-08-23T15:51:47Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8427,7 +8427,7 @@ "investigated_at": null, "investigated_by": null, "language": "objective-c", - "last_reconciled_at": "2026-08-23T15:07:11Z", + "last_reconciled_at": "2026-08-23T15:51:49Z", "last_seen_count": 91, "last_seen_examples": [ { @@ -8541,7 +8541,7 @@ "investigated_at": null, "investigated_by": null, "language": "objective-c", - "last_reconciled_at": "2026-08-23T15:07:11Z", + "last_reconciled_at": "2026-08-23T15:51:49Z", "last_seen_count": 104, "last_seen_examples": [ { @@ -8655,7 +8655,7 @@ "investigated_at": null, "investigated_by": null, "language": "objective-c", - "last_reconciled_at": "2026-08-23T15:07:11Z", + "last_reconciled_at": "2026-08-23T15:51:49Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8686,7 +8686,7 @@ "investigated_at": null, "investigated_by": null, "language": "objective-c", - "last_reconciled_at": "2026-08-23T15:07:11Z", + "last_reconciled_at": "2026-08-23T15:51:49Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8718,7 +8718,7 @@ "investigated_at": null, "investigated_by": null, "language": "objective-c", - "last_reconciled_at": "2026-08-23T15:07:11Z", + "last_reconciled_at": "2026-08-23T15:51:49Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -8758,7 +8758,7 @@ "investigated_at": null, "investigated_by": null, "language": "objective-c", - "last_reconciled_at": "2026-08-23T15:07:11Z", + "last_reconciled_at": "2026-08-23T15:51:49Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -8798,7 +8798,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8831,7 +8831,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8862,7 +8862,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -8892,7 +8892,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 64, "last_seen_examples": [ { @@ -9006,7 +9006,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 7, "last_seen_examples": [ { @@ -9093,7 +9093,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 7, "last_seen_examples": [ { @@ -9180,7 +9180,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -9211,7 +9211,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -9243,7 +9243,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 122, "last_seen_examples": [ { @@ -9355,7 +9355,7 @@ "investigated_at": null, "investigated_by": null, "language": "perl", - "last_reconciled_at": "2026-08-23T15:07:18Z", + "last_reconciled_at": "2026-08-23T15:51:55Z", "last_seen_count": 122, "last_seen_examples": [ { @@ -9459,12 +9459,12 @@ "investigated_at": null, "investigated_by": null, "language": "php", - "last_reconciled_at": "2026-08-23T15:07:23Z", + "last_reconciled_at": "2026-08-23T15:51:59Z", "last_seen_count": 1, "last_seen_examples": [ { "file_path": "laravel_core/BladeCompiler.php", - "name": "AnonymousClassa08aab890100", + "name": "AnonymousClassea70ff800100", "readings": { "ctags": 342, "gitgalaxy": null, @@ -9492,7 +9492,7 @@ "investigated_at": null, "investigated_by": null, "language": "php", - "last_reconciled_at": "2026-08-23T15:07:23Z", + "last_reconciled_at": "2026-08-23T15:51:59Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -9525,7 +9525,7 @@ "investigated_at": null, "investigated_by": null, "language": "php", - "last_reconciled_at": "2026-08-23T15:07:23Z", + "last_reconciled_at": "2026-08-23T15:51:59Z", "last_seen_count": 68, "last_seen_examples": [ { @@ -9637,7 +9637,7 @@ "investigated_at": null, "investigated_by": null, "language": "php", - "last_reconciled_at": "2026-08-23T15:07:23Z", + "last_reconciled_at": "2026-08-23T15:51:59Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -9669,7 +9669,7 @@ "investigated_at": null, "investigated_by": null, "language": "powershell", - "last_reconciled_at": "2026-08-23T15:07:25Z", + "last_reconciled_at": "2026-08-23T15:52:02Z", "last_seen_count": 7, "last_seen_examples": [ { @@ -9754,7 +9754,7 @@ "investigated_at": null, "investigated_by": null, "language": "powershell", - "last_reconciled_at": "2026-08-23T15:07:25Z", + "last_reconciled_at": "2026-08-23T15:52:02Z", "last_seen_count": 5, "last_seen_examples": [ { @@ -9823,7 +9823,7 @@ "investigated_at": null, "investigated_by": null, "language": "powershell", - "last_reconciled_at": "2026-08-23T15:07:25Z", + "last_reconciled_at": "2026-08-23T15:52:02Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -9856,7 +9856,7 @@ "investigated_at": null, "investigated_by": null, "language": "powershell", - "last_reconciled_at": "2026-08-23T15:07:25Z", + "last_reconciled_at": "2026-08-23T15:52:02Z", "last_seen_count": 16, "last_seen_examples": [ { @@ -9968,7 +9968,7 @@ "investigated_at": null, "investigated_by": null, "language": "powershell", - "last_reconciled_at": "2026-08-23T15:07:25Z", + "last_reconciled_at": "2026-08-23T15:52:02Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -10000,7 +10000,7 @@ "investigated_at": "2026-08-21T03:23:52Z", "investigated_by": "claude sonnet 5, tri-comparison-ledger-sweep (direct investigation, no dispatch needed)", "language": "python", - "last_reconciled_at": "2026-08-23T15:07:38Z", + "last_reconciled_at": "2026-08-23T15:52:11Z", "last_seen_count": 4, "last_seen_examples": [ { @@ -10058,7 +10058,7 @@ "investigated_at": null, "investigated_by": null, "language": "python", - "last_reconciled_at": "2026-08-23T15:07:38Z", + "last_reconciled_at": "2026-08-23T15:52:11Z", "last_seen_count": 4, "last_seen_examples": [ { @@ -10114,7 +10114,7 @@ "investigated_at": "2026-08-21T03:23:52Z", "investigated_by": "claude sonnet 5, tri-comparison-ledger-sweep (direct investigation, no dispatch needed)", "language": "python", - "last_reconciled_at": "2026-08-23T15:07:38Z", + "last_reconciled_at": "2026-08-23T15:52:11Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -10147,7 +10147,7 @@ "investigated_at": "2026-08-21T12:03:03Z", "investigated_by": "claude sonnet 5, tri-comparison-ledger-sweep (direct investigation, no dispatch needed)", "language": "python", - "last_reconciled_at": "2026-08-23T15:07:38Z", + "last_reconciled_at": "2026-08-23T15:52:11Z", "last_seen_count": 100, "last_seen_examples": [ { @@ -10263,7 +10263,7 @@ "investigated_at": "2026-08-21T12:03:03Z", "investigated_by": "claude sonnet 5, tri-comparison-ledger-sweep (direct investigation, no dispatch needed)", "language": "python", - "last_reconciled_at": "2026-08-23T15:07:38Z", + "last_reconciled_at": "2026-08-23T15:52:11Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -10294,7 +10294,7 @@ "investigated_at": null, "investigated_by": null, "language": "python", - "last_reconciled_at": "2026-08-23T15:07:38Z", + "last_reconciled_at": "2026-08-23T15:52:11Z", "last_seen_count": 100, "last_seen_examples": [ { @@ -10398,7 +10398,7 @@ "investigated_at": null, "investigated_by": null, "language": "ruby", - "last_reconciled_at": "2026-08-23T15:07:39Z", + "last_reconciled_at": "2026-08-23T15:52:12Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -10440,7 +10440,7 @@ "investigated_at": null, "investigated_by": null, "language": "ruby", - "last_reconciled_at": "2026-08-23T15:07:39Z", + "last_reconciled_at": "2026-08-23T15:52:12Z", "last_seen_count": 6, "last_seen_examples": [ { @@ -10518,7 +10518,7 @@ "investigated_at": null, "investigated_by": null, "language": "ruby", - "last_reconciled_at": "2026-08-23T15:07:39Z", + "last_reconciled_at": "2026-08-23T15:52:12Z", "last_seen_count": 3, "last_seen_examples": [ { @@ -10569,7 +10569,7 @@ "investigated_at": null, "investigated_by": null, "language": "ruby", - "last_reconciled_at": "2026-08-23T15:07:39Z", + "last_reconciled_at": "2026-08-23T15:52:12Z", "last_seen_count": 6, "last_seen_examples": [ { @@ -10644,7 +10644,7 @@ "investigated_at": null, "investigated_by": null, "language": "ruby", - "last_reconciled_at": "2026-08-23T15:07:39Z", + "last_reconciled_at": "2026-08-23T15:52:12Z", "last_seen_count": 9, "last_seen_examples": [ { @@ -10739,7 +10739,7 @@ "investigated_at": null, "investigated_by": null, "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 14, "last_seen_examples": [ { @@ -10853,7 +10853,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved directly via live ctags run, no dispatch)", "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 3, "last_seen_examples": [ { @@ -10906,7 +10906,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Gemini (dispatched via tri-comparison-ledger-sweep), confirmed by Claude Sonnet 5", "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 25, "last_seen_examples": [ { @@ -11018,7 +11018,7 @@ "investigated_at": null, "investigated_by": null, "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 25, "last_seen_examples": [ { @@ -11121,7 +11121,7 @@ "investigated_at": null, "investigated_by": null, "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 3, "last_seen_examples": [ { @@ -11172,7 +11172,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Gemini (dispatched via tri-comparison-ledger-sweep, 2 rounds with self-correction), confirmed by Claude Sonnet 5", "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 21, "last_seen_examples": [ { @@ -11284,7 +11284,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Gemini (dispatched via tri-comparison-ledger-sweep), confirmed by Claude Sonnet 5", "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 21, "last_seen_examples": [ { @@ -11397,7 +11397,7 @@ "investigated_at": null, "investigated_by": null, "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 83, "last_seen_examples": [ { @@ -11510,7 +11510,7 @@ "investigated_at": null, "investigated_by": null, "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -11543,7 +11543,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved directly via live ctags run, no dispatch)", "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -11578,7 +11578,7 @@ "investigated_at": "2026-08-19T00:00:00Z", "investigated_by": "Claude Sonnet 5 (resolved from existing Claim 6 documentation, no dispatch)", "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 152, "last_seen_examples": [ { @@ -11690,7 +11690,7 @@ "investigated_at": null, "investigated_by": null, "language": "rust", - "last_reconciled_at": "2026-08-23T15:07:43Z", + "last_reconciled_at": "2026-08-23T15:52:16Z", "last_seen_count": 152, "last_seen_examples": [ { @@ -11792,7 +11792,7 @@ "investigated_at": null, "investigated_by": null, "language": "scala", - "last_reconciled_at": "2026-08-23T15:07:45Z", + "last_reconciled_at": "2026-08-23T15:52:19Z", "last_seen_count": 16, "last_seen_examples": [ { @@ -11895,7 +11895,7 @@ "investigated_at": "2026-08-20", "investigated_by": "gemini-3.1-pro-high (agy), dispatched via tri-comparison-ledger-sweep, reviewed and fixed by claude-sonnet-5", "language": "scheme", - "last_reconciled_at": "2026-08-23T15:07:49Z", + "last_reconciled_at": "2026-08-23T15:52:23Z", "last_seen_count": 84, "last_seen_examples": [ { @@ -11997,7 +11997,7 @@ "investigated_at": null, "investigated_by": null, "language": "scheme", - "last_reconciled_at": "2026-08-23T15:07:49Z", + "last_reconciled_at": "2026-08-23T15:52:23Z", "last_seen_count": 50, "last_seen_examples": [ { @@ -12101,7 +12101,7 @@ "investigated_at": null, "investigated_by": null, "language": "shell", - "last_reconciled_at": "2026-08-23T15:07:50Z", + "last_reconciled_at": "2026-08-23T15:52:24Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -12133,7 +12133,7 @@ "investigated_at": null, "investigated_by": null, "language": "solidity", - "last_reconciled_at": "2026-08-23T15:07:51Z", + "last_reconciled_at": "2026-08-23T15:52:26Z", "last_seen_count": 6, "last_seen_examples": [ { @@ -12203,7 +12203,7 @@ "investigated_at": null, "investigated_by": null, "language": "swift", - "last_reconciled_at": "2026-08-23T15:07:53Z", + "last_reconciled_at": "2026-08-23T15:52:27Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -12234,7 +12234,7 @@ "investigated_at": null, "investigated_by": null, "language": "swift", - "last_reconciled_at": "2026-08-23T15:07:53Z", + "last_reconciled_at": "2026-08-23T15:52:27Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -12265,7 +12265,7 @@ "investigated_at": null, "investigated_by": null, "language": "swift", - "last_reconciled_at": "2026-08-23T15:07:53Z", + "last_reconciled_at": "2026-08-23T15:52:27Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -12297,7 +12297,7 @@ "investigated_at": null, "investigated_by": null, "language": "tcl", - "last_reconciled_at": "2026-08-23T15:07:54Z", + "last_reconciled_at": "2026-08-23T15:52:29Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -12330,7 +12330,7 @@ "investigated_at": null, "investigated_by": null, "language": "tcl", - "last_reconciled_at": "2026-08-23T15:07:54Z", + "last_reconciled_at": "2026-08-23T15:52:29Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -12372,7 +12372,7 @@ "investigated_at": null, "investigated_by": null, "language": "tcl", - "last_reconciled_at": "2026-08-23T15:07:54Z", + "last_reconciled_at": "2026-08-23T15:52:29Z", "last_seen_count": 4, "last_seen_examples": [ { @@ -12432,7 +12432,7 @@ "investigated_at": null, "investigated_by": null, "language": "tcl", - "last_reconciled_at": "2026-08-23T15:07:54Z", + "last_reconciled_at": "2026-08-23T15:52:29Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -12463,7 +12463,7 @@ "investigated_at": null, "investigated_by": null, "language": "tcl", - "last_reconciled_at": "2026-08-23T15:07:54Z", + "last_reconciled_at": "2026-08-23T15:52:29Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -12502,7 +12502,7 @@ "investigated_at": null, "investigated_by": null, "language": "tcl", - "last_reconciled_at": "2026-08-23T15:07:54Z", + "last_reconciled_at": "2026-08-23T15:52:29Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -12542,7 +12542,7 @@ "investigated_at": null, "investigated_by": null, "language": "tcl", - "last_reconciled_at": "2026-08-23T15:07:54Z", + "last_reconciled_at": "2026-08-23T15:52:29Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -12582,7 +12582,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -12624,7 +12624,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 501, "last_seen_examples": [ { @@ -12736,7 +12736,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 4, "last_seen_examples": [ { @@ -12795,7 +12795,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -12828,7 +12828,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 9, "last_seen_examples": [ { @@ -12933,7 +12933,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 61, "last_seen_examples": [ { @@ -13047,7 +13047,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 1907, "last_seen_examples": [ { @@ -13161,7 +13161,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -13201,7 +13201,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 2, "last_seen_examples": [ { @@ -13241,7 +13241,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 174, "last_seen_examples": [ { @@ -13353,7 +13353,7 @@ "investigated_at": null, "investigated_by": null, "language": "typescript", - "last_reconciled_at": "2026-08-23T15:08:02Z", + "last_reconciled_at": "2026-08-23T15:52:36Z", "last_seen_count": 183, "last_seen_examples": [ { @@ -13447,16 +13447,20 @@ "agreeing_tools": [ "gitgalaxy" ], - "credit_tools": [], - "debit_tools": [], + "credit_tools": [ + "gitgalaxy" + ], + "debit_tools": [ + "tree_sitter" + ], "dissenting_tools": [ "tree_sitter" ], "first_seen_at": "2026-08-18T22:45:10Z", - "investigated_at": null, - "investigated_by": null, + "investigated_at": "2026-08-23T18:02:16Z", + "investigated_by": "Antigravity", "language": "zig", - "last_reconciled_at": "2026-08-23T15:08:13Z", + "last_reconciled_at": "2026-08-23T18:06:32Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -13469,25 +13473,29 @@ } ], "metric": "existence", - "status": "unvalidated", + "status": "validated", "still_reproduces": true, "symbol_type": "class", - "verdict": null + "verdict": "GitGalaxy is correct. Tree-Sitter-Zig fails to parse Bun's custom #heap dialect extension in MimallocArena.zig, causing an ERROR node that swallows the entire class definition. GitGalaxy's regex extracts it correctly because it does not attempt to deeply parse the struct body." }, "zig/class/existence/agree[tree_sitter]_vs[gitgalaxy]": { "agreeing_tools": [ "tree_sitter" ], - "credit_tools": [], - "debit_tools": [], + "credit_tools": [ + "gitgalaxy" + ], + "debit_tools": [ + "tree_sitter" + ], "dissenting_tools": [ "gitgalaxy" ], "first_seen_at": "2026-08-18T22:45:10Z", - "investigated_at": null, - "investigated_by": null, + "investigated_at": "2026-08-23T18:02:16Z", + "investigated_by": "Antigravity", "language": "zig", - "last_reconciled_at": "2026-08-23T15:08:13Z", + "last_reconciled_at": "2026-08-23T18:06:32Z", "last_seen_count": 10, "last_seen_examples": [ { @@ -13572,25 +13580,29 @@ } ], "metric": "existence", - "status": "unvalidated", + "status": "validated", "still_reproduces": true, "symbol_type": "class", - "verdict": null + "verdict": "GitGalaxy is correct. All 10 extra Tree-Sitter classes are local variable assignments annotated with inline enums or structs (e.g. `const need_writable_dance: enum { ... } = ...`). Tree-Sitter incorrectly extracts these as top-level ContainerDecl elements instead of recognizing them as scoped variable types. GitGalaxy rightly ignores them." }, "zig/function/existence/agree[tree_sitter]_vs[gitgalaxy]": { "agreeing_tools": [ "tree_sitter" ], - "credit_tools": [], - "debit_tools": [], + "credit_tools": [ + "tree_sitter" + ], + "debit_tools": [ + "gitgalaxy" + ], "dissenting_tools": [ "gitgalaxy" ], "first_seen_at": "2026-08-18T22:45:10Z", - "investigated_at": null, - "investigated_by": null, + "investigated_at": "2026-08-23T18:02:16Z", + "investigated_by": "Antigravity", "language": "zig", - "last_reconciled_at": "2026-08-23T15:08:13Z", + "last_reconciled_at": "2026-08-23T18:06:32Z", "last_seen_count": 1, "last_seen_examples": [ { @@ -13603,10 +13615,10 @@ } ], "metric": "existence", - "status": "unvalidated", - "still_reproduces": true, + "status": "validated", + "still_reproduces": false, "symbol_type": "function", - "verdict": null + "verdict": "Tree-Sitter is correct. GitGalaxy failed to extract the dbHelper function because it possessed a 6,600+ character inline struct definition inside its parameter list. GitGalaxy's core engine (detector.py) truncated search_limit to start_idx + 2000, which prevented the search from finding the function body's `{` after the massive argument list ended. We have fixed this defect by updating search_limit dynamically." } } } diff --git a/gitgalaxy/core/detector.py b/gitgalaxy/core/detector.py index 09e607142..a155e8d59 100644 --- a/gitgalaxy/core/detector.py +++ b/gitgalaxy/core/detector.py @@ -2959,6 +2959,7 @@ def _slice_by_braces( # exact original brace-only behavior. if lang_id == "csharp": params_end_idx = self._find_balanced_end(safe_code, match.end() - 1, "(", ")") + search_limit = min(next_match_start, params_end_idx + 2000) depth_paren = 0 depth_bracket = 0 pos = params_end_idx @@ -3050,6 +3051,7 @@ def _slice_by_braces( # depth 0. elif lang_id in ("rust", "zig", "solidity"): params_end_idx = self._find_balanced_end(safe_code, match.end(), "(", ")") + search_limit = min(next_match_start, params_end_idx + 2000) depth = 0 pos = params_end_idx term_idx, term_kind = -1, None @@ -3102,6 +3104,7 @@ def _slice_by_braces( # scanning. elif lang_id == "go": params_end_idx = self._find_balanced_end(safe_code, match.end() - 1, "(", ")") + search_limit = min(next_match_start, params_end_idx + 2000) # Go has no angle-bracket grouping: generics use square brackets # ([T any]), so < and > only ever appear as operators -- most # notably the channel-direction operator (chan<- / <-chan), @@ -3161,6 +3164,7 @@ def _slice_by_braces( if paren_idx == -1: continue params_end_idx = self._find_balanced_end(safe_code, paren_idx, "(", ")") + search_limit = min(next_match_start, params_end_idx + 2000) depth_angle = 0 depth_paren = 0 pos = params_end_idx @@ -3277,6 +3281,7 @@ def _slice_by_braces( if has_parens: params_end_idx = self._find_balanced_end(safe_code, match.end(), "(", ")") + search_limit = min(next_match_start, params_end_idx + 2000) else: params_end_idx = match.end() @@ -3575,6 +3580,7 @@ def _dart_scan_terminator( # real top-level terminator. elif lang_id == "java": params_end_idx = self._find_balanced_end(safe_code, match.end() - 1, "(", ")") + search_limit = min(next_match_start, params_end_idx + 2000) depth_angle = 0 depth_bracket = 0 pos = params_end_idx diff --git a/tests/golden_master_audit.json b/tests/golden_master_audit.json index 52d601015..932b30d75 100644 --- a/tests/golden_master_audit.json +++ b/tests/golden_master_audit.json @@ -12,8 +12,8 @@ }, "Target Root Name": "data", "Absolute Project Path": "/home/joe/nyx_projects/language-crucible/data", - "Analysis ISO Timestamp": "2026-08-23T14:26:05.679560+00:00", - "Total Scan Duration": "37.6 seconds" + "Analysis ISO Timestamp": "2026-08-23T18:05:28.050531+00:00", + "Total Scan Duration": "42.06 seconds" }, "Source Control Footprint (Immutable Anchor)": { "Active Branch": "HEAD", @@ -465,7 +465,7 @@ "zig": { "files": 32, "loc": 62284, - "impact": 45662.080000000016 + "impact": 45680.98000000002 } }, "ecosystem_fingerprint": { @@ -3149,7 +3149,7 @@ }, "zig/zig": { "file_count": 5, - "total_mass": 23115.48, + "total_mass": 23134.38, "avg_exposures": { "cognitive_load": 27.13, "safety_score": 50.13, @@ -48553,7 +48553,7 @@ } }, "zig/zig": { - "Directory Group Magnitude": 23115.48, + "Directory Group Magnitude": 23134.38, "File Count": 5, "Ecosystem Fingerprint (Archetypes)": { "Unclassified": "100.0%" @@ -50619,7 +50619,7 @@ "Total LOC": 13040, "Coding LOC": 10787, "Documentation LOC": 1198, - "Structural Magnitude": 6479.24, + "Structural Magnitude": 6498.14, "Control Flow Ratio": "65.0%", "Popularity Rank": 3, "Raw Churn Frequency": 0.0, @@ -51023,6 +51023,16 @@ "Start Line": 9933, "End Line": 9955 }, + { + "Function Name": "dbHelper", + "Structural Impact": 18.9, + "Lines of Code (LOC)": 157, + "Control Flow Branches": 7, + "Input Parameters": 2, + "Control Flow Ratio": "100.0%", + "Start Line": 4823, + "End Line": 4979 + }, { "Function Name": "getCoercedFunc", "Structural Impact": 18.9, diff --git a/tests/golden_master_zero_dep_audit.json b/tests/golden_master_zero_dep_audit.json index 0b7f20693..a067734cb 100644 --- a/tests/golden_master_zero_dep_audit.json +++ b/tests/golden_master_zero_dep_audit.json @@ -12,8 +12,8 @@ }, "Target Root Name": "data", "Absolute Project Path": "/home/joe/nyx_projects/language-crucible/data", - "Analysis ISO Timestamp": "2026-08-23T14:51:21.505051+00:00", - "Total Scan Duration": "37.45 seconds" + "Analysis ISO Timestamp": "2026-08-23T18:06:16.267261+00:00", + "Total Scan Duration": "39.58 seconds" }, "Source Control Footprint (Immutable Anchor)": { "Active Branch": "HEAD", @@ -465,7 +465,7 @@ "zig": { "files": 32, "loc": 62284, - "impact": 45662.080000000016 + "impact": 45680.98000000002 } }, "ecosystem_fingerprint": { @@ -3149,7 +3149,7 @@ }, "zig/zig": { "file_count": 5, - "total_mass": 23115.48, + "total_mass": 23134.38, "avg_exposures": { "cognitive_load": 27.13, "safety_score": 50.13, @@ -48553,7 +48553,7 @@ } }, "zig/zig": { - "Directory Group Magnitude": 23115.48, + "Directory Group Magnitude": 23134.38, "File Count": 5, "Ecosystem Fingerprint (Archetypes)": { "Unclassified": "100.0%" @@ -50619,7 +50619,7 @@ "Total LOC": 13040, "Coding LOC": 10787, "Documentation LOC": 1198, - "Structural Magnitude": 6479.24, + "Structural Magnitude": 6498.14, "Control Flow Ratio": "65.0%", "Popularity Rank": 3, "Raw Churn Frequency": 0.0, @@ -51023,6 +51023,16 @@ "Start Line": 9933, "End Line": 9955 }, + { + "Function Name": "dbHelper", + "Structural Impact": 18.9, + "Lines of Code (LOC)": 157, + "Control Flow Branches": 7, + "Input Parameters": 2, + "Control Flow Ratio": "100.0%", + "Start Line": 4823, + "End Line": 4979 + }, { "Function Name": "getCoercedFunc", "Structural Impact": 18.9, diff --git a/tests/tree_sitter_accuracy_baseline_csharp.json b/tests/tree_sitter_accuracy_baseline_csharp.json index 2bd069480..50f362480 100644 --- a/tests/tree_sitter_accuracy_baseline_csharp.json +++ b/tests/tree_sitter_accuracy_baseline_csharp.json @@ -1,6 +1,6 @@ { "args_comparable": 964, - "args_exact_match": 938, + "args_exact_match": 962, "corpus_path": "language-crucible/data/csharp", "extra_classes": 0, "extra_functions": 0, diff --git a/tests/tree_sitter_accuracy_baseline_zig.json b/tests/tree_sitter_accuracy_baseline_zig.json index 6945f7597..9ae04cf9a 100644 --- a/tests/tree_sitter_accuracy_baseline_zig.json +++ b/tests/tree_sitter_accuracy_baseline_zig.json @@ -1,12 +1,12 @@ { - "args_comparable": 2750, - "args_exact_match": 2750, + "args_comparable": 2751, + "args_exact_match": 2751, "corpus_path": "language-crucible/data/zig", "extra_classes": 1, "extra_functions": 0, "files_scanned": 32, "found_classes": 648, - "found_functions": 2750, + "found_functions": 2751, "real_classes": 656, "real_functions": 2751 } diff --git a/tests/tri_comparison_baseline_zig.json b/tests/tri_comparison_baseline_zig.json new file mode 100644 index 000000000..168a2bb60 --- /dev/null +++ b/tests/tri_comparison_baseline_zig.json @@ -0,0 +1,4 @@ +{ + "class_precision": 101.37174211248285, + "func_precision": 100.0 +}