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:
@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user