docs(joinir): Phase 65 - Ownership-Relay Multihop Design (設計のみ)
Multihop relay(複数階層を跨ぐrelay)の完全な設計文書を作成。 Phase 66実装の土台となる意味論と不変条件を確立。 Key design decisions: - Multihop relay 意味論: relay_path(内→外の順)、段階的carrier化 - Merge relay 意味論: PERMIT with owner merge(複数inner loopが同一祖先owned変数を更新) - Fail-Fast 解除条件: Phase 66実装時の受け入れ基準を明文化 - 実装箇所の特定: Analyzer変更不要、plan_to_lowering/Pattern lowering変更点を箇条書き - 禁止事項: by-name分岐排除、dev-only name guard対象外 Design principles: - 「読むのは自由、管理は直下だけ」を維持 - 各中間ループは「素通し」のみ(merge責務はownerのみ) - Owner scopeのexit PHIで全分岐をmerge - 構造ベース設計(変数名による特別扱いなし) Representative cases: - 3階層multihop(AST例 + OwnershipPlan例) - Merge relay(JSON fixture例 + 期待されるOwnershipPlan) Phase 66への引き継ぎ: - この文書の「5. 実装箇所の特定」をガイドとして使用 - Fail-Fast段階解除の流れに従って実装 - 回帰テスト(既存Phase 64テスト全PASS)を確認しながら進める Status: 設計完了、実装はPhase 66以降 Tests: N/A (設計文書のみ) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -273,7 +273,15 @@
|
||||
- ✅ BID-codegen stubs へ deprecation notice + 代替パス文書化
|
||||
- ✅ quick wins (< 2時間) 実装可能な内容をドキュメント化
|
||||
- 詳細: [REFACTORING_OPPORTUNITIES.md](docs/development/current/main/REFACTORING_OPPORTUNITIES.md)
|
||||
23. JoinIR Verify / 最適化まわり
|
||||
23. **Phase 65-OWNERSHIP-RELAY-MULTIHOP-DESIGN(完了✅ 2025-12-12)**: Multihop relay 設計(実装はPhase 66以降)
|
||||
- ✅ Multihop relay 意味論の定義(relay_path: 内→外の順、段階的carrier化)
|
||||
- ✅ Merge relay 意味論の定義(PERMIT with owner merge、複数inner loopが同一祖先owned変数を更新)
|
||||
- ✅ Fail-Fast 解除条件の明文化(Phase 66実装時の受け入れ基準)
|
||||
- ✅ 実装箇所の特定(Analyzer変更不要、plan_to_lowering/Pattern lowering変更点)
|
||||
- ✅ 禁止事項の明文化(by-name分岐排除、dev-only name guard対象外)
|
||||
- ✅ 代表ケース(3階層multihop AST例、Merge relay JSON fixture例)
|
||||
- 詳細: [phase65-ownership-relay-multihop-design.md](docs/development/current/main/phase65-ownership-relay-multihop-design.md)
|
||||
24. JoinIR Verify / 最適化まわり
|
||||
- すでに PHI/ValueId 契約は debug ビルドで検証しているので、
|
||||
必要なら SSA‑DFA や軽い最適化(Loop invariant / Strength reduction)を検討。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user