feat(edgecfg): Phase 265 P0 - compose/verify 最小実装(入口SSOT迷子防止)

🎯 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2025-12-21 13:07:17 +09:00
parent 923a442326
commit ab1510920c
5 changed files with 174 additions and 20 deletions

View File

@ -37,6 +37,24 @@
**詳細**: `docs/development/current/main/phases/phase-264/README.md` + `docs/development/current/main/design/edgecfg-fragments.md`
## 2025-12-21Phase 265 P0compose/verify 最小実装)✅
**目的**: 入口SSOTを触って迷子防止compose/verify の形を固める)
**完了内容**:
- `compose::loop_()` 最小実装exit集合の分類のみ、配線はP1以降
- `verify_frag_invariants()` 最小実装(デバッグガード付き)
- compose::loop_() のユニットテスト 2個追加
**重要**: Pattern8への適用はP0ではやらない偽Fragを避ける
配線ロジックはP1で実装、Pattern8適用もP1から。
**次のステップ**:
- Phase 265 P1: 配線ロジック実装 + Pattern8適用
- Phase 265 P2: seq/if_ 実装pattern番号分岐削減の見通し
**詳細**: `docs/development/current/main/phases/phase-265/README.md`
## Next (planned)
- Phase 265planned: Pattern8 を Frag 合成に移行し、ExitKind+Frag の実装適用を開始(`compose::loop_` 実装)

View File

@ -84,6 +84,17 @@ Related:
- Phase 265 で Pattern8 適用時に `compose::loop_` を実装
- 再利用確認後、pattern番号分岐を段階的に削減
- **Phase 265 P0✅ 完了): compose/verify 最小実装**
- **目的**: 入口SSOTの形を固める迷子防止
- **実装**:
- compose::loop_() 最小実装exit集合分類のみ、配線なし
- verify_frag_invariants() 最小実装(デバッグガード付き)
- compose::loop_() ユニットテスト 2個追加
- **制約**:
- Pattern8 未改変P0では触らない、偽Frag回避
- 配線ロジックは P1 以降
- **次**: Phase 265 P1 で配線ロジック + Pattern8適用
- **real-app loop regression の横展開VM + LLVM EXE**
- ねらい: 実コード由来ループを 1 本ずつ最小抽出して fixture/smoke で固定する(段階投入)。
- 現状: Phase 107find_balanced_array/object / json_cur 由来)まで固定済み。

View File

@ -137,6 +137,12 @@ Frag = { entry_block, exits: Map<ExitKind, Vec<EdgeStub>> }
- 合成関数: `seq`, `if_`, `loop_`, `cleanup`シグネチャのみ、中身TODO
- 検証: `verify_frag_invariants`(空実装)
次フェーズ(Phase 265+)で既存 pattern への適用を開始。
**Phase 265 P0 で最小実装完了**
- `compose::loop_()`: exit集合の分類実装配線なし、P1以降
- `verify_frag_invariants()`: 最小検証追加(デバッグガード付き)
- Pattern8適用: P0ではやらない偽Frag回避、P1から実戦投入
次フェーズPhase 265 P1+)で配線ロジック + Pattern8適用 + seq/if_ 実装へ。
現時点では既存 pattern6/7/8 や merge/EdgeCFG は未改変(入口だけ用意)。