Skip to content

corpus(jcl): plant the PROC, teardown and executor idioms and re-bless against gitgalaxy#2755 (#2748–#2751) - #60

Merged
squid-protocol merged 4 commits into
mainfrom
corpus/2748-2751-jcl-rules
Sep 5, 2026
Merged

corpus(jcl): plant the PROC, teardown and executor idioms and re-bless against gitgalaxy#2755 (#2748–#2751)#60
squid-protocol merged 4 commits into
mainfrom
corpus/2748-2751-jcl-rules

Conversation

@squid-protocol

@squid-protocol squid-protocol commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Companion to squid-protocol/gitgalaxy#2755 (jcl api, cleanup, globals rules; high_risk_execution narrowed — #2748–#2751), now merged. Part of #59's pairing table.

Cross-repo: engine PR #2755 merged first (rosetta:rebless-owed); this is step 2 of GATING.md's "Cross-repo flow" — the corpus re-bless against engine main, green by construction. Verified locally against engine main (3b3568e0): verify_language.py jcl PASS, 88 assertions across 4 files; na_check.py --ci 0 unreviewed; bias_data.json engine_mode full-precision. After merge bias-history.yml regenerates the report, chart and findings.

Plants

file plant cells
main.jcl //ROSPROC PROC// PEND around STEP2 — the procedure declaration the EXEC ROSPROC steps invoke api 0 → 1 (file-level, api-non-function-surfaces); func_start stays 4, args stays 13 corpus-wide
main.jcl PROBERISK / STEP2 re-planted as PGM=IKJEFT01 / PGM=BPXBATCH high_risk_execution stays 2 under the narrowed rule (IEFBR14 no longer counts)
c.jcl //DD3 DD DSN=&&TMP1,DISP=(OLD,DELETE) and //DD4 DD DSN=&&TMP2,DISP=(,DELETE),UNIT=SYSDA on probe_cleanup cleanup 0 → 2 (planted); io 0 → 2 (ledgered probe-idiom-collides-with-measured-signal); DD3 is also the DISP=OLD plant gitgalaxy#2742 owed (sync_locks 1); && temp names add no DAG edge
b.jcl none — its two existing SET lines globals 0 → 2 (= median; batch4-dual-keyword-overlaps, the dockerfile ENV dual)

Ledger

The two collective entries also carry #61's safety-plant text; this branch merged main and kept both sides.

Measured effect (local full-precision regen against engine main, not shipped)

bias_report.py --gateexit 0, 0 unexplained out-of-band cells (10 undefined, 171 ledgered, 116 derived); consistency avg 87% across 49 metrics; length leaks 0/2 weak. jcl cells that move against corpus main:

metric main this PR median standing
cleanup 0 2 2 green — planted, at the median
high_risk_execution 0 2 3 amber, ledgered. Main reads 0: #2755's narrowed rule stopped counting IEFBR14, so the re-plant is what restores the paired 2
io 3 5 3 out of band, ledgered probe-idiom-collides-with-measured-signal — the accepted cost of the two teardown DDs
sync_locks 0 1 0 ungated unplanted input, so the +1 costs nothing — the point #59 turned on
raw_arch_api 0 0.25 3 file-level surface, ledgered api-non-function-surfaces
risk_safety_score 19.2 40.9 42.6 moves onto the median
risk_api_exposure / risk_documentation 5.3 / 29.3 6.2 / 33.4 7.1 / 38.3 both move toward the median

globals already read 2 on main (the rule landed in #2755 and b.jcl's SET lines carry it with no plant). func_start 13 and args 13 are untouched — the PROC wrapper and the PGM= re-plant disturb neither.

The regenerated docs/bias_* are deliberately not in this PR (AGENTS.md rule 6): bias-history.yml regenerates them against engine main after merge.

🤖 Generated with Claude Code

squid-protocol and others added 2 commits September 5, 2026 14:43
The note is append-structured, so the api / cleanup / globals / bare-PGM=
clauses written before gitgalaxy#2755 still read as current fact next to the
paragraph that reverses them. Mark each one as history and point at that
paragraph; no measured value changes (expected_signals.json is not asserted
against itself).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@squid-protocol
squid-protocol marked this pull request as ready for review September 5, 2026 18:46
@squid-protocol
squid-protocol merged commit 95a3373 into main Sep 5, 2026
1 check passed
squid-protocol added a commit that referenced this pull request Sep 6, 2026
…itgalaxy#2773) (#66)

Pairs squid-protocol/gitgalaxy#2773, merged as PR #2786 (engine 0b2e9b20), which gave the
`args` rule a stated contract -- "args matches the parameters a callable declares",
docs/args_rule_contract.md -- and anchored objective-c's and typescript's rules to it.

No authoring change: the probe shells are untouched and the fix lands both languages on the
planted 13 exactly (one parameter per probe, SPEC.md), which is the mechanical check that the
new anchors are correct and not merely narrower.

## Manifests

- data/objective-c: main 6 -> 4, a/b/c 5 -> 3. The rule matched every keyword-message SEND
  (a send is lexically identical to the untyped `label:name` parameter shape #1335 added) and
  its plain-C arm accepted any `name(...)` followed by `{`/`;`. The extra hits were
  XCTAssert/NSAssert (test), os_log/DDLogInfo (telemetry), free/release (cleanup) and
  abort/exit (high_risk_execution) -- other signals' plants, re-counted as arguments.
- data/typescript: a.ts 5 -> 3. The class-member arm was `^[ \t]*IDENT(...)` with no
  declaration anchor, so describe(kit)/expect(kit) -- both `test` plants -- scored as
  parameter lists.

## Ledger

`ts-callparen-args` named four languages; #2773 fixed two of them.

- The entry keeps its original verdict verbatim and appends the reversal (the #59-vs-#60
  pattern), scoped to the two languages it is named for: `languages_seen` objective-c +
  typescript, `still_reproduces` false, `upstream_issue` gitgalaxy#2773. Not deleted -- both
  re-blessed manifests cite this id, and per docs/GATING.md step 4 the manifests change in the
  same PR that flips `still_reproduces`.
- apex and groovy are NOT fixed and move to a new entry,
  `args-call-site-counting-apex-groovy` (disposition upstream-bug, still_reproduces true,
  upstream gitgalaxy#2783 / #2782). Same shape #2773 fixed elsewhere: a `^[ \t]*IDENT(...)`
  member arm whose return-type prefix can match zero times. Their manifests' `notes` are
  re-pointed at the new id; their numbers do not change.

## Verified

- verify_language.py: 46/46 PASS against engine main (0b2e9b20).
- na_check.py: 0 unreviewed n/a cells, no new absences.

Co-authored-by: Joe Esquibel <squid-protocol@users.noreply.github.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