45 lines
3.0 KiB
Markdown
45 lines
3.0 KiB
Markdown
# 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.sh`
|
||
- `tools/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: OK`
|
||
- `tools/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.sh`
|
||
- `tools/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 にドット名は流さない。
|