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

Phase 20.16 — Frozen v1Stage 0→1→2

Purpose

  • 凍結ツールチェーンの最小一式compiler/core, runtime/minimalvm, stdlib/minimalを構築し、自己ビルドの再現性を確認する。

Strategy

  • Stage 0: Rust で frozenv1 をビルド(発射台)
  • Stage 1: frozenv1 で同一ソースを再ビルド(自己)
  • Stage 2: 生成物の hash/正規化 diff を比較し、再現性を確認S3 は任意)

Acceptance Criteria

  • S0→S1→S2 のビルドが安定し、S1 と S2 の差分が 0または許容差分が文書化
  • JSON v0 / Core 意味論 / 診断タグは v1 仕様として固定docs 参照)
  • quick/integration は既定OFF、optin で selfhost canary が全緑

Notes

  • 「削減%」のメトリクスは廃止。代わりに契約準拠率・再現性・パリティで測る。
  • 詳細戦略: ../FROZEN_TOOLCHAIN_STRATEGY.md
  • Stage driver: docs/development/tools/stage-pipeline.mdS0/S1/S2 の使い方)

Results (closeout)

  • S2(strict) 比較は代表サンプルで緑nestedif, diamond+phi。loop サンプルは verifier 警告の観測教材として保留。
  • MIR JSON の安定化ValueId の遭遇順リネンバリングを導入し、2回 emit の差分を大幅に低減。
  • child_env をヘルパーに一元化selfhost 子/nyvm(Core)/GateC JSON 経路。inline selfhost 経路もヘルパー適用。
  • HKI v1 bring-up: kni.* を第一表記にし、HAKO_KNI_TIME / HAKO_KNI_FS ゲートと GateC preflight を追加。fs/time スモークを quick/core に追加。
  • HKI canary を quick allowlist へ組み込みoptin。追加: kni.fs.read_all 負例/正例、kni.time.now_mskni.console.log
  • GateC(Core) で Map 正例を追加(canary_gate_c_core_map_(len|get)_vm.sh)。
  • 既定トグル: SMOKES_ENABLE_CORE_CANARY=1 を明示したときのみ HKI 正例を実行既定ONは Gate 整備後に再検討)。