Files
hakorune/docs/development/current/main/phases/phase-29ac

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
  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
    • Freeze reason: [joinir/phase29ab/pattern6/contract] scan-with-init contract: missing step update
    • Resolution: add explicit i = i + 1 step in fixture (contract-aligned).
  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_*"