nyash-codex
33f03d9775
refactor(joinir): Phase 86 - Carrier init builder, debug migration, error tags
P1: Carrier Initialization Builder (HIGH) ✅
- New module: carrier_init_builder.rs (197 lines, 8 tests)
- Refactored loop_header_phi_builder.rs (-34 lines)
- Centralized CarrierInit value generation (SSOT)
- Eliminates scattered match patterns across header PHI, exit line
- Consistent debug output: [carrier_init_builder] format
- Net: -34 lines of duplicated logic
P2: Remaining DebugOutputBox Migration (QUICK) ✅
- Migrated carrier_info.rs::record_promoted_binding()
- Uses DebugOutputBox for JOINIR_DEBUG checks
- Maintains JOINIR_TEST_DEBUG override for test diagnostics
- Consistent log formatting: [context/category] message
- Net: +3 lines (SSOT migration)
P3: Error Message Centralization (LOW) ✅
- New module: error_tags.rs (136 lines, 5 tests)
- Migrated 3 error sites:
* ownership/relay:runtime_unsupported (plan_validator.rs)
* joinir/freeze (control_flow/mod.rs)
* (ExitLine errors were debug messages, not returns)
- Centralized error tag generation (freeze, exit_line_contract, ownership_relay_unsupported, etc.)
- Net: +133 lines (SSOT module + tests)
Total changes:
- New files: carrier_init_builder.rs (197), error_tags.rs (136)
- Modified: 6 files
- Production code: +162 lines (SSOT investment)
- Tests: 987/987 PASS (982→987, +5 new tests)
- Phase 81 ExitLine: 2/2 PASS
- Zero compilation errors/warnings
Benefits:
✅ Single Responsibility: Each helper has one concern
✅ Testability: 13 new unit tests (8 carrier init, 5 error tags)
✅ Consistency: Uniform debug/error formatting
✅ SSOT: Centralized CarrierInit and error tag generation
✅ Discoverability: Easy to find all error types
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-13 21:48:02 +09:00
..
2025-12-11 20:54:33 +09:00
2025-12-13 21:48:02 +09:00
2025-12-02 18:42:21 +09:00
2025-11-21 06:25:17 +09:00
2025-11-24 14:17:02 +09:00
2025-12-11 20:54:33 +09:00
2025-11-21 06:25:17 +09:00
2025-11-22 02:43:45 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-11-24 14:17:02 +09:00
2025-11-21 06:25:17 +09:00
2025-12-13 05:34:56 +09:00
2025-11-18 18:56:35 +09:00
2025-11-21 06:25:17 +09:00
2025-11-22 05:33:40 +09:00
2025-12-11 20:54:33 +09:00
2025-11-21 06:25:17 +09:00
2025-11-17 00:48:18 +09:00
2025-11-30 04:35:40 +09:00
2025-11-21 06:25:17 +09:00
2025-12-13 01:30:04 +09:00
2025-11-21 06:25:17 +09:00
2025-12-11 20:54:33 +09:00
2025-12-11 20:54:33 +09:00
2025-12-11 20:54:33 +09:00
2025-12-11 20:54:33 +09:00
2025-12-11 20:54:33 +09:00
2025-12-10 00:01:53 +09:00
2025-11-24 14:17:02 +09:00
2025-11-21 06:25:17 +09:00
2025-11-24 14:17:02 +09:00
2025-11-29 09:14:24 +09:00
2025-12-02 21:09:15 +09:00
2025-09-11 05:22:52 +09:00
2025-11-21 06:25:17 +09:00
2025-12-13 01:30:04 +09:00
2025-12-11 20:54:33 +09:00
2025-12-09 18:32:03 +09:00