Skip to content

corpus(apex, groovy): re-bless args against engine main (gitgalaxy#2782, #2783) - #70

Merged
squid-protocol merged 1 commit into
mainfrom
corpus/rebless-apex-groovy-args
Sep 6, 2026
Merged

corpus(apex, groovy): re-bless args against engine main (gitgalaxy#2782, #2783)#70
squid-protocol merged 1 commit into
mainfrom
corpus/rebless-apex-groovy-args

Conversation

@squid-protocol

Copy link
Copy Markdown
Owner

Pays the rosetta:rebless-owed label on squid-protocol/gitgalaxy#2790 (engine 2ca956ac, merged 2026-09-06 03:45 UTC), which fixed apex's and groovy's args rules via gitgalaxy#2783 and #2782.

Why this was outstanding. gitgalaxy#2773's corpus pairing (#66 here) re-blessed only objective-c and typescript, because those were the two languages PR #2786 fixed. That PR explicitly split apex and groovy out into the ledger entry args-call-site-counting-apex-groovy "for exactly these two follow-ups", which then landed separately in #2790. The corpus side of #2790 was never done, so rosetta_audit.py has been reporting 2 regressions against engine main since it merged.

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) — the same mechanical check #66 used, and the reason this is a fix rather than a merely narrower rule.

Manifests

file args the extra hits that were call sites
apex/main.cls 7 → 4 probeBranch / probeIo / probeRisk dispatch calls
apex/a.cls 5 → 3 isAccessible / StripInaccessible (both safety plants)
groovy/main.groovy 7 → 4 the three dispatch calls
groovy/a.groovy 4 → 3 assertEquals (a test plant)
groovy/c.groovy 5 → 3 close / dispose (both cleanup plants)

Same defect shape in both, with a different cause for the zero-length prefix: apex's return type carried a trailing ?, so the member arm's prefix could match zero times; groovy's return-type run is {0,3}, and def means a Groovy method genuinely can have no return type. Either way the arm degenerated to ^IDENT(...), which is the shape of a bare call in statement position.

b.cls and b.groovy already read the planted 3 and are unchanged.

Ledger

args-call-site-counting-apex-groovystill_reproduces: false, with the fixing PR, the per-file movements and the planted-13 check recorded in the verdict. Entry kept, per GATING step 4.

Verification

  • verify_language.py apex / groovy — PASS, 76 assertions each, 0 mismatches
  • rosetta_audit.py — 46 languages, 0 regressions (was 2)
  • na_check.py — 0 unreviewed n/a cells, no new absences
  • language_deviations.py apex / groovy — exit 0

Verified against engine origin/main with 2ca956ac confirmed as an ancestor.

🤖 Generated with Claude Code

…82, #2783)

Pays the `rosetta:rebless-owed` label on squid-protocol/gitgalaxy PR #2790
(engine 2ca956ac, merged 2026-09-06), which fixed apex's and groovy's `args`
rules. #2773's own corpus pairing (PR #66 here) re-blessed only objective-c and
typescript, because those were the two languages #2786 fixed; it split apex and
groovy out into `args-call-site-counting-apex-groovy` for exactly these two
follow-ups. This is that entry being paid.

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/apex: main.cls 7 -> 4, a.cls 5 -> 3. The member arm's return-type prefix
  carried a trailing `?`, so it could match zero times and the alternative
  degenerated to the shape of a bare call. The extra hits were the
  probeBranch/probeIo/probeRisk dispatch calls in main, and isAccessible /
  StripInaccessible (both `safety` plants) in a.
- data/groovy: main 7 -> 4, a 4 -> 3, c 5 -> 3. Same shape, different cause for
  the zero-length prefix: the return-type run is `{0,3}`, and `def` means a
  Groovy method genuinely can have no return type. The extra hits were the three
  dispatch calls in main, assertEquals (a `test` plant) in a, and close/dispose
  (both `cleanup` plants) in c.

b.cls and b.groovy already read the planted 3 and are unchanged.

## Ledger

`args-call-site-counting-apex-groovy` -> `still_reproduces: false`, with the
fixing PR, the per-file movements and the planted-13 check recorded. The entry
is kept, per GATING step 4.

## Verification

- `verify_language.py apex` / `groovy` -- PASS, 76 assertions each, 0 mismatches
- `rosetta_audit.py` -- 46 languages, **0 regressions** (was 2)
- `na_check.py` -- 0 unreviewed n/a cells, no new absences
- `language_deviations.py` apex / groovy -- exit 0

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@squid-protocol
squid-protocol merged commit 6bbff44 into main Sep 6, 2026
1 check passed
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