diff --git a/docs/development/current/main/phases/phase-29ae/README.md b/docs/development/current/main/phases/phase-29ae/README.md index 6238224b..e9cd90f6 100644 --- a/docs/development/current/main/phases/phase-29ae/README.md +++ b/docs/development/current/main/phases/phase-29ae/README.md @@ -7,6 +7,7 @@ Goal: JoinIR の最小回帰セットを SSOT として固定する。 - Pattern2: `phase29ab_pattern2_*` - Pattern2 (real-world): `phase263_pattern2_*` - Pattern3 (If‑Phi, VM): `phase118_pattern3_if_sum_vm` +- Pattern1 (strict shadow, VM): `phase29ao_pattern1_strict_shadow_vm` - Pattern5 (Break, VM): `phase286_pattern5_break_vm` - Pattern6: `phase29ab_pattern6_*` - Pattern7: `phase29ab_pattern7_*` diff --git a/tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh b/tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh index 39ceddc9..d032a6a3 100644 --- a/tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh +++ b/tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh @@ -20,6 +20,7 @@ run_filter() { run_filter "pattern2" "phase29ab_pattern2_" || exit 1 run_filter "pattern2_realworld" "phase263_pattern2_" || exit 1 run_filter "pattern3_ifphi_vm" "phase118_pattern3_if_sum_vm" || exit 1 +run_filter "pattern1_strict_shadow_vm" "phase29ao_pattern1_strict_shadow_vm" || exit 1 run_filter "pattern5_break_vm" "phase286_pattern5_break_vm" || exit 1 run_filter "pattern6" "phase29ab_pattern6_" || exit 1 run_filter "pattern7" "phase29ab_pattern7_" || exit 1 diff --git a/tools/smokes/v2/profiles/integration/joinir/phase29ao_pattern1_strict_shadow_vm.sh b/tools/smokes/v2/profiles/integration/joinir/phase29ao_pattern1_strict_shadow_vm.sh new file mode 100644 index 00000000..73c051b0 --- /dev/null +++ b/tools/smokes/v2/profiles/integration/joinir/phase29ao_pattern1_strict_shadow_vm.sh @@ -0,0 +1,34 @@ +#!/bin/bash +# phase29ao_pattern1_strict_shadow_vm.sh - Pattern1 strict shadow adopt gate (VM) +# +# Purpose: +# - Exercise Phase 29ao P17/P18 strict/dev shadow adopt path: +# DomainPlan Pattern1 selected -> Facts→CorePlan(skeleton) adopted in router +# +# Expected: +# - Exit code 3 (same as existing Pattern1 PoC expectations) + +source "$(dirname "$0")/../../../lib/test_runner.sh" +require_env || exit 2 + +FIXTURE="$NYASH_ROOT/apps/tests/phase286_pattern1_frag_poc.hako" +RUN_TIMEOUT_SECS=${RUN_TIMEOUT_SECS:-10} + +set +e +OUTPUT=$(timeout "$RUN_TIMEOUT_SECS" env NYASH_DISABLE_PLUGINS=1 HAKO_JOINIR_STRICT=1 "$NYASH_BIN" --backend vm "$FIXTURE" 2>&1) +EXIT_CODE=$? +set -e + +if [ "$EXIT_CODE" -eq 124 ]; then + log_error "phase29ao_pattern1_strict_shadow_vm: hakorune timed out (>${RUN_TIMEOUT_SECS}s)" + exit 1 +fi + +if [ "$EXIT_CODE" -ne 3 ]; then + log_error "phase29ao_pattern1_strict_shadow_vm: expected exit code 3, got $EXIT_CODE" + echo "$OUTPUT" + exit 1 +fi + +log_success "phase29ao_pattern1_strict_shadow_vm: PASS (exit=3)" +exit 0