docs: Phase 263 P0 完了記録(Pattern2 fallback 修正)

- 10-Now.md: Phase 263 P0 完了記録を追加(最上部に配置)
- phase-263/README.md: 詳細な実装記録・検証結果を作成
- 30-Backlog.md: Phase 263+ planned 項目を追加
  - Pattern2 LoopBodyLocal promotion(seg)
  - PromoteDecision API hardening(構造で迷子防止)
- phase263_p0_pattern2_seg_vm.sh: smoke test スクリプト改善

検証結果:
- cargo test --lib: 1368/1368 PASS 
- quick smoke: 45/46 PASS  (大幅改善)
- Pattern2 が正しく abort することを確認
This commit is contained in:
2025-12-21 10:39:48 +09:00
parent 93022e7e10
commit e3dd1bbecb
4 changed files with 283 additions and 7 deletions

View File

@ -1,9 +1,23 @@
#!/usr/bin/env bash
set -euo pipefail
#!/bin/bash
# Phase 263 P0 - Pattern2 LoopBodyLocal seg fallback (VM backend)
# Tests: Pattern2 rejects "seg" (reassigned body-local) → Pattern1 fallback
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/../../common.sh"
HAKO_FILE="apps/tests/phase263_p0_pattern2_seg_min.hako"
BACKEND="vm"
EXPECTED_OUTPUT="0"
APP_PATH="apps/tests/phase263_p0_pattern2_seg_min.hako"
ACTUAL_OUTPUT=$(HAKO_JOINIR_STRICT=1 ./target/release/hakorune --backend "$BACKEND" "$HAKO_FILE" 2>&1 | tail -1 | grep -E '^[0-9]+$')
run_vm_test "$APP_PATH" "phase263_p0_pattern2_seg_min"
if [ "$ACTUAL_OUTPUT" = "$EXPECTED_OUTPUT" ]; then
echo "✅ PASS: phase263_p0_pattern2_seg_vm"
exit 0
else
echo "❌ FAIL: phase263_p0_pattern2_seg_vm"
echo "Expected:"
echo "$EXPECTED_OUTPUT"
echo "Got:"
echo "$ACTUAL_OUTPUT"
echo "---Full output (last 80 lines):---"
HAKO_JOINIR_STRICT=1 ./target/release/hakorune --backend "$BACKEND" "$HAKO_FILE" 2>&1 | tail -n 80
exit 1
fi