Problem
#622 ✅ wired MINIWEBAPP_SERVE_GATE=1 into script/ci-local.sh / ci-fast.sh, but the env defaults to off. #470 ServeTest @group miniwebapp is green on master; contributors running full CI still skip HTTP route regressions unless they export the gate manually (#472 stage 2).
Goal
Promote stage 2 of the MiniWebApp gate ladder so default ./script/ci-local.sh runs MiniWebApp ServeTest when loopback bind is available (same guard as @group serve).
Scope
Acceptance criteria
./script/ci-local.sh --filter ServeTest
# Harness (no GHA):
./script/docker-ci-local.sh --filter ServeTest
With loopback available → MiniWebApp ServeTest runs without exporting env. With PHP_COMPILER_SKIP_SERVE_TESTS=1 → skip with clear message (unchanged).
Dependencies
Links
Problem
#622 ✅ wired
MINIWEBAPP_SERVE_GATE=1intoscript/ci-local.sh/ci-fast.sh, but the env defaults to off. #470 ServeTest@group miniwebappis green onmaster; contributors running full CI still skip HTTP route regressions unless they export the gate manually (#472 stage 2).Goal
Promote stage 2 of the MiniWebApp gate ladder so default
./script/ci-local.shruns MiniWebApp ServeTest when loopback bind is available (same guard as@group serve).Scope
MINIWEBAPP_SERVE_GATE=1inscript/ci-local.sh(document opt-outMINIWEBAPP_SERVE_GATE=0for fast iteration)script/ci-fast.shbehind serve bind probescript/miniwebapp-gates.shstage-2 detection (env default vs explicit export)examples/003-MiniWebApp/README.md+ DevEx: MiniWebApp CI gate ladder (lint → serve → AOT → web-smoke) #472 ladder tabletest/unit/CiScriptsTest.php— assert default or documented overrideAcceptance criteria
./script/ci-local.sh --filter ServeTest # Harness (no GHA): ./script/docker-ci-local.sh --filter ServeTestWith loopback available → MiniWebApp ServeTest runs without exporting env. With
PHP_COMPILER_SKIP_SERVE_TESTS=1→ skip with clear message (unchanged).Dependencies
Links
test/real/ServeTest.php, ROADMAP 🗺️ ROADMAP: Compile a small PHP web application (living document) #78