Problem
phpc doctor --gates documents env ladders for 005-SessionsWeb (#1903) and 006-FileUploadWeb (#2010), but 007-ThrowsWeb will add THROWSWEB_* gates (#2101, #2093) without a presenter-facing index.
Contributors grep ci-defaults.env instead of one command.
Goal
Extend bin/phpc.php / lib/Cli/PhpcDoctor.php (or equivalent) so:
./phpc doctor --gates | grep -i throws
lists, in order:
| Gate |
Purpose |
Default |
Issue |
THROWSWEB_WEB_SMOKE_GATE |
phpc serve + curl invalid POST |
0 → 1 |
#2093 |
THROWSWEB_AOT_LINK_GATE |
phpc build --project 007 |
0 |
#2101 |
THROWSWEB_AOT_SMOKE_GATE |
native 500 response |
0 |
#2101 |
Include one-line “how to run” (make … or ./script/examples-web-smoke.sh --throws-only when added).
Implementation hints
| File |
Change |
lib/Cli/PhpcDoctor.php |
New section ThrowsWeb (007) after FileUploadWeb block |
docs/local-ci-matrix.md |
Cross-link gate names |
test/unit/PhpcDoctorGatesTest.php |
Assert section exists when #2076 directory present |
Mirror #1903 structure; do not duplicate full curl recipes (link examples/007-ThrowsWeb/README.md).
Acceptance criteria
Verification
./phpc doctor --gates | grep -i throws
./script/ci-fast.sh --filter PhpcDoctorGates
No GitHub Actions.
Dependencies
Links
Problem
phpc doctor --gatesdocuments env ladders for 005-SessionsWeb (#1903) and 006-FileUploadWeb (#2010), but 007-ThrowsWeb will add THROWSWEB_* gates (#2101, #2093) without a presenter-facing index.Contributors grep
ci-defaults.envinstead of one command.Goal
Extend
bin/phpc.php/lib/Cli/PhpcDoctor.php(or equivalent) so:./phpc doctor --gates | grep -i throwslists, in order:
THROWSWEB_WEB_SMOKE_GATEphpc serve+ curl invalid POST0→1THROWSWEB_AOT_LINK_GATEphpc build --project0070THROWSWEB_AOT_SMOKE_GATE0Include one-line “how to run” (
make …or./script/examples-web-smoke.sh --throws-onlywhen added).Implementation hints
lib/Cli/PhpcDoctor.phpThrowsWeb (007)after FileUploadWeb blockdocs/local-ci-matrix.mdtest/unit/PhpcDoctorGatesTest.phpMirror #1903 structure; do not duplicate full curl recipes (link
examples/007-ThrowsWeb/README.md).Acceptance criteria
phpc doctor --gateslists all THROWSWEB_* vars with current defaults fromscript/ci-defaults.envtest/unit/PhpcDoctorGatesTest.phpupdateddocs/GETTING-STARTED.mdoptional one-liner points to doctor (after Examples: 007-ThrowsWeb — throw/catch presenter app (post-#195/#57) #2076)Verification
./phpc doctor --gates | grep -i throws ./script/ci-fast.sh --filter PhpcDoctorGatesNo GitHub Actions.
Dependencies
Links