Skip to content

docs(tcl): language status write-up - #2521

Merged
squid-protocol merged 1 commit into
mainfrom
docs/tcl-language-status
Aug 31, 2026
Merged

docs(tcl): language status write-up#2521
squid-protocol merged 1 commit into
mainfrom
docs/tcl-language-status

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Summary

docs/language_status/tcl.md — the capstone doc the tri-comparison-ledger-sweep skill calls
for once a language's ledger backlog fully clears (#2519 cleared tcl's last open shape). Sections
1–8 built fresh from primary sources (LANGUAGE_DEFINITIONS["tcl"], live test-collection counts,
closed issue/PR history, gitgalaxy-raw-output); section 9 is the tri-comparison write-up.

Two things worth flagging, surfaced while gathering the material

1. 73% of the real corpus is outside tcl's scannable extension surface, by design. The
language-crucible tcl corpus has 156 real files across 9 upstream repo folders, but only 29
carry a .tcl/.itcl/.tbc/.tm extension — the other 114 (all of SQLite's own *.test
regression suite: FTS5, R-Tree, window functions, JSON, the query planner) never reach
prism/detector at all. .test was deliberately dropped from extensions (# Removed .test),
kept only as a disambiguation discriminator. No recorded rationale in issue/commit history beyond
that inline comment. Every §9 number in the doc is scoped to the 29 files — documented
plainly, not filed as an issue, since it reads as an intentional choice worth a deliberate human
look rather than a guessed fix.

2. Deepened one existing, under-evidenced ledger verdict while writing §9. The prior verdict
on agree[gitgalaxy]_vs[ctags,tree_sitter] ("GitGalaxy correctly extracts proc with double-quote
body") only actually explained one of its two occurrences. Its second occurrence
(_check_registry, macports_registry/portimage.tcl:259) turned out to sit in a 3-proc cluster
ctags misses entirely (deactivate_composite/deactivate/_check_registry — real procs with
declaration heads structurally identical to their successfully-tagged siblings just above them).
Traced it to the same odd/even single-quote-parity desync shape GitGalaxy's own pre-#2242 bug
had: a bare apostrophe inside a double-quoted string ("Can't find image file...", line 119)
followed by a '$v'-shaped pair (line 159) — apparently confusing ctags' own Tcl parser the same
way GitGalaxy's generic quote-shielding branch used to. Consistent with, not independently proven
against, ctags' own source — documented in ctags_reader.py's tcl CTAGS_FUNC_KINDS comment and
the doc's §9, not filed as an issue (a third-party C parser this repo doesn't maintain). Only the
ledger entry's verdict/investigated_by/investigated_at changed — status and
credit_tools were already correct.

Verification

Documentation-only pass (per the language-status skill: no crucible_check.py/audit_check.py
needed for a doc change) plus the standard tri-comparison regen discipline for the ledger/report
touch: audit_check.py clean, tests/tools/ 33 passed, structural diff against main confirms
zero status/credit/debit change anywhere in the ledger (verdict text enrichment only), and the
regenerated chart SVG is byte-identical (no rendering change, as expected for a doc-only pass).

🤖 Generated with Claude Code

…backlog

docs/language_status/tcl.md -- sections 1-8 built from primary sources
(LANGUAGE_DEFINITIONS["tcl"], test collection counts, closed issue/PR
history, gitgalaxy-raw-output), section 9 the tri-comparison capstone the
tri-comparison-ledger-sweep skill calls for once a language's ledger backlog
clears (#2519 cleared tcl's last open shape).

Notable findings surfaced while gathering the material (documentation only,
no engine change):

- 114 of 156 real corpus files (73%, all of SQLite's own `*.test` regression
  suite) sit entirely outside tcl's scannable extension set by design
  (`.test` was deliberately dropped from `extensions`, kept only as a
  disambiguation discriminator) -- every §9 number is scoped to the 29 real
  `.tcl` files, not the full corpus. Documented, not filed as an issue: it's
  an intentional choice with no recorded rationale to second-guess, worth a
  deliberate look rather than a guessed fix.
- Deepened one existing, under-evidenced ledger verdict
  (tcl/function/existence/agree[gitgalaxy]_vs[ctags,tree_sitter]) while
  writing §9: its second occurrence (_check_registry) sits in a 3-proc
  cluster ctags misses entirely (deactivate_composite/deactivate/
  _check_registry, macports_registry/portimage.tcl) that traces to the same
  odd/even single-quote-parity desync shape GitGalaxy's own pre-#2242 bug
  had -- a bare apostrophe inside a double-quoted string ("Can't find...")
  followed by a '$v'-shaped pair, apparently confusing ctags' own Tcl
  parser. Consistent with, not independently proven against, ctags' own
  source -- documented in ctags_reader.py's tcl CTAGS_FUNC_KINDS comment and
  the doc's §9, not filed (a third-party parser this repo doesn't
  maintain). Verdict/investigated_by/investigated_at updated on that one
  ledger entry; status and credit_tools unchanged (already correct).

docs/language_status/README.md's index row updated (39/47 wired, 43+65
tests, linked + marked written). tri_comparison_points_of_interest.md
regenerated (verdict text only -- structural diff against main confirms no
status/credit/debit change anywhere).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014BKXKcW29F3pTm7To2wMwS
@github-actions

Copy link
Copy Markdown
Contributor

🐦‍⬛ Muninn Security Scan

✅ No security issues found.

🐦‍⬛ Powered by Muninn · Skald Lab

@squid-protocol
squid-protocol merged commit eb0e4e2 into main Aug 31, 2026
28 checks passed
@squid-protocol
squid-protocol deleted the docs/tcl-language-status branch August 31, 2026 00:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant