Skip to content

[Epic][TS Calls] Introduce explicit fallback policies and partial semantic models #360

Description

@CaelmBleidd

Goal

Make unknown-call behavior explicit and evaluate its effect on symbolic exploration and concrete reproducibility.

Scope

  • Use the current USVM and native JacoDB TypeScript frontend.
  • Reuse one typed unknown-call dispatch boundary.
  • Select an immutable set of semantic models independently from STOP_PATH or FRESH_SYMBOLIC_RETURN fallback.
  • Support guarded normal/exceptional successors, state changes and aliases, with an explicit residual domain routed to fallback.
  • Execute source models through the normal EtsIR interpreter; use intrinsics for engine primitives unavailable or inefficient in ordinary TypeScript.
  • Observe decisions through TsInterpreterObserver. Persistent path history and stopped-state snapshots are not production requirements.
  • Select a small justified model set using a real-project census and existing-model audit, then compare policy/model configurations with real TypeScript replay.

First-priority gate

#383 is P0 and blocks completion of #365/#366 and further integration using their old contract. Reuse the simplification already in PR #377/#380; do not create a duplicate implementation.

A model needs an ID, a declarative target and execution. Do not reintroduce separate backend/registration/descriptor layers, redundant implementation-kind/precision values, manually maintained model versions, or a generic plugin framework.

Work

Definition of Done

  • All relevant unknown calls use one documented boundary or have an explicit exclusion.
  • Fallback semantics are consistent; opaque returns do not claim to model arbitrary side effects or exceptions.
  • Built-in model applicability depends on sufficient target/receiver evidence, not a method name or one possible type.
  • Unsupported domains retain their configured fallback; trusted models have focused guard, alias and exception tests.
  • One useful intrinsic and one ordinary TypeScript model demonstrate the two implementation mechanisms.
  • Decision observation does not change exploration or require generic core-state changes.
  • A frozen model set and development/held-out evaluation in [TS Calls] Evaluate fallback policies and models with concrete replay #385 measure real replay-confirmed targets on comparable budgets.
  • Mandatory language semantics and correctness fixes remain identical between experimental profiles.
  • Negative results and unsupported cases are reported.

PBT generation, hybrid scheduling, LLM/MCP, a complete standard library and speculative research-state APIs are outside this epic.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions