Phase 264 P0: EdgeCFG Fragment 入口API作成(実装置換なし) - 入口フォルダ作成: src/mir/builder/control_flow/edgecfg/api/ - コア型定義: ExitKind, EdgeStub, Frag - 合成関数シグネチャ: seq, if_, loop_, cleanup(中身TODO、pub(crate)) - 最小テスト: 3個のユニットテスト追加(frag.rs) - ドキュメント連動: edgecfg-fragments.md に実装入口追記 制約遵守: - 既存 pattern6/7/8 未改変 - merge/EdgeCFG 未改変 - 既存LoopId使用(control_form.rs に PartialOrd, Ord 追加) - MIR側EdgeArgs使用(JoinIRと混線回避) - BTreeMap採用(決定的順序保証、Phase 69-3 教訓) 次フェーズ: Phase 265 で Pattern8 適用時に compose::loop_ を実装 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
design/
docs/development/current/main/design/ は、長期参照する設計図(SSOT 寄り)を置く場所。
- 原則: “Phaseの作業ログ/完了報告” は
../phases/に置く。 - 原則: “不具合調査ログ” は
../investigations/に置く。
現役の設計図(入口)
- JoinIR の地図(navigation SSOT):
docs/development/current/main/design/joinir-design-map.md - Join-Explicit CFG Construction(north star):
docs/development/current/main/design/join-explicit-cfg-construction.md - Catch / Cleanup / Async(設計メモ):
docs/development/current/main/design/exception-cleanup-async.md - Loop Canonicalizer(設計 SSOT):
docs/development/current/main/design/loop-canonicalizer.md - ControlTree / StepTree(構造SSOT):
docs/development/current/main/design/control-tree.md - Normalized ExprLowerer(式の一般化 SSOT):
docs/development/current/main/design/normalized-expr-lowering.md