Skip to content

corpus(jcl,yaml): plant the #2732 comment-stream idioms, retire the ledger entry - #55

Merged
squid-protocol merged 2 commits into
mainfrom
corpus/2732-jcl-yaml-comment-stream-plants
Sep 5, 2026
Merged

corpus(jcl,yaml): plant the #2732 comment-stream idioms, retire the ledger entry#55
squid-protocol merged 2 commits into
mainfrom
corpus/2732-jcl-yaml-comment-stream-plants

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Paired corpus plant for squid-protocol/gitgalaxy#2736 (issue gitgalaxy#2732), which fills the three comment-stream rule absences the epic #2560 n/a sweep flagged: jcl/dead_code, jcl/spec_exposure, yaml/spec_exposure.

Why this is required rather than optional

docs/GATING.md's n/a semantics end a cell's incomparability the moment its rule stops being None, whether or not the corpus has anything for it to match. The engine PR moves nothing in yaml at all across the ~80-repo crucible — the anchored rule finds no [SPEC-n] tag anywhere in real-world YAML — so unplanted, these three cells would land as manufactured measured-0s scored against the median. This is the same paired-work shape as gitgalaxy#2644/#2645/#2646/#2647.

What is planted

Both plants sit on the c file, beside the two comment-stream signals already there (fragile_debt, planned_debt):

language file plant signal
jcl c.jcl //*PROBEDEAD EXEC ROSPROC,PARM='D' dead_code 1
jcl c.jcl //* [SPEC-2732] traceability tag for the rosetta corpus spec_exposure 1
yaml c.yml # [SPEC-2732] traceability tag for the rosetta corpus spec_exposure 1

dead_code was already a plant-if-idiomatic signal in SPEC.md, and JCL has the idiom (turning a statement's // into //* is the universal practice — 13 of the 443 licensed pool .jcl/.prc files do it). spec_exposure joins that same list.

yaml/dead_code is deliberately not touched. yaml has always defined that rule, so its 0 is a pre-existing comparable measurement, not an n/a-to-0 flip — gitgalaxy#2732 scopes it out explicitly. Recorded in the manifest notes so the next sweep sees the asymmetry is intentional.

Ledger

comment-stream-rules-missing-jcl-yaml retires: still_reproducesfalse, resolved_bygitgalaxy#2736.

It also carries a correction, recorded because the filed issue inherited the entry's original reasoning. The entry called yaml's absence arbitrary on the grounds that

flow-sequence brackets cannot FP because spec_exposure never sees the code stream

That is false. detector.coding_analysis applies every non-underscore rule to the code stream, and comment_analysis then adds a second pass over the comments — it supplements the code-stream pass rather than replacing it. Measured: the unanchored generic rule scores spec_exposure=1 on a comment-free workflow whose only bracket is needs: [audit, lint]. The rules that shipped are therefore anchored to each language's comment marker (^[ \t]*#, ^//\*), and gained a \b after the tag alternation because the bare spec branch otherwise matches "specified"/"species".

Verification

Against the engine PR's build (GALAXYSCOPE_BIN → gitgalaxy#2736's full-precision venv):

PASS jcl:  88 assertions across 4 files
PASS yaml: 84 assertions across 4 files
na_check: unreviewed n/a cells: 0 (0 baselined) — no new unreviewed absences

The --report scans confirm no collateral drift: every other signal in all eight files is unchanged, and yaml/c.yml gains spec_exposure only (no dead_code).

Bias report/chart artifacts are not shipped here — bias-history.yml regenerates them at full precision against engine main after merge (AGENTS.md rule 6).

Cross-repo

  • Companion: feat(core-engine): jcl dead_code + jcl/yaml spec_exposure comment-stream rules (#2732) gitgalaxy#2736 (engine rules + strict tests + golden-master bless)
  • Merge order: the engine PR merges FIRST. This repo's CI checks out the engine at main, so this PR is green by construction only once #2736 has landed — hence draft.
  • What re-runs after: this repo's verify.yml on un-drafting; bias-history.yml regenerates the bias report/chart against engine main post-merge; gitgalaxy's rosetta-audit picks up the plants on its next run.

To check this against the unmerged engine PR before it lands, dispatch verify.yml with engine_ref=pull/2736/head.

🤖 Generated with Claude Code

https://claude.ai/code/session_01M8F1cmMsujEjWnnw4d1e4W

squid-protocol and others added 2 commits September 4, 2026 21:27
Paired plant for gitgalaxy#2736 (issue gitgalaxy#2732), which fills
jcl/dead_code, jcl/spec_exposure and yaml/spec_exposure. Per docs/GATING.md,
filling a None rule ends the cell's n/a exemption whether or not the corpus
has anything to match, so without these the three cells would land as
manufactured measured-0s.

Manifests and ledger follow in the next commit, after a verifying scan.
Manifests gain the three new cells (jcl dead_code + spec_exposure, yaml
spec_exposure), each planted once on the c file beside the other
comment-stream signals, 0 elsewhere. Verified against gitgalaxy#2736's build:
PASS jcl (88 assertions), PASS yaml (84), na_check 0 unreviewed.

Ledger entry comment-stream-rules-missing-jcl-yaml retires
(still_reproduces -> false, resolved_by gitgalaxy#2736) and carries a
CORRECTION, recorded because the filed issue inherited the original reasoning:
the entry called yaml's absence arbitrary on the grounds that "flow-sequence
brackets cannot FP because spec_exposure never sees the code stream". That is
false -- coding_analysis applies every non-underscore rule to the code stream
and comment_analysis then adds a second pass over the comments. Measured, the
unanchored generic rule scores spec_exposure=1 on a comment-free workflow
containing only `needs: [audit, lint]`, so the rule that shipped is anchored to
each language's comment marker instead.

SPEC.md adds spec_exposure to the plant-only-if-idiomatic list beside
dead_code/api/encapsulation/ownership, with a warning that the engine's
spec_exposure rules are themselves non-uniform (some comment-anchored, some
bare bracket patterns), so a future author checks the language's actual rule
before assuming a plant will match.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M8F1cmMsujEjWnnw4d1e4W
@squid-protocol
squid-protocol marked this pull request as ready for review September 5, 2026 13:38
@squid-protocol
squid-protocol merged commit 394ccbb into main Sep 5, 2026
2 of 3 checks passed
@squid-protocol
squid-protocol deleted the corpus/2732-jcl-yaml-comment-stream-plants branch September 5, 2026 13:38
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