diff --git a/docs/self_scan/tri_comparison_chart.svg b/docs/self_scan/tri_comparison_chart.svg
index 917670c80..e9e485545 100644
--- a/docs/self_scan/tri_comparison_chart.svg
+++ b/docs/self_scan/tri_comparison_chart.svg
@@ -411,18 +411,20 @@
haskell
-147*
+147
-146*
+146
-180*
+180
-147/147*
+147/147
-146/146*
+146/146
-78/180*
+78/180
+
+G
16
@@ -444,13 +446,15 @@
1*
-
-0*
+
+1*
0*
-
-0/1*
+
+1/1*
+
+1/1*
java
@@ -820,16 +824,16 @@
G
-10*
-
-9*
+9
+
+9
-0*
+0
-
-9/10*
+
+9/9
-9/9*
+9/9
241
@@ -1185,10 +1189,10 @@
2751
-Summary -- best tool per (language, metric), ranked panels only (Func/Class Precision), 65 real comparisons (1-bar groups and empty panels don't count)
+Summary -- best tool per (language, metric), ranked panels only (Func/Class Precision), 67 real comparisons (1-bar groups and empty panels don't count)
G
-GitGalaxy best: 28 (43%)
+GitGalaxy best: 29 (43%)
T
tree-sitter best: 4 (6%)
@@ -1196,6 +1200,6 @@
C
ctags best: 0 (0%)
-Ties: 33 (51%)
+Ties: 34 (51%)
Ranked-panel labels are matched/total; found-count panels are a single raw count, no denominator. Regenerate: tri_comparison_chart.py --all --write
\ No newline at end of file
diff --git a/docs/self_scan/tri_comparison_ledger.json b/docs/self_scan/tri_comparison_ledger.json
index 658638a53..6c1dae77a 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-29T20:33:46Z",
+ "last_reconciled_at": "2026-08-29T21:01:54Z",
"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-29T20:33:46Z",
+ "last_reconciled_at": "2026-08-29T21:01:54Z",
"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-29T20:33:47Z",
+ "last_reconciled_at": "2026-08-29T21:01:55Z",
"last_seen_count": 2,
"last_seen_examples": [
{
@@ -260,7 +260,7 @@
"investigated_at": "2026-08-27T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep",
"language": "assembly",
- "last_reconciled_at": "2026-08-29T20:33:48Z",
+ "last_reconciled_at": "2026-08-29T21:01:57Z",
"last_seen_count": 26,
"last_seen_examples": [
{
@@ -365,7 +365,7 @@
"investigated_at": "2026-08-27T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep",
"language": "assembly",
- "last_reconciled_at": "2026-08-29T20:33:48Z",
+ "last_reconciled_at": "2026-08-29T21:01:57Z",
"last_seen_count": 2,
"last_seen_examples": [
{
@@ -405,7 +405,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 23,
"last_seen_examples": [
{
@@ -519,7 +519,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 9,
"last_seen_examples": [
{
@@ -624,7 +624,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 525,
"last_seen_examples": [
{
@@ -738,7 +738,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -771,7 +771,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -804,7 +804,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 13,
"last_seen_examples": [
{
@@ -921,7 +921,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 3,
"last_seen_examples": [
{
@@ -972,7 +972,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 7,
"last_seen_examples": [
{
@@ -1059,7 +1059,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 3,
"last_seen_examples": [
{
@@ -1112,7 +1112,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 4,
"last_seen_examples": [
{
@@ -1171,7 +1171,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "c",
- "last_reconciled_at": "2026-08-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 17,
"last_seen_examples": [
{
@@ -1275,7 +1275,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-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 74,
"last_seen_examples": [
{
@@ -1388,7 +1388,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "c",
- "last_reconciled_at": "2026-08-29T20:33:55Z",
+ "last_reconciled_at": "2026-08-29T21:02:00Z",
"last_seen_count": 88,
"last_seen_examples": [
{
@@ -1493,7 +1493,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-29T20:34:09Z",
+ "last_reconciled_at": "2026-08-29T21:02:05Z",
"last_seen_count": 2,
"last_seen_examples": [
{
@@ -1534,7 +1534,7 @@
"investigated_at": "2026-08-28",
"investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep",
"language": "cobol",
- "last_reconciled_at": "2026-08-29T20:34:09Z",
+ "last_reconciled_at": "2026-08-29T21:02:05Z",
"last_seen_count": 6,
"last_seen_examples": [
{
@@ -1605,7 +1605,7 @@
"investigated_at": "2026-08-28",
"investigated_by": "Claude (Sonnet 5), direct investigation via tri-comparison-ledger-sweep",
"language": "cobol",
- "last_reconciled_at": "2026-08-29T20:34:09Z",
+ "last_reconciled_at": "2026-08-29T21:02:05Z",
"last_seen_count": 1316,
"last_seen_examples": [
{
@@ -1708,7 +1708,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-29T20:34:09Z",
+ "last_reconciled_at": "2026-08-29T21:02:05Z",
"last_seen_count": 45,
"last_seen_examples": [
{
@@ -1812,7 +1812,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 2,
"last_seen_examples": [
{
@@ -1854,7 +1854,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 2,
"last_seen_examples": [
{
@@ -1896,7 +1896,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 84,
"last_seen_examples": [
{
@@ -2010,7 +2010,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 22,
"last_seen_examples": [
{
@@ -2124,7 +2124,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 2,
"last_seen_examples": [
{
@@ -2166,7 +2166,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 61,
"last_seen_examples": [
{
@@ -2280,7 +2280,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -2312,7 +2312,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -2343,7 +2343,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "cpp",
- "last_reconciled_at": "2026-08-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 76,
"last_seen_examples": [
{
@@ -2447,7 +2447,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 66,
"last_seen_examples": [
{
@@ -2561,7 +2561,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -2594,7 +2594,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 30,
"last_seen_examples": [
{
@@ -2708,7 +2708,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 9,
"last_seen_examples": [
{
@@ -2813,7 +2813,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 12,
"last_seen_examples": [
{
@@ -2926,7 +2926,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "cpp",
- "last_reconciled_at": "2026-08-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 64,
"last_seen_examples": [
{
@@ -3030,7 +3030,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-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 200,
"last_seen_examples": [
{
@@ -3143,7 +3143,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "cpp",
- "last_reconciled_at": "2026-08-29T20:34:15Z",
+ "last_reconciled_at": "2026-08-29T21:02:09Z",
"last_seen_count": 195,
"last_seen_examples": [
{
@@ -3247,7 +3247,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 9,
"last_seen_examples": [
{
@@ -3352,7 +3352,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "csharp",
- "last_reconciled_at": "2026-08-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 5,
"last_seen_examples": [
{
@@ -3421,7 +3421,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "csharp",
- "last_reconciled_at": "2026-08-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 6,
"last_seen_examples": [
{
@@ -3498,7 +3498,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "csharp",
- "last_reconciled_at": "2026-08-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 9,
"last_seen_examples": [
{
@@ -3597,7 +3597,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -3630,7 +3630,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 7,
"last_seen_examples": [
{
@@ -3720,7 +3720,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 2,
"last_seen_examples": [
{
@@ -3761,7 +3761,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -3794,7 +3794,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "csharp",
- "last_reconciled_at": "2026-08-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 26,
"last_seen_examples": [
{
@@ -3898,7 +3898,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 271,
"last_seen_examples": [
{
@@ -4012,7 +4012,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "csharp",
- "last_reconciled_at": "2026-08-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 4,
"last_seen_examples": [
{
@@ -4072,7 +4072,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -4105,7 +4105,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 108,
"last_seen_examples": [
{
@@ -4221,7 +4221,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-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 46,
"last_seen_examples": [
{
@@ -4334,7 +4334,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "csharp",
- "last_reconciled_at": "2026-08-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 317,
"last_seen_examples": [
{
@@ -4438,7 +4438,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "csharp",
- "last_reconciled_at": "2026-08-29T20:34:21Z",
+ "last_reconciled_at": "2026-08-29T21:02:12Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -4471,7 +4471,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-29T20:34:22Z",
+ "last_reconciled_at": "2026-08-29T21:02:14Z",
"last_seen_count": 3,
"last_seen_examples": [
{
@@ -4520,7 +4520,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-29T20:34:27Z",
+ "last_reconciled_at": "2026-08-29T21:02:16Z",
"last_seen_count": 6,
"last_seen_examples": [
{
@@ -4591,7 +4591,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-29T20:34:27Z",
+ "last_reconciled_at": "2026-08-29T21:02:16Z",
"last_seen_count": 12,
"last_seen_examples": [
{
@@ -4694,7 +4694,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-29T20:34:27Z",
+ "last_reconciled_at": "2026-08-29T21:02:16Z",
"last_seen_count": 9,
"last_seen_examples": [
{
@@ -4790,7 +4790,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-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 8,
"last_seen_examples": [
{
@@ -4891,7 +4891,7 @@
"investigated_at": "2026-08-24T04:14:26Z",
"investigated_by": "Antigravity (direct sweep)",
"language": "fortran",
- "last_reconciled_at": "2026-08-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -4923,7 +4923,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-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -4955,7 +4955,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-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -4986,7 +4986,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "fortran",
- "last_reconciled_at": "2026-08-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -5018,7 +5018,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-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 15,
"last_seen_examples": [
{
@@ -5132,7 +5132,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-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 2,
"last_seen_examples": [
{
@@ -5176,7 +5176,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-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -5208,7 +5208,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "fortran",
- "last_reconciled_at": "2026-08-29T20:34:34Z",
+ "last_reconciled_at": "2026-08-29T21:02:21Z",
"last_seen_count": 16,
"last_seen_examples": [
{
@@ -5317,7 +5317,7 @@
"investigated_at": "2026-08-24T04:14:26Z",
"investigated_by": "Antigravity (direct sweep)",
"language": "go",
- "last_reconciled_at": "2026-08-29T20:34:36Z",
+ "last_reconciled_at": "2026-08-29T21:02:23Z",
"last_seen_count": 75,
"last_seen_examples": [
{
@@ -5429,7 +5429,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "go",
- "last_reconciled_at": "2026-08-29T20:34:36Z",
+ "last_reconciled_at": "2026-08-29T21:02:23Z",
"last_seen_count": 75,
"last_seen_examples": [
{
@@ -5533,7 +5533,7 @@
"investigated_at": "2026-08-19T00:00:00Z",
"investigated_by": "Claude Sonnet 5 (session investigation)",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 16,
"last_seen_examples": [
{
@@ -5645,7 +5645,7 @@
"investigated_at": "2026-08-19T00:00:00Z",
"investigated_by": "Claude Sonnet 5 (session investigation)",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 9,
"last_seen_examples": [
{
@@ -5742,14 +5742,15 @@
"gitgalaxy"
],
"credit_tools": [],
+ "debit_tools": [],
"dissenting_tools": [
"tree_sitter"
],
"first_seen_at": "2026-08-28T00:09:11Z",
- "investigated_at": null,
- "investigated_by": null,
+ "investigated_at": "2026-08-29",
+ "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -5763,10 +5764,10 @@
}
],
"metric": "existence",
- "status": "unvalidated",
+ "status": "validated",
"still_reproduces": true,
"symbol_type": "function",
- "verdict": null
+ "verdict": "Reconciler rank-pairing artifact from ctags-haskell's per-line tagging. All three tools FIND the function -- pandoc/Shared.hs's `addPandocAttributes`: GitGalaxy at line 299 (the bare name line of a multi-line definition), tree-sitter-haskell at line 301 (the first equation), each exactly once. ctags-haskell emits THREE `f` tags for it, at lines 300, 301 and 302 (the `::` type-signature line plus both `addPandocAttributes ... = ...` equation lines). tri_comparison_reconcile pairs same-named occurrences by rank: GitGalaxy's single occurrence rank-pairs with ctags' rank-1 tag (@300) and tree-sitter's single occurrence rank-pairs with ctags' rank-2 tag (@301), so the GitGalaxy+ctags slot is left with no tree-sitter partner and surfaces as `agree[ctags,gitgalaxy]_vs[tree_sitter]` for 1 occurrence. Not a tree-sitter recall gap and not a GitGalaxy defect -- purely ctags' surplus tags shifting the rank alignment. Documented in tests/tools/ctags_reader.py's haskell CTAGS_FUNC_KINDS comment. No credit/debit: ctags' extra tags are its own per-line behaviour, not a shared mistake with another tool, and neither GitGalaxy nor tree-sitter has a confirmed limitation here."
},
"haskell/function/existence/agree[ctags,tree_sitter]_vs[gitgalaxy]": {
"agreeing_tools": [
@@ -5782,7 +5783,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -5815,7 +5816,7 @@
"investigated_at": "2026-08-19T00:00:00Z",
"investigated_by": "Claude Sonnet 5 (dispatched agent investigation)",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 102,
"last_seen_examples": [
{
@@ -5929,7 +5930,7 @@
"investigated_at": "2026-08-19T00:00:00Z",
"investigated_by": "Claude Sonnet 5 (dispatched agent investigation)",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 69,
"last_seen_examples": [
{
@@ -6045,7 +6046,7 @@
"investigated_at": "2026-08-19T00:00:00Z",
"investigated_by": "Claude Sonnet 5 (session investigation)",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -6077,7 +6078,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 1,
"last_seen_examples": [
{
@@ -6109,7 +6110,7 @@
"investigated_at": "2026-08-26T00:00:00Z",
"investigated_by": "Claude (Sonnet 5), dispatched via tri-comparison-ledger-sweep",
"language": "haskell",
- "last_reconciled_at": "2026-08-29T20:34:38Z",
+ "last_reconciled_at": "2026-08-29T21:02:26Z",
"last_seen_count": 91,
"last_seen_examples": [
{
@@ -6209,20 +6210,54 @@
"symbol_type": "function",
"verdict": "Stale, fully resolved by the same haskell-hardening wave as the sibling shape above. A fresh gather of every sampled example (isPandocCiteproc in App.hs; applyFilter and toJSON in Filter.hs; nine toJSON instance methods in Options.hs) shows GitGalaxy now matches tree-sitter exactly, occurrence-for-occurrence and line-for-line (e.g. Options.hs toJSON: both tools find the identical 9-line set), with only ctags missing all of them -- precisely the already-validated shape `haskell/function/existence/agree[gitgalaxy,tree_sitter]_vs[ctags]` ('locally-scoped function definitions... instance ... where methods... ctags' Haskell parser has no layout-rule/scope awareness... pure scope blind spot'). None of this shape's original examples still show GitGalaxy missing anything tree-sitter finds."
},
+ "html/function/existence/agree[gitgalaxy,tree_sitter]_vs[ctags]": {
+ "agreeing_tools": [
+ "gitgalaxy",
+ "tree_sitter"
+ ],
+ "credit_tools": [],
+ "debit_tools": [],
+ "dissenting_tools": [
+ "ctags"
+ ],
+ "first_seen_at": "2026-08-29T21:02:27Z",
+ "investigated_at": "2026-08-29",
+ "investigated_by": "Claude Sonnet 5, dispatched via tri-comparison-ledger-sweep",
+ "language": "html",
+ "last_reconciled_at": "2026-08-29T21:02:27Z",
+ "last_seen_count": 1,
+ "last_seen_examples": [
+ {
+ "file_path": "cpython_jinja/layout.html",
+ "name": "media",
+ "readings": {
+ "ctags": null,
+ "gitgalaxy": 40,
+ "tree_sitter": 40
+ }
+ }
+ ],
+ "metric": "existence",
+ "status": "validated",
+ "still_reproduces": true,
+ "symbol_type": "function",
+ "verdict": "GitGalaxy correct, corroborated by tree-sitter, ctags structurally cannot see it. cpython_jinja/layout.html:40 `@media only screen { ... }` inside a `