Skip to content

jcl: re-verify tri-comparison manual record against the v1.2.0 corpus - #2491

Merged
squid-protocol merged 1 commit into
mainfrom
chore/jcl-manual-verification-v1.2.0
Aug 30, 2026
Merged

squid-protocol merged 1 commit into
mainfrom
chore/jcl-manual-verification-v1.2.0

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

What

#2478 bumped the language-crucible pin to v1.2.0 — which added one .jcl file, cics-java-jcics-samples/etc_VSAM_DEFVSAM.jcl (an IDCAMS VSAM-cluster define job) — without refreshing manual_verification.json. The jcl record still claimed the v1.1.0 totals (375 func / 117 class), so tri_comparison_chart.py's staleness guard (mv["total"] != live_total) tripped and jcl's Func Precision and Class Precision panels dropped to a bare 0/376 / 0/118 with no badge.

Verification

JCL has no tree-sitter/ctags parser → tri-comparison skill's manual-verification fallback. Re-verified the new file and the whole v1.2.0 corpus three independent ways:

Signature Primary regex Independent line scanner Pipeline (galaxyscope --db-only) FP Miss
func_start (EXEC steps) 376 / 376 376 376 (struct_func_start == function_count, 376 function_data rows) 0 0
class_start (JOB cards) 118 / 118 118 118 (struct_class_start == class_count, 118 class_data rows) 0 0

Zero per-file mismatches. The new file contributes exactly one EXEC step (//DEFINE EXEC PGM=IDCAMS) and one JOB card (//DEFVSAM JOB); its instream IDCAMS SYSIN control statements (DELETE / DEFINE CLUSTER) are correctly not matched. DFH$SIP1.jcl stays correctly aperture-excluded (SIP param deck, 0 signals). No engine change, no defect — net effect of the v1.2.0 expansion is +1 / +1.

Changes

  • manual_verification.json: jcl function 375→376, class 117→118 (2026-08-30), notes rewritten for the v1.2.0 corpus.
  • tri_comparison_chart.svg regenerated (--all --write): jcl Func/Class Precision restored to 376/376** / 118/118** with GitGalaxy's badge. Summary tallies: 64→66 real comparisons, GitGalaxy-best 27→29 (42%→44%). No other language's cells changed.
  • tri_comparison_ledger.json: last_reconciled_at re-stamp churn only (full regen — no status/verdict/count changes).
  • docs/language_status/jcl.md: new dated §9 subsection.

Verification chain

  • tests/tools/audit_check.py: ruff / mypy / dead-key / ast-accuracy all clear.
  • No golden-master re-bless (no engine change); no crucible_check.py (no parsing-logic change).

🤖 Generated with Claude Code

#2478 bumped the language-crucible pin to v1.2.0 (which added one .jcl file,
cics-java-jcics-samples/etc_VSAM_DEFVSAM.jcl) without refreshing
manual_verification.json. The jcl record still claimed the v1.1.0 totals
(375 func / 117 class), so the chart's staleness guard tripped and jcl's Func
Precision and Class Precision panels dropped to a bare 0/376 / 0/118 with no
badge.

Re-verified the new file and the whole v1.2.0 corpus three ways (primary regex,
independent line scanner, galaxyscope --db-only pipeline incl. function_data /
class_data row counts) -- exact agreement at 376 / 118, zero per-file
mismatches, zero false positives. The new file contributes exactly one EXEC step
(//DEFINE EXEC PGM=IDCAMS) and one JOB card (//DEFVSAM JOB); its instream IDCAMS
SYSIN control statements are correctly not matched. No engine change, no defect.

- manual_verification.json: jcl function 375->376, class 117->118 (2026-08-30),
  notes rewritten for the v1.2.0 corpus.
- tri_comparison_chart.svg regenerated (--all --write): jcl Func/Class Precision
  restored to 376/376** / 118/118** with GitGalaxy's badge; summary tallies
  64->66 comparisons, GitGalaxy-best 27->29. No other language's cells changed.
- tri_comparison_ledger.json: last_reconciled_at re-stamp churn only (full regen).
- docs/language_status/jcl.md: new dated §9 subsection.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VTkRyd9CxYQx42EMBdVkGx
@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 7880013 into main Aug 30, 2026
3 checks passed
@squid-protocol
squid-protocol deleted the chore/jcl-manual-verification-v1.2.0 branch August 30, 2026 16:37
squid-protocol added a commit that referenced this pull request Aug 30, 2026
#2491

Post-merge regen: picks up #2491's jcl manual-verification badges (376/376**,
118/118**) alongside this branch's html changes. Only html Func Found / Func
Precision cells and the summary tallies move vs. origin/main; jcl's badges and
every other language are unchanged. html ledger verdicts (both shapes validated)
preserved through the --ours conflict resolution.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VTkRyd9CxYQx42EMBdVkGx
squid-protocol added a commit that referenced this pull request Aug 30, 2026
…udit walk (#2493)

* html tri-comparison: skip non-executable <script type=...> in the audit walk

Validates html against the tri-comparison ledger. Found one comparison-tooling
defect and one minor engine over-anchor; zero real GitGalaxy recall gaps.

tree_sitter_accuracy_audit._html_embedded_ts_funcs (shared by
tri_comparison_gatherer) injected the JavaScript grammar into every <script>
element, checking only for src= and never the type= attribute. In
revealjs_decks/demo.html a <script type="text/template"> slide DISPLAYING sample
React code contributed two phantom functions (Example@145, SecondExample@158)
that GitGalaxy and ctags both correctly ignore -- counting as 2 recall misses
against GitGalaxy (html func recall 94.9%).

Fix: _html_embedded_ts_funcs now skips a <script> whose type is present and not
in _EXECUTABLE_SCRIPT_TYPES (mirrors its existing src= skip and the HTML spec's
classic/module-script gate). Also covers the corpus's x-shader/* and math/tex
blocks. Regression test: tests/tools/test_html_embedded_ts_funcs.py (7 cases).

Verification:
- recall_audit.py html: 2 -> 0 misses; gather_language("html") name-diff over
  54 files confirms zero real GitGalaxy recall gaps.
- html ts-accuracy baseline re-blessed real_functions 39 -> 37; func recall
  94.9% -> 100%. tree_sitter_accuracy_audit --all --ci: all 31 languages OK.
  Summary table in language_standards.py regenerated (Html 94.9% -> 100.0%).
- crucible_check.py: full_precision + zero_dependency both PASS (zero
  engine-output change -- this is test tooling + a docstring table).
- audit_check.py (ruff/mypy/dead-key/ast-accuracy): all clear.

Ledger:
- html/function/existence/agree[tree_sitter]_vs[ctags,gitgalaxy] -> validated,
  no longer reproduces (the fix above).
- html/function/existence/agree[gitgalaxy]_vs[ctags,tree_sitter] -> re-validated
  with an accurate verdict: its stale @media verdict no longer matched its sole
  example (script@demo.html:142, a bare <script type="text/template"> tag
  GitGalaxy's func_start anchors as a function-analog). A minor over-anchor; the
  symmetric type= exclusion for html func_start is filed as #2492 part 2
  (deferred -- language_standards.py change needing its own differential scan).
- chart SVG + points_of_interest.md regenerated.

docs/language_status/html.md: new per-language coverage doc (sections 1-8 via
the language-status skill; section 9 tri-comparison capstone written here).

Closes part 1 of #2492.

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

* Regenerate tri-comparison chart/ledger/points-of-interest after merging #2491

Post-merge regen: picks up #2491's jcl manual-verification badges (376/376**,
118/118**) alongside this branch's html changes. Only html Func Found / Func
Precision cells and the summary tallies move vs. origin/main; jcl's badges and
every other language are unchanged. html ledger verdicts (both shapes validated)
preserved through the --ours conflict resolution.

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

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
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