Skip to content

Handle residual TypeScript runtime limitations in Calls experiments - #394

Open
CaelmBleidd wants to merge 10 commits into
caelmbleidd/stdlib-gap-modelsfrom
caelmbleidd/iccq-runtime-limitations
Open

CaelmBleidd wants to merge 10 commits into
caelmbleidd/stdlib-gap-modelsfrom
caelmbleidd/iccq-runtime-limitations

Conversation

@CaelmBleidd

@CaelmBleidd CaelmBleidd commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Summary

Handle residual TypeScript runtime cases observed while preparing the complete-pair unknown-call experiment. These cases previously surfaced as TOOL_ERROR or produced excessive limitation telemetry.

  • Keep fresh unknown-call string results typed so later string operations can read symbolic character storage. Preserve the IR type when Number is absent from the SDK, and map intersection types with a common sort.
  • Report unsupported array storage, used caught-exception values, regular-expression literals, and string operand conversion as explicit runtime limitations. Let unresolved fields of absent classes remain unresolved.
  • Deduplicate ARRAY_STORAGE_TYPE telemetry by statement and detail within one analysis.
  • Route synthetic virtual receivers through the unknown-call policy. Report unsupported synthetic or conditional field receivers as explicit runtime limitations for reads and writes.
  • Keep a fake type reflexive for singleton type-stream filtering, while preventing it from proving a relation to a distinct structural type.
  • Allow the Calls distribution metadata to name the pinned external TypeScript frontend revision used by an experiment build.

Review order

Stacked on #410, which is stacked on #391: review #391 → #410 → this PR. The companion frontend fix is JacoDB #366.

Validation

  • Focused Gradle tests for all changed TypeScript runtime test classes, CallsUnknownCallTelemetryTest, and CurrentTsCallsSymbolicEngineTest passed after the rebase.
  • The new fake-type regression test covers USingleTypeStream filtering by the same fake type.
  • Earlier technical preflight on a compatible runtime changed one historical TOOL_ERROR case to REACHED in a 30-second search. This was not a full paired measurement or replay result.

The full 30/60/120-second experiment has not run. It should start only after review, merge, and fresh integration checks of the final revisions.

@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/iccq-runtime-limitations branch from ee10452 to ee6b258 Compare September 30, 2026 21:09
@CaelmBleidd
CaelmBleidd changed the base branch from caelmbleidd/stdlib-source-models to caelmbleidd/stdlib-gap-models September 30, 2026 21:09
@CaelmBleidd
CaelmBleidd force-pushed the caelmbleidd/iccq-runtime-limitations branch from ee6b258 to abbee67 Compare September 30, 2026 21:16
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