docs(tcl): language status write-up - #2521
Merged
Merged
Conversation
…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
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/language_status/tcl.md— the capstone doc thetri-comparison-ledger-sweepskill callsfor 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-crucibletcl corpus has 156 real files across 9 upstream repo folders, but only 29carry a
.tcl/.itcl/.tbc/.tmextension — the other 114 (all of SQLite's own*.testregression suite: FTS5, R-Tree, window functions, JSON, the query planner) never reach
prism/detector at all.
.testwas deliberately dropped fromextensions(# 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-quotebody") 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 clusterctags misses entirely (
deactivate_composite/deactivate/_check_registry— real procs withdeclaration 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 sameway GitGalaxy's generic quote-shielding branch used to. Consistent with, not independently proven
against, ctags' own source — documented in
ctags_reader.py's tclCTAGS_FUNC_KINDScomment andthe 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_atchanged —statusandcredit_toolswere already correct.Verification
Documentation-only pass (per the
language-statusskill: nocrucible_check.py/audit_check.pyneeded for a doc change) plus the standard tri-comparison regen discipline for the ledger/report
touch:
audit_check.pyclean,tests/tools/33 passed, structural diff againstmainconfirmszero 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