Files
hakorune/docs/development/current/main
nyash-codex 8e837accdd docs: Phase 195-impl Pattern3 multi-carrier implementation plan
Phase 195-impl instruction document for P3 multi-carrier implementation:
- Goal: Extend Pattern3 (If-Else PHI) to handle 2-3 carriers simultaneously
- Approach: ExitLine extension (no PhiGroupBox - reuse existing infrastructure)

Task breakdown:
- 195-impl-1: Pattern3 lowerer multi-carrier support
  - extract_update_or_unchanged function (~40 lines)
  - Loop over all carriers in CarrierInfo
  - Handle unchanged carriers (use previous value)
  - Fail-Fast for partial updates / nested if
- 195-impl-2: ExitLine extension verification
  - Check meta_collector.rs (likely already multi-carrier ready)
  - Check reconnector.rs (loop over all carrier_bindings)
  - Reuse CarrierVar.join_id infrastructure
- 195-impl-3: if-sum test (sum + count) - PRIORITY
  - phase195_sum_count.hako (new file)
  - Expected: 72 (sum=7, count=2)
  - Verify no [joinir/freeze]
- 195-impl-4: _parse_string simple (escaped only) - OPTIONAL
  - phase195_flag_buffer.hako (new file)
  - BoolFlag carrier test
  - Buffer concat deferred to Phase 19x+
- 195-impl-5: Documentation updates
  - phase195 design: Implementation Status section
  - CURRENT_TASK.md: Phase 195-impl completion
  - overview: Phase 195 completion mark

Implementation focus:
```rust
// Core change: single → multi carrier
for (carrier_name, (then_val, else_val)) in carrier_updates {
    let phi_result = emit_phi(merge, then_val, else_val);
    exit_line.connect(carrier_name, phi_result);
}
```

Success criteria:
- Pattern3 lowerer handles multiple carriers
- if-sum pattern works (sum+count)
- No regressions in existing tests
- Clear documentation of multi-carrier support

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-09 13:28:15 +09:00
..