Files
hakorune/docs/private/roadmap/phases/phase-20.10/SMOKES.md

45 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 invokequick/core
- `tools/smokes/v2/profiles/quick/core/script_runner_invoke_trace_vm.sh`
- Expects: `[script-runner] invoke`
- Runner facade workspace-onlyquick/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 probesquick/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 CABIquick/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。preinvoke は besteffort失敗時も短文のみ。既存挙動は不変。
- TTLトグル`HAKO_SCRIPT_RUNNER_FORCE_FAIL`/`TRACE`)は撤去済み(短文のみ観測)。
- externs SSOT チェックは STRICTズレ検出時は FAIL
- extern は CABI (`hako_*`) 経由で統一。AOT にドット名は流さない。