Files
hakorune/docs/development/current/main/phases/phase-286/pattern2-deferred.md

29 lines
953 B
Markdown
Raw Normal View History

# Pattern2 (Loop with Break) - Phase 286 P3 で再開
**Date**: 2025-12-26
**Status**: **IN PROGRESS** (Phase 286 P3)
## Summary
Pattern2 requires complex value reconnection at the exit point:
- break経路ではcarrier更新が実行されない
- **after_bb に PHI 必要**header経路 vs break経路の値選択
- compose::loop_との統合、ExitKind::Break配線が必要
## 実装方針Phase 286 P3
**after_bb PHI が本質**:
```
carrier_out = PHI(header: carrier_current, break_then: carrier_break)
```
- break 前に update あり → carrier_break = 計算結果
- break 前に update なし → carrier_break = carrier_currentそのまま
**PoC サブセット厳守**: 取れない形は `Ok(None)` で legacy へFail-Fast 回帰防止)
## Reference
- [joinir-architecture-overview.md](../../joinir-architecture-overview.md) - Pattern2の制約記載
- [Phase 286 README](./README.md) - Phase全体の進捗