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

3.0 KiB
Raw Blame History

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] invokeoverrides 無し、workspace のみで解決)
  • UsingResolver probesquick/core
    • tools/smokes/v2/profiles/quick/core/using_resolver_front_probe_vm.sh[using-resolver] modulefnFAIL許容
    • 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.shexternsは常時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 にドット名は流さない。