Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

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

Đang mở
#360 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
kotlin, typescript
Lĩnh vực
compilers

Hướng nghiên cứu

Begin with blocking issue #383 and the simplification in PRs #377/#380, then trace the TsInterpreterObserver and EtsIR interpreter contracts. Review the dependent work in #365, #366, #367, #368, and #385; completion requires the documented boundary, justified model set, focused behavior tests, and replay-based evaluation described in the definition of done.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

  • Completed foundation: #361, #362, #363, #364.
  • Priority simplification gate: #383.
  • Model integration: #365, #366.
  • Independent census and audit: #367, #368. Their preparatory work may continue while the gate is resolved.
  • Final policy/model experiment: #385. Add bounded family implementation prerequisites only when the census justifies them.
  • Optional research-only frontier capture: #373, only when a concrete consumer needs more than existing decision events.

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 #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.

Ngôn ngữ chính
Kotlin
Star
33
Fork
27
Merge trung bình
3 ngày 8 giờ
Pull request đã merge (30 ngày)
7

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của UnitTestBot/usvm

Tất cả issue của UnitTestBot/usvm

Issue tương tự

Thêm issue về Kotlin

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.