fix(joinir): Phase 241-EX - Remove hardcoded 'sum' check from Pattern3

Remove legacy hardcoded 'sum' carrier validation that was blocking
array_filter patterns with different accumulator names (e.g., 'out').

Before: Pattern3 required carrier named 'sum' to exist
After: Pattern3 uses carrier_info generically (any carrier name works)

Test results:
- phase49_joinir_array_filter_smoke: PASS 
- phase49_joinir_array_filter_fallback: PASS 
- phase49_joinir_array_filter_ab_comparison: PASS 
- Full suite: 909/909 PASS, 0 FAIL

Also: Archive old roadmap documentation (67k lines moved to docs/archive/)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-11 00:48:42 +09:00
parent a7dbc15878
commit 811dfebf98
387 changed files with 106 additions and 5551 deletions

View File

@ -252,14 +252,6 @@ impl MirBuilder {
) -> Result<Option<ValueId>, String> {
use crate::mir::join_ir::lowering::loop_with_if_phi_minimal::lower_loop_with_if_phi_pattern;
// Phase 195: Validate that required carrier 'sum' exists (legacy mode requirement)
// This maintains backward compatibility with single-carrier (sum only) and multi-carrier (sum+count) tests
let _sum_exists = ctx.carrier_info.carriers.iter()
.any(|c| c.name == "sum");
if !_sum_exists {
return Err("[cf_loop/pattern3] Accumulator variable 'sum' not found in variable_map".to_string());
}
// Phase 195: Use unified trace
trace::trace().varmap("pattern3_start", &self.variable_map);