1.9 KiB
1.9 KiB
Tasks — Phase 20.16 (Frozen v1: Stage 0→1→2)
Goal
- Stage パイプライン(S0→S1→S2)の導線を凍結契約のもとで整備し、手動/スモークで検証できる状態にする。
Scope (this phase)
- スクリプト/ドキュメント/スモークを先に用意(実装は最小・安全)。
- S1/S2 の完全自己ビルドは次の小バッチで段階的に実装(TTL/ゲート付き)。
Tasks
- Stage overview & acceptance in README.md(phase-20.16)
- Add stage runner script (tools/stage/pipeline.sh)
- S0: cargo build --release 成功確認
- S1: hakorune を用いて最小プログラムの JSON v0 実行(Gate‑C Core)を暫定の成功基準とする(TTL)
- Add quick/stage canaries (opt‑in)
- canary_stage0_build_ok.sh — cargo build 成功を検証
- canary_stage1_minjson_placeholder_ok.sh — Gate‑C(Core) で最小 JSON v0 実行を検証
- S2(strict) 比較: 正規化比較 + 代表サンプル(nested‑if / diamond+phi)緑
- MIR JSON 安定化: ValueId 遭遇順リネンバリングを導入(差分低減)
- child_env 一元化: selfhost 子/nyvm(Core)/Gate‑C(JSON) 経路をヘルパー化
- S1 本線(自己ビルド): hakorune によるコンパイラ出力生成の骨子を着手(20.17)
- S2 比較器: 生成物の hash/正規化 diff の canonical ハッシュ比較に昇格(20.17)
Gates (default OFF)
- SMOKES_ENABLE_STAGE=1 — quick/stage canaries を有効化
- HAKO_STAGE_RUN=1 — tools/stage/pipeline.sh 実行を有効化(ドキュメント参照)
Notes
- S1/S2 は段階導入。今バッチは「箱・導線・スモーク」を先に固定(Freeze‑First)。
- 失敗は短文・Fail‑Fast(準拠: docs/development/architecture/errors/fail-fast-messages.md)。
- 代表期待値: nested‑if=3, diamond+phi=7(loop=6 は教材として保留)。