docs(joinir): Phase 63 - AST ownership analyzer (dev-only)
ASTNode → OwnershipPlan の解析器を追加(analysis-only, normalized_dev)。 Key changes: - New ast_analyzer.rs (~370 lines): - AstOwnershipAnalyzer: AST → Vec<OwnershipPlan> - ScopeKind: Function/Loop/If/Block - Invariants: owned_vars/relay_writes/captures/condition_captures Design: - JSON v0 "Local=rebind" を使わず、AST の Statement::Local を正しく扱う - "読むのは自由、管理は直下だけ" アーキテクチャ維持 Tests: 3 unit tests + 47/47 normalized_dev PASS - loop_local_carrier_is_owned_and_written - condition_capture_is_reported_for_loop - relay_write_detected_for_outer_owned_var Next: Phase 64 - P3(if-sum) 本番ルートへ dev-only で接続 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -254,7 +254,15 @@
|
||||
19. **Phase 62-OWNERSHIP-P3-ROUTE-DESIGN(次のフォーカス候補)**: P3 本番ルートへ OwnershipPlan を渡す設計
|
||||
- MIR→JoinIR の `pattern3_with_if_phi.rs` は OwnershipPlan を受け取らないため、AST-based ownership 解析の接続点を設計する。
|
||||
- dev-only で段階接続し、legacy と stdout/exit 一致の比較で回帰を固定(既定挙動は不変)。
|
||||
20. JoinIR Verify / 最適化まわり
|
||||
- 設計詳細: [phase62-ownership-p3-route-design.md](docs/development/current/main/phase62-ownership-p3-route-design.md)
|
||||
20. **Phase 63-OWNERSHIP-AST-ANALYZER(完了✅ 2025-12-12)**: 本番 AST から OwnershipPlan を生成(dev-only)
|
||||
- `AstOwnershipAnalyzer` を追加し、ASTNode から owned/relay/capture を plan 化(analysis-only)。
|
||||
- JSON v0 の “Local=rebind” ハックを排除(fixture 専用のまま)。
|
||||
- 詳細: [PHASE_63_SUMMARY.md](docs/development/current/main/PHASE_63_SUMMARY.md)
|
||||
21. **Phase 64-OWNERSHIP-P3-PROD-PLUMB(次のフォーカス候補)**: 本番 P3(if-sum) ルートへ段階接続(dev-only)
|
||||
- `pattern3_with_if_phi.rs` で OwnershipPlan を導入し、carrier set/inputs を SSOT 化する(order は exit_meta と整合チェックで段階移行)。
|
||||
- Fail-Fast: multi-hop relay / carrier set 不一致 / owner 不在 write を拒否。
|
||||
22. JoinIR Verify / 最適化まわり
|
||||
- すでに PHI/ValueId 契約は debug ビルドで検証しているので、
|
||||
必要なら SSA‑DFA や軽い最適化(Loop invariant / Strength reduction)を検討。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user