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:
nyash-codex
2025-12-12 17:39:59 +09:00
parent 80e952b83a
commit 2d10c5ce3f
6 changed files with 517 additions and 4 deletions

View File

@ -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-EXPANDdev-only / 保留**: 構造軸を可変 feature として拡張し誤判定を下げる足場
- Phase 5661 の 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 化。
- 既存 fixturespattern2/3, jsonparser, selfhostで plan の回帰テストを追加。
15. JoinIR Verify / 最適化まわり
- すでに PHI/ValueId 契約は debug ビルドで検証しているので、
必要なら SSADFA や軽い最適化Loop invariant / Strength reductionを検討。