Files
hakorune/docs/private/roadmap/phases/phase-20.13

Phase 20.13 — Script-built EXE Replacement (Runner/VM/Loader/Linker)

Status: Closed (20251027)

目的

  • Hakorune スクリプトで書かれた最適化ロジックを AOT で EXE 化し、Runner/Loader/一部VM補助を段階置換する。
  • CABI の最小カーネル(メモリ/FFI/診断/OS境界は残し、上物を置換BoxFirst + 可逆)。

フォルダ構成(実体)

  • 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 を維持。内部で CABI → FFI(native/harness) を選択(現行方針継続)。
  • スクリプトEXEは“前段の意思決定/整流/前処理”を担当、Rust本体ミニマムカーネルは安全運転を担保。
  • パリティはスモークで観測、失敗時は短文で FailFast、フォールバックはしない。

性能目標

  • Phase 20.12 で得た性能を維持または微増EXE: C の 0.60.8×、VM: Python ±20%

成果(要約)

  • Front EXErunner/loader/vm契約を確立OK/NOOP/FAIL。既定OFF、ゲートで可逆。
  • GateC(Core) 直行frontチェーンrunner→Corecanary 緑化。数値は ExitCode に反映。
  • loader_front フックは Handled採用時に ENV に適用し、Rust側は早期リターン。
  • ドキュメント/スモーク整備frontexe overview, quick allowlist

次フェーズ

  • 20.14: ENV 改革HAKO_* 正規化、alias運用、プロファイル統合、内蔵front導入の段階化
  • 20.1520.17: 自己ホストへの転換最小コンパイラ→網羅→Freeze v1