Problem
#1857 ✅ extended phpc doctor --gates with North Star 1 presenter steps. #1871 ✅ added North Star 2 / make north-star2-verify.
005-SessionsWeb VM gates are live on master (#1881 ✅, #1887 ✅, #1894 ✅, SESSIONS_WEB_SMOKE_GATE=1 default). There is still no doctor section for the 005 ladder — contributors grep examples/README.md or ROADMAP #78.
Goal
Extend lib/Doctor.php runGates() with a SessionsWeb (005) section that probes real status (not “pending #1881”):
| Stage |
Probe |
LLVM? |
| Lint |
phpc lint examples/005-SessionsWeb/example.php |
no |
| VM serve smoke |
SESSIONS_WEB_SMOKE_GATE + suggest make examples-sessions-smoke |
no |
| AOT link+execute |
#1891 commands / gate SESSIONS_WEB_AOT_SMOKE_GATE |
yes |
| Deploy CGI |
#1893 phpc deploy + cookie jar |
yes |
| Init scaffold |
#1886 phpc init --profile sessionsweb |
no |
Print ✅/📋/⬜ per row from filesystem + env (mirror miniwebapp / north-star1 formatting).
Implementation hints
| File |
Change |
lib/Doctor.php |
printSessionsWebSection(): void — call from runGates() after NS1 block |
| Env reads |
getenv('SESSIONS_WEB_SMOKE_GATE'), SESSIONS_WEB_AOT_SMOKE_GATE |
| Paths |
examples/005-SessionsWeb/example.php, phpc.json |
test/unit/PhpcDoctorTest.php |
assertStringContainsString('005-SessionsWeb', $output) when section enabled |
docs/GETTING-STARTED.md |
One line: ./phpc doctor --gates | grep -i sessions |
bin/phpc.php help |
Mention 005 section under doctor --gates |
Sample output (target)
SessionsWeb (005) — issue #1881
[✅] example.php present
[✅] SESSIONS_WEB_SMOKE_GATE=1 (default) — make examples-sessions-smoke
[📋] AOT two-request execute — #1891 (opt-in SESSIONS_WEB_AOT_SMOKE_GATE=0)
[📋] phpc init --profile sessionsweb — #1886
Gate env SSOT (document in section footer)
| Variable |
Default (master) |
Issue |
SESSIONS_WEB_SMOKE_GATE |
1 |
#1894 ✅ |
SESSIONS_WEB_AOT_SMOKE_GATE |
0 (until #1923) |
#1921 |
Acceptance criteria
./phpc doctor --gates | grep -i '005\|SessionsWeb\|SESSIONS_WEB'
./script/ci-fast.sh --filter PhpcDoctor
Verification (local / Docker only)
./phpc doctor --gates
docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev ./phpc doctor --gates
No GitHub Actions (#394 ✅).
Dependencies
Links
Problem
#1857 ✅ extended
phpc doctor --gateswith North Star 1 presenter steps. #1871 ✅ added North Star 2 /make north-star2-verify.005-SessionsWeb VM gates are live on master (#1881 ✅, #1887 ✅, #1894 ✅,
SESSIONS_WEB_SMOKE_GATE=1default). There is still no doctor section for the 005 ladder — contributors grepexamples/README.mdor ROADMAP #78.Goal
Extend
lib/Doctor.phprunGates()with a SessionsWeb (005) section that probes real status (not “pending #1881”):phpc lint examples/005-SessionsWeb/example.phpSESSIONS_WEB_SMOKE_GATE+ suggestmake examples-sessions-smokeSESSIONS_WEB_AOT_SMOKE_GATEphpc deploy+ cookie jarphpc init --profile sessionswebPrint ✅/📋/⬜ per row from filesystem + env (mirror miniwebapp / north-star1 formatting).
Implementation hints
lib/Doctor.phpprintSessionsWebSection(): void— call fromrunGates()after NS1 blockgetenv('SESSIONS_WEB_SMOKE_GATE'),SESSIONS_WEB_AOT_SMOKE_GATEexamples/005-SessionsWeb/example.php,phpc.jsontest/unit/PhpcDoctorTest.phpassertStringContainsString('005-SessionsWeb', $output)when section enableddocs/GETTING-STARTED.md./phpc doctor --gates | grep -i sessionsbin/phpc.phphelpdoctor --gatesSample output (target)
Gate env SSOT (document in section footer)
SESSIONS_WEB_SMOKE_GATE1SESSIONS_WEB_AOT_SMOKE_GATE0(until #1923)Acceptance criteria
examples/005-SessionsWeb/exists (always on master)Verification (local / Docker only)
./phpc doctor --gates docker run --rm -v "$(pwd):/compiler" -w /compiler php-compiler:22.04-dev ./phpc doctor --gatesNo GitHub Actions (#394 ✅).
Dependencies
Links