nyash-codex
d5a36cf818
refactor(joinir): Phase 132-R0 - Continuation SSOT + legacy isolation
**Task 1: Continuation SSOT 一本化** ✅
- Add JoinInlineBoundary::default_continuations()
- Replace all BTreeSet::from([JoinFuncId::new(2)]) hardcoding (7 locations)
- Single source of truth for continuation function IDs
**Task 2: merge 契約 docs SSOT 化** ✅
- New: src/mir/builder/control_flow/joinir/merge/README.md
- Document continuation contracts, skip conditions, forbidden behaviors
- Prohibit by-name/by-id classification
**Task 3: テスト配置正規化** ✅
- New: src/mir/builder/control_flow/joinir/merge/tests/continuation_contract.rs
- Move tests from instruction_rewriter.rs to dedicated test file
- Add 4 test cases (Case A-D)
**Task 4: legacy 導線隔離** ✅
- New: src/mir/builder/control_flow/joinir/legacy/
- Move routing_legacy_binding.rs → legacy/routing_legacy_binding.rs
- Add legacy/README.md with removal conditions
- No cfg(feature="legacy") (docs-only isolation for now)
**Task 5: ノイズ除去** ✅
- Remove unused imports (ConstValue, MirInstruction)
- Clean warnings in touched files
Changes:
- src/mir/join_ir/lowering/inline_boundary.rs: +default_continuations()
- src/mir/builder/control_flow/joinir/merge/README.md: +140 lines
- src/mir/builder/control_flow/joinir/merge/tests/: +180 lines
- src/mir/builder/control_flow/joinir/legacy/: +3 files
Test results:
- cargo test --lib: 1176 PASS
- All Phase 131/132/97 smokes: PASS
Benefits:
- Continuation definition centralized (SSOT)
- Merge contracts documented and tested
- Legacy code path clearly isolated
- Code quality improved (warnings reduced)
Related: Phase 132 infrastructure improvements
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-18 21:52:21 +09:00
..
2025-12-16 07:02:14 +09:00
2025-12-18 21:52:21 +09:00
2025-12-17 22:32:50 +09:00
2025-12-16 07:02:14 +09:00
2025-12-05 15:45:42 +09:00
2025-12-15 03:17:31 +09:00
2025-12-16 07:02:14 +09:00
2025-12-16 07:02:14 +09:00
2025-12-08 04:33:33 +09:00