phase29ao(p24): strict/dev adopt pattern7 from facts

This commit is contained in:
2025-12-30 10:34:31 +09:00
parent 314231d6ea
commit e122c9a7d6
8 changed files with 184 additions and 4 deletions

View File

@ -379,6 +379,25 @@ pub(crate) fn route_loop_pattern(
return PlanLowerer::lower(builder, core_plan, ctx);
}
if strict_or_dev
&& matches!(
domain_plan,
crate::mir::builder::control_flow::plan::DomainPlan::SplitScan(_)
)
{
let facts = outcome
.facts
.as_ref()
.ok_or_else(|| "pattern7 strict/dev adopt failed: facts missing".to_string())?;
if facts.facts.split_scan.is_none() {
return Err("pattern7 strict/dev adopt failed: facts mismatch".to_string());
}
let core_plan = PlanNormalizer::normalize_split_scan_from_facts(builder, facts, ctx)?
.ok_or_else(|| "pattern7 strict/dev adopt failed: compose rejected".to_string())?;
PlanVerifier::verify(&core_plan)?;
return PlanLowerer::lower(builder, core_plan, ctx);
}
return lower_via_plan(builder, domain_plan, ctx);
}