phase29ap(p10): coreplan adopt nested minimal (strict/dev)

This commit is contained in:
2025-12-31 07:49:48 +09:00
parent b209e17f3b
commit efe5e2deed
19 changed files with 1032 additions and 12 deletions

View File

@ -0,0 +1,40 @@
# Phase 29ap P10: Pattern6_NestedLoopMinimal minimal CorePlan subset (strict/dev)
## Goal
- In strict/dev, adopt a minimal nested-loop CorePlan for the `phase1883_nested_minimal` shape.
- Keep release/default behavior unchanged (legacy JoinIR path remains).
- Fail-fast in strict/dev when nested loops are detected but the subset does not match.
## Subset (SSOT)
- Outer loop: `loop(i < <int>)` with step `i = i + 1` (step=1 only).
- Inner loop: `loop(j < <int>)` with body `sum = sum + 1; j = j + 1` (step=1 only).
- Inner init: `j = 0` (via `local j` + assignment, or `local j = 0`).
- No break/continue/return inside outer or inner loop.
- No value-join / exitmap / cleanup (presence must be empty).
## Steps
1. Facts (SSOT)
- Add `Pattern6NestedMinimalFacts` and wire it into `LoopFacts` (optional field).
- Keep `Ok(None)` for non-matches; no hardcode by-name.
2. Composer v2 (strict/dev)
- Add `coreloop_v2_nested_minimal.rs` and compose a single CoreLoopPlan with a nested CFG.
- Body remains effect-only (j-init only); inner loop is encoded via extra blocks + Frag wiring.
3. Strict/dev adopt
- If nested facts are present, adopt and emit tag:
- `[coreplan/shadow_adopt:pattern6_nested_minimal]`
- If nested facts are missing, keep the strict/dev freeze (fail-fast).
4. Smoke gate
- Update `phase29ap_pattern6_nested_strict_shadow_vm.sh` to require the shadow-adopt tag.
## Verification
- `cargo build --release`
- `./tools/smokes/v2/run.sh --profile quick`
- `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`

View File

@ -108,6 +108,16 @@ Gate (SSOT):
- Release/default behavior remains unchanged.
- Gate stays green.
## P10: Pattern6_NestedLoopMinimal minimal CorePlan subset (strict/dev) ✅
- Scope:
- Add nested minimal facts (outer+inner loop subset) and project into canonical facts.
- Compose nested loop CorePlan v2 in strict/dev and emit shadow-adopt tag.
- Update the strict smoke to require the new tag.
- Guardrails:
- Release/default behavior remains unchanged (legacy JoinIR path stays).
- Gate stays green.
## Next (planned)
- P10: Pattern6_NestedLoopMinimal migration/design (keep nested gate green)
- P11: Pattern6_NestedLoopMinimal release adopt (TBD; keep strict gate green)