nyash-codex
7a01ffe522
fix(joinir): Phase 177-3 ValueId collision fix for multi-carrier loops
Root cause: JoinIR ValueId collision between function parameters and condition bindings
- Same ValueId used for both `result_init` (carrier param) and `limit` (condition var)
- Phase 33-21 was overwriting condition bindings when remapping carrier PHIs
Fix implemented (Option B - immediate protection):
1. Phase 177-3: Protect condition-only variables from Phase 33-21 override
- Collect condition_bindings that are NOT carriers (by checking exit_bindings)
- Skip remapping for these protected ValueIds
2. Phase 177-3-B: Handle body-only carriers explicitly
- Carriers that appear in condition_bindings (added by Phase 176-5)
- Map them to correct PHI dsts by name lookup
Investigation tools added:
- [DEBUG-177] trace logs for remapper state tracking
- Phase 177-3 protection logging
- BoundaryInjector PHI collision detection
Test results:
- ✅ Integer multi-carrier test: Output 3 (expected)
- ⚠️ String test: RC=0 but empty output (separate issue - string concat emit)
Design docs created:
- phase177-parse-string-design.md: _parse_string loop analysis
- phase177-carrier-evolution.md: Carrier progression Phase 174-179
Next: Investigate string concatenation emit for full _parse_string support
2025-12-08 16:34:04 +09:00
..
2025-11-21 06:25:17 +09:00
2025-12-04 13:32:58 +09:00
2025-12-05 17:22:14 +09:00
2025-09-24 14:13:15 +09:00
2025-08-18 21:10:06 +09:00
2025-08-18 20:53:48 +09:00
2025-09-25 01:09:48 +09:00
2025-12-04 13:07:12 +09:00
2025-11-21 06:25:17 +09:00
2025-12-04 06:02:03 +09:00
2025-11-26 10:17:37 +09:00
2025-12-04 21:35:24 +09:00
2025-09-17 07:43:07 +09:00
2025-11-21 06:25:17 +09:00
2025-12-03 19:58:50 +09:00
2025-11-22 05:33:40 +09:00
2025-12-04 12:22:55 +09:00
2025-11-29 12:44:40 +09:00
2025-09-17 07:43:07 +09:00
2025-12-08 16:34:04 +09:00
2025-12-07 23:45:55 +09:00
2025-12-04 03:58:02 +09:00
2025-11-10 23:17:46 +09:00
2025-12-05 21:58:54 +09:00
2025-12-04 06:02:03 +09:00
2025-09-23 02:15:56 +09:00
2025-11-21 06:25:17 +09:00
2025-09-17 07:43:07 +09:00
2025-12-02 21:09:15 +09:00
2025-11-30 14:30:28 +09:00
2025-09-17 07:43:07 +09:00
2025-11-30 14:30:28 +09:00
2025-12-04 13:32:58 +09:00
2025-11-20 03:56:12 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-09-17 07:43:07 +09:00
2025-11-13 18:55:14 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-11-21 06:25:17 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00
2025-12-01 11:10:46 +09:00
2025-09-17 07:43:07 +09:00
2025-09-19 12:13:43 +09:00
2025-09-17 07:43:07 +09:00
2025-09-17 07:43:07 +09:00