Phase 20.13 — Script-built EXE Replacement (Runner/VM/Loader/Linker)
Status: Closed (2025‑10‑27)
目的
- Hakorune スクリプトで書かれた最適化ロジックを AOT で EXE 化し、Runner/Loader/一部VM補助を段階置換する。
- C‑ABI の最小カーネル(メモリ/FFI/診断/OS境界)は残し、上物を置換(Box‑First + 可逆)。
フォルダ構成(実体)
- lang/src/tools/runner_front/ — 入口採用と整流(OK/NOOP/FAIL)
- lang/src/tools/loader_front/ — ロード方針の採用(allowlist/policy)
- lang/src/tools/vm_front/ — 軽ディスパッチ整流(任意)
- docs/guides/tools/front-exe-overview.md — 共通契約/ENV/スモークの概説
方針
- 入口は AotBox を維持。内部で C‑ABI → FFI(native/harness) を選択(現行方針継続)。
- スクリプトEXEは“前段の意思決定/整流/前処理”を担当、Rust本体(ミニマムカーネル)は安全運転を担保。
- パリティはスモークで観測、失敗時は短文で Fail‑Fast、フォールバックはしない。
性能目標
- Phase 20.12 で得た性能を維持または微増(EXE: C の 0.6–0.8×、VM: Python ±20%)
成果(要約)
- Front EXE(runner/loader/vm)契約を確立(OK/NOOP/FAIL)。既定OFF、ゲートで可逆。
- Gate‑C(Core) 直行+frontチェーン(runner→Core)canary 緑化。数値は ExitCode に反映。
- loader_front フックは Handled(採用)時に ENV に適用し、Rust側は早期リターン。
- ドキュメント/スモーク整備(front‑exe overview, quick allowlist)。
次フェーズ
- 20.14: ENV 改革(HAKO_* 正規化、alias運用、プロファイル統合)、内蔵front導入の段階化
- 20.15–20.17: 自己ホストへの転換(最小コンパイラ→網羅→Freeze v1)