Skip to content

DevEx: phpc doctor --gates lists 005-SessionsWeb ladder (#1887–#1894) #1903

@PurHur

Description

@PurHur

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions