Skip to content

typescript: re-bless case 78 for the callback edges #1653 adds (#1657) - #1684

Merged
swapnilpaliwal-sd merged 1 commit into
0.1.6from
fix/1657-case78-rebless
Sep 28, 2026
Merged

swapnilpaliwal-sd merged 1 commit into
0.1.6from
fix/1657-case78-rebless

Conversation

@swapnilpaliwal-sd

Copy link
Copy Markdown
Contributor

Refs #1657

What was wrong

engine (typescript) fails on every PR into 0.1.6 with 78-callable-collections FAIL (edges changed), 79 passed and 1 failed.

Two TypeScript engine changes met on 0.1.6 without ever running together:

With both present, case 78 gains three edges and loses none:

+callback_registered  METHOD_CALL  pipeline#<module-init>() @L11 -> steps#pushed(Node)
+callback_registered  METHOD_CALL  pipeline#runForEach(Node) @L43 -> pipeline#<arrow@43>(?)
+callback_registered  METHOD_CALL  pipeline#runReduce(Node) @L46 -> pipeline#<arrow@46>(?,?)

Each edge has the shape #1653 labels on purpose: registry.push(pushed), steps.forEach((step) => ...) and frozen.reduce((acc, step) => ...) each hand a function to a bodiless lib member. The JavaScript engine gives the same shapes the same tier. The existing edges in case 78 are unchanged, including the ambiguous_unknown value-call rows and the controls: neverRun still has no caller, because an array literal is not a call.

The change

Re-blessed expected/78-callable-collections.edges with run-tests.sh 78-callable-collections --bless --oracle. The oracle, envelope, entries and fields goldens did not change.

0.1.5 is not affected, because #1653 is not on it. The 0.1.5 release PR (#1667, run 36454504733) passes case 78 with 79 passed and 0 failed.

Locally, case 78 fails before this change with the exact diff from CI, and passes after it (1 passed, 0 failed).

Only the TypeScript suite was run; this is a golden-only change and was not measured on the corpus or on held-out projects.

@swapnilpaliwal-sd swapnilpaliwal-sd added typescript TypeScript engine Resolution / call-graph engine rules bug Something isn't working labels Sep 28, 2026
Case 78 (callable collections, #1657) was blessed on 0.1.5, before the rule that a
function handed to a bodiless library method gets a callback_registered edge from
the site that hands it over (#1653, on 0.1.6 only). With both on 0.1.6 the case
gains three such edges and loses none:

  registry.push(pushed)                 module init -> pushed
  steps.forEach((step) => step(node))   runForEach  -> its arrow
  frozen.reduce((acc, step) => ...)     runReduce   -> its arrow

Each is the shape #1653 labels on purpose, and the JavaScript engine labels the
same way. Only the .edges golden moves; the oracle, envelope and entry goldens are
unchanged.
@swapnilpaliwal-sd
swapnilpaliwal-sd merged commit aaf4267 into 0.1.6 Sep 28, 2026
12 checks passed
@swapnilpaliwal-sd
swapnilpaliwal-sd deleted the fix/1657-case78-rebless branch September 28, 2026 18:17
@swapnilpaliwal-sd swapnilpaliwal-sd mentioned this pull request Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working engine Resolution / call-graph engine rules typescript TypeScript

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant