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:
nyash-codex
2025-12-12 23:16:32 +09:00
parent 01f339b9fa
commit ba68fb2bad
2 changed files with 556 additions and 1 deletions

View File

@ -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 ビルドで検証しているので
必要なら SSADFA や軽い最適化Loop invariant / Strength reductionを検討