phase29ac(p1): normalize pattern6 reverse scan and flip smoke to PASS

This commit is contained in:
2025-12-28 16:54:01 +09:00
parent 209b04d808
commit 1e1679f361
6 changed files with 112 additions and 64 deletions

View File

@ -24,7 +24,7 @@ Freeze conditions:
- forward scan with step != `i = i + 1`
- reverse scan with step != `i = i - 1`
Note:
- plan line is forward-only; reverse scans are currently treated as NotApplicable
- plan line supports reverse scan (cond: `i >= 0`, step: `i = i - 1`)
## Pattern7 (SplitScan)

View File

@ -0,0 +1,24 @@
# Phase 29ac: JoinIR thaw plan (Pattern6/7 near-miss → PASS)
Goal: Convert freeze-fixed Pattern6/7 near-miss cases into PASS while keeping contracts intact (no by-name or silent fallback).
## Target list (current freeze fixtures)
- `apps/tests/phase29ab_pattern6_firstfail_min.hako`
- `apps/tests/phase29ab_pattern6_matchscan_firstfail_min.hako`
- `apps/tests/phase29ab_pattern7_firstfail_min.hako`
## Pass order (recommended)
1. **Pattern6 reverse scan**
- Plan/Normalizer: add reverse support (`i >= 0`, step `i = i - 1`).
- Smoke: `phase29ab_pattern6_reverse_firstfail_min` now OK PASS (RC=1).
2. **Pattern6 matchscan missing step**
- Decide whether step can be synthesized safely; otherwise mark out-of-scope and add explicit contract note.
3. **Pattern7 split-scan near-miss**
- Resolve then/else update mismatches without relaxing contracts.
## Commands
- `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern6_*"`
- `./tools/smokes/v2/run.sh --profile integration --filter "phase29ab_pattern7_*"`