docs(joinir): Phase 56 - Ownership-Relay Design + interface skeleton
「読むのは自由、管理は直下 owned だけ」アーキテクチャの設計文書と型定義。 Key changes: - Design doc: phase56-ownership-relay-design.md - Core definitions: owned/carriers/captures/relay - Invariants: Ownership Uniqueness, Carrier Locality, Relay Propagation - Shadowing rules, multi-writer merge semantics - JoinIR mapping from current system to new system - Implementation phases roadmap (56-61) - New module: src/mir/join_ir/ownership/ - types.rs: ScopeId, ScopeOwnedVar, RelayVar, CapturedVar, OwnershipPlan - mod.rs: Module documentation with responsibility boundaries - README.md: Usage guide and examples - API methods: - OwnershipPlan::carriers() - owned AND written variables - OwnershipPlan::condition_only_carriers() - condition-only carriers - OwnershipPlan::verify_invariants() - invariant checking Tests: 942/942 PASS (+3 unit tests) Zero behavioral change - analysis module skeleton only. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -216,10 +216,21 @@
|
||||
- Phase 53 で実戦ループ追加済みのため、追加投入より先に構造判定精度の測定に集中。
|
||||
- 構造シグネチャ軸を 5+ に拡張(Compare op 分布など)し、P2/P3 の偽陽性観測テストを追加。
|
||||
- 結果: selfhost 群の構造判定だけでは分離が不十分(偽陽性率 ~50%)。dev-only name ガードは当面必須と判断。
|
||||
12. **Phase 55-SELFHOST-SHAPE-AXIS-EXPAND(次のフォーカス候補・dev-only)**: 構造軸 8+ へ拡張し誤判定を下げる足場
|
||||
- 条件複雑度(ネスト/論理結合の形)、算術更新パターン、分岐ファンアウトなどの新軸を追加。
|
||||
- selfhost/canonical の feature ベクトル比較と観測テストを拡充し、name ガード縮小の根拠を作る(撤去は後続)。
|
||||
13. JoinIR Verify / 最適化まわり
|
||||
12. **Phase 55-SELFHOST-SHAPE-AXIS-EXPAND(dev-only / 保留)**: 構造軸を可変 feature として拡張し誤判定を下げる足場
|
||||
- Phase 56–61 の Ownership-Relay ライン優先のため、selfhost shape 軸拡張は一旦保留。
|
||||
- OwnershipAnalyzer 導入後に、scope 署名(owned/carriers/captures/relay)を新しい構造軸として合流させる。
|
||||
13. **Phase 56-OWNERSHIP-RELAY-DESIGN(完了✅ 2025-12-12)**: Ownership-Relay アーキテクチャ設計 + インターフェース skeleton
|
||||
- 設計詳細: [phase56-ownership-relay-design.md](docs/development/current/main/phase56-ownership-relay-design.md)
|
||||
- コア定義: owned / carriers / captures / relay の 4 分類を明確化
|
||||
- 不変条件: Ownership Uniqueness / Carrier Locality / Relay Propagation / Capture Read-Only
|
||||
- Module 作成: `src/mir/join_ir/ownership/` - 責務は「解析のみ」
|
||||
- 型定義: `ScopeId`, `ScopeOwnedVar`, `RelayVar`, `CapturedVar`, `OwnershipPlan`
|
||||
- テスト: 3 つのユニットテスト追加(empty plan / carriers filter / invariant verification)
|
||||
- 次: Phase 57 で OwnershipAnalyzer 実装(dev-only)
|
||||
14. **Phase 57-OWNERSHIP-ANALYZER-DEV(次のフォーカス候補・dev-only)**: OwnershipPlan を生成する解析箱の実装
|
||||
- `OwnershipAnalyzer` を追加し、ネスト含む reads/writes/owned を集計→ carriers/relay/captures を plan 化。
|
||||
- 既存 fixtures(pattern2/3, jsonparser, selfhost)で plan の回帰テストを追加。
|
||||
15. JoinIR Verify / 最適化まわり
|
||||
- すでに PHI/ValueId 契約は debug ビルドで検証しているので、
|
||||
必要なら SSA‑DFA や軽い最適化(Loop invariant / Strength reduction)を検討。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user