29 lines
1.9 KiB
Markdown
29 lines
1.9 KiB
Markdown
# Phase 20.16 — Frozen v1(Stage 0→1→2)
|
||
|
||
Purpose
|
||
- 凍結ツールチェーンの最小一式(compiler/core, runtime/minimal‑vm, stdlib/minimal)を構築し、自己ビルドの再現性を確認する。
|
||
|
||
Strategy
|
||
- Stage 0: Rust で frozen‑v1 をビルド(発射台)
|
||
- Stage 1: frozen‑v1 で同一ソースを再ビルド(自己)
|
||
- Stage 2: 生成物の hash/正規化 diff を比較し、再現性を確認(S3 は任意)
|
||
|
||
Acceptance Criteria
|
||
- S0→S1→S2 のビルドが安定し、S1 と S2 の差分が 0(または許容差分が文書化)
|
||
- JSON v0 / Core 意味論 / 診断タグは v1 仕様として固定(docs 参照)
|
||
- quick/integration は既定OFF、opt‑in で selfhost canary が全緑
|
||
|
||
Notes
|
||
- 「削減%」のメトリクスは廃止。代わりに契約準拠率・再現性・パリティで測る。
|
||
- 詳細戦略: `../FROZEN_TOOLCHAIN_STRATEGY.md`
|
||
- Stage driver: `docs/development/tools/stage-pipeline.md`(S0/S1/S2 の使い方)
|
||
|
||
Results (closeout)
|
||
- S2(strict) 比較は代表サンプルで緑(nested‑if, diamond+phi)。loop サンプルは verifier 警告の観測教材として保留。
|
||
- MIR JSON の安定化(ValueId の遭遇順リネンバリング)を導入し、2回 emit の差分を大幅に低減。
|
||
- child_env をヘルパーに一元化(selfhost 子/nyvm(Core)/Gate‑C JSON 経路)。inline selfhost 経路もヘルパー適用。
|
||
- HKI v1 bring-up: kni.* を第一表記にし、`HAKO_KNI_TIME` / `HAKO_KNI_FS` ゲートと Gate‑C preflight を追加。fs/time スモークを quick/core に追加。
|
||
- HKI canary を quick allowlist へ組み込み(opt‑in)。追加: `kni.fs.read_all` 負例/正例、`kni.time.now_ms`、`kni.console.log`。
|
||
- Gate‑C(Core) で Map 正例を追加(`canary_gate_c_core_map_(len|get)_vm.sh`)。
|
||
- 既定トグル: `SMOKES_ENABLE_CORE_CANARY=1` を明示したときのみ HKI 正例を実行(既定ONは Gate 整備後に再検討)。
|