docs(router): Phase 282 P0+P1 - Router shrinkage SSOT + entrypoint logging

P0: Documentation SSOT (~80 lines added)
- Router Responsibilities SSOT (DOES/DOESN'T split)
- Ok(None)/Err boundary rules (Fail-Fast principle)
- Entrypoint table (Plan/JoinIR/None, 収束先明記)
- Pattern番号 = 症状ラベル定義(最小記述)

P1: Minimal Code (~10 lines)
- 4 trace statements modified (router.rs)
- Entrypoint-based logging (route=plan/joinir/none)
- Pattern names preserved (backward compatible)
- No new environment variables (既存trace機構のみ)

Test Results:
- quick profile: 45 PASS / 1 FAIL (既知failure)
- Pattern6 VM: PASS (phase258_p0_index_of_string_vm.sh)
- Pattern6 LLVM: PASS (phase258_p0_index_of_string_llvm_exe.sh)
- Zero regression 

Phase 282 Goal Achieved:
- Router shrinkage complete (SSOT positioning clear)
- Pattern numbers → symptom labels transition documented
- CFG construction converges to emit_frag() SSOT
This commit is contained in:
2025-12-23 05:03:25 +09:00
parent a744be929a
commit 519e58a977
2 changed files with 134 additions and 4 deletions

View File

@ -314,7 +314,7 @@ pub(crate) fn route_loop_pattern(
)? {
Some(domain_plan) => {
// DomainPlan extracted successfully
trace::trace().pattern("route", "Pattern6_ScanWithInit (DomainPlan)", true);
trace::trace().pattern("route", "route=plan pattern=Pattern6_ScanWithInit (Phase 273)", true);
// Step 1: Normalize DomainPlan → CorePlan
let core_plan = PlanNormalizer::normalize(builder, domain_plan, ctx)?;
@ -345,7 +345,7 @@ pub(crate) fn route_loop_pattern(
)? {
Some(domain_plan) => {
// DomainPlan extracted successfully
trace::trace().pattern("route", "Pattern7_SplitScan (DomainPlan)", true);
trace::trace().pattern("route", "route=plan pattern=Pattern7_SplitScan (Phase 273)", true);
// Step 1: Normalize DomainPlan → CorePlan
let core_plan = PlanNormalizer::normalize(builder, domain_plan, ctx)?;
@ -376,7 +376,8 @@ pub(crate) fn route_loop_pattern(
for entry in LOOP_PATTERNS {
if (entry.detect)(builder, ctx) {
// Phase 195: Use unified trace for pattern matching
trace::trace().pattern("route", entry.name, true);
let log_msg = format!("route=joinir pattern={} (Phase 194+)", entry.name);
trace::trace().pattern("route", &log_msg, true);
return (entry.lower)(builder, ctx);
}
}
@ -387,7 +388,7 @@ pub(crate) fn route_loop_pattern(
trace::trace().debug(
"route",
&format!(
"No pattern matched for function '{}' (pattern_kind={:?})",
"route=none (no pattern matched) func='{}' pattern_kind={:?} (exhausted: plan+joinir)",
ctx.func_name, ctx.pattern_kind
),
);