3.0 KiB
3.0 KiB
Phase 20.10 — Runner & SSOT Smokes
Purpose
- Verify Script Runner facade invoke under VM.
- Verify externs SSOT stays in sync (STRICT).
- Observe UsingResolver probes (front/compare/shadow) without affecting behavior.
Gates
HAKO_SCRIPT_RUNNER— runner facade(既定ON。0|off|falseで無効化)。HAKO_USING_RESOLVER_FRONT=1— UsingResolver ModuleFunction の前段プローブ。HAKO_USING_RESOLVER_COMPARE=1— UsingResolver ModuleFunction の存在比較(OK/FAIL)。HAKO_USING_RESOLVER_SHADOW=1— Rust側件数出力+比較(DIFF=0|1)。HAKO_USING_RESOLVER_SHADOW_STRICT=1— DIFF検出時にFail(任意)。CI_STRICT=1— 形状チェック(ヘッダ/AOT/他)の FAIL 昇格(externsは常時STRICT)。
Tests
- Runner facade invoke(quick/core)
tools/smokes/v2/profiles/quick/core/script_runner_invoke_trace_vm.sh- Expects:
[script-runner] invoke
- Runner facade workspace-only(quick/core, integration-core)
tools/smokes/v2/profiles/quick/core/script_runner_invoke_workspace_only_vm.shtools/smokes/v2/profiles/integration-core/script_runner_invoke_workspace_only_vm_core.sh- Expects:
[script-runner] invoke(overrides 無し、workspace のみで解決)
- UsingResolver probes(quick/core)
tools/smokes/v2/profiles/quick/core/using_resolver_front_probe_vm.sh—[using-resolver] modulefn(FAIL許容)tools/smokes/v2/profiles/quick/core/using_resolver_compare_vm.sh—[using-resolver] compare: OKtools/smokes/v2/profiles/quick/core/using_resolver_compare_lang_vm.sh— VM counts と lang stats の一致を検証tools/smokes/v2/profiles/quick/core/using_resolver_compare_lang_shape_vm.sh— VM stats(JSON) と lang stats(JSON) の一致を検証tools/smokes/v2/profiles/quick/core/using_resolver_min_shape_lang_vm.sh— lang resolve 最小形状(空形状)を確認- 負例(ModuleFunction missing を観測)
tools/smokes/v2/profiles/quick/core/using_resolver_front_probe_missing_vm.sh—[using-resolver] modulefn: FAILまたはInvalid instruction:を観測tools/smokes/v2/profiles/quick/core/using_resolver_compare_missing_vm.sh—[using-resolver] compare: FAILまたはInvalid instruction:を観測
- Externs SSOT(生成+整合)
tools/smokes/v2/profiles/quick/core/externs_ssot_generate_check.shtools/ci/run_local_checks.sh(externsは常時STRICT。driftはFAIL)
- AOT C‑ABI(quick/llvm)
tools/smokes/v2/profiles/quick/llvm/aot_c_api_compile_link_run.sh- Linux/Darwinで実行。Windows(MinGW) は依存が揃えば実行、未満はSKIP(依存: llvmlite + ny-llvmc + MinGW/clang)
Notes
- Facade は既定ON。pre‑invoke は best‑effort(失敗時も短文のみ)。既存挙動は不変。
- TTLトグル(
HAKO_SCRIPT_RUNNER_FORCE_FAIL/TRACE)は撤去済み(短文のみ観測)。 - externs SSOT チェックは STRICT(ズレ検出時は FAIL)。
- extern は C‑ABI (
hako_*) 経由で統一。AOT にドット名は流さない。