docs: add loop canonicalizer SSOT + MirBuilder entrypoint

This commit is contained in:
nyash-codex
2025-12-16 04:37:47 +09:00
parent 990d00393e
commit 84ded8ca6c
10 changed files with 180 additions and 54 deletions

View File

@ -27,7 +27,7 @@
- **Phase 133 完了**: Promoted carrier の `join_id` 解決Trimを SSOT に寄せて根治smoke は compile-only
- **Phase 134 完了**: Plugin loader best-effort loading決定的順序 + failure 集約 + 継続)を導入。
- **Phase 135 完了**: ConditionLoweringBox allocator SSOTP0: 根治修正 + P1: contract_checks Fail-Fast 強化)。
- **Phase 136 完了**: ValueId allocator SSOT 徹底(関数内経路から `value_gen.next()` 掃討完了)。
- **Phase 136 完了**: MirBuilder Context SSOT 化(+ ValueId allocator 掃討)。
- **Phase 88 完了**: continue + 可変ステップi=i+const 差分)を dev-only fixture で固定、StepCalculator Box 抽出。
- **Phase 89 完了**: P0ContinueReturn detector+ P1lowering 実装)完了。
- **Phase 90 完了**: ParseStringComposite + `Null` literal + ContinueReturn同一値の複数 return-ifを dev-only fixture で固定。
@ -52,49 +52,23 @@
## 次の指示書(優先順位)
### P0: Phase 135 検証Trim fixture の `--verify` を緑に固定
目的:
- `apps/tests/phase133_json_skip_whitespace_min.hako` で発生していた MIR SSA 破綻ValueId 重複)を後戻りしない形で固定する。
やること:
1. `./target/release/hakorune --verify apps/tests/phase133_json_skip_whitespace_min.hako` が PASS することを確認
2. 必要なら integration smoke を追加quick は増やさない)
3. Phase 文書を更新: `docs/development/current/main/phases/phase-135/README.md`
受け入れ基準:
- `--verify` が PASS
- 既存の Phase 132/133/134 の integration smoke が退行しない
### P1: Docs 整備(数の増殖を止める)
**目的**: SSOT への集約と導線整備Phase 8690 の情報が散らばらない状態にする)
やること:
1. Phase 8690 の要約を 1 ファイルに集約SSOT
- `docs/development/current/main/phase86-90-loop-frontends-summary.md`
2. INDEX から要約へ導線を追加(迷子対策)
- `docs/development/current/main/01-JoinIR-Selfhost-INDEX.md`
3. `10-Now.md` / `CURRENT_TASK.md` の断定・重複を “要約へのリンク” に寄せる
**受け入れ基準**:
- 読み始め導線が `01-JoinIR-Selfhost-INDEX.md` から辿れる
- `10-Now.md``CURRENT_TASK.md` は “最新の入口” として機能する(詳細は要約へ)
### P1: Loop Canonicalizer の設計(設計待ち - 外部検討中)
### P0: Loop Canonicalizer の設計(設計待ち - 外部検討中
**状態**: 🔶 設計中ChatGPT Pro と詰めている)
**目的**: ループ形状の組み合わせ爆発を抑えるための "前処理パス" を設計し、SSOT を定める
**次に触るSSO**:
SSOT:
- `docs/development/current/main/design/loop-canonicalizer.md`
**次に触るSSOT**:
- Loop系の設計: `docs/development/current/main/joinir-architecture-overview.md`
注意:
- 実装は急がず、設計SSOTを先に固める
- 既定挙動は変えないdev-only で段階投入する)
### P2: JoinIR / Selfhost depth-2 の前進(実装可能 - Phase 91 候補)
### P1: JoinIR / Selfhost depth-2 の前進(実装可能 - Phase 91 候補)
**状態**: ✅ 実装可能
@ -114,7 +88,7 @@
受け入れ基準:
- 代表ケースが 1 コマンドで再現可能CI は増やさない、quick を重くしない)。
### P3: Ownership/Relay runtime 対応の再開Phase 92 候補)
### P2: Ownership/Relay runtime 対応の再開Phase 92 候補)
目的:
- multihop/merge relay を “runtime でも” 受理できるところまで契約を伸ばすFail-Fast の段階解除)。
@ -125,6 +99,7 @@
### Done: Phase 8690Loop frontends
- まとめSSOT: `docs/development/current/main/phase86-90-loop-frontends-summary.md`
- MirBuilder の入口Context 分割): `src/mir/builder/README.md` + `docs/development/current/main/01-JoinIR-Selfhost-INDEX.md`
---