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:
@ -37,6 +37,24 @@
|
||||
|
||||
**詳細**: `docs/development/current/main/phases/phase-264/README.md` + `docs/development/current/main/design/edgecfg-fragments.md`
|
||||
|
||||
## 2025-12-21:Phase 265 P0(compose/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 265(planned): Pattern8 を Frag 合成に移行し、ExitKind+Frag の実装適用を開始(`compose::loop_` 実装)
|
||||
|
||||
@ -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 107(find_balanced_array/object / json_cur 由来)まで固定済み。
|
||||
|
||||
@ -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 は未改変(入口だけ用意)。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user