Problem
#2207 / #2217 add examples/008-SelfHostProbe and wire the examples ladder. Root README.md shipped-examples table can drift (wrong VM/AOT columns, missing row) without failing CI — same class of bug as #2017 (006) and #1924 (005).
Important: Do not add a second checker script. SSOT is already script/check-root-readme-sync.php (#1832, #1525) with per-example env slices (ROOT_README_006_SYNC_GATE, ROOT_README_007_SYNC_GATE).
Goal
Extend script/check-root-readme-sync.php (not a new check-root-readme-008-sync.php) to assert:
README.md contains 008-SelfHostProbe row when examples/README.md documents it
- VM column shows ✅ (or documented opt-in) — AOT column
— / optional
- No stale “missing 008” while examples ladder is green
Wire gate:
Implementation hints
| File |
Action |
script/check-root-readme-sync.php |
Add 008 row checks mirroring 005–007 blocks (~L68–L95) |
script/ci-common.sh |
ROOT_README_008_SYNC_GATE=1 branch |
script/ci-defaults.env |
Export gate default 0 |
test/unit/RootReadmeSyncTest.php |
Fixture README snippet |
test/unit/CiScriptsTest.php |
Document gate in ci-matrix expectations |
docs/local-ci-matrix.md |
Row for ROOT_README_008_SYNC_GATE |
Example assertion sketch
if (str_contains($examples, '008-SelfHostProbe') && !str_contains($body, '008-SelfHostProbe')) {
$errors[] = 'README.md: missing 008-SelfHostProbe row (#2229)';
}
Acceptance criteria
php script/check-root-readme-sync.php
ROOT_README_008_SYNC_GATE=1 ./script/ci-fast.sh
Harness:
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php script/check-root-readme-sync.php'
Dependencies
Links
Problem
#2207 / #2217 add
examples/008-SelfHostProbeand wire the examples ladder. RootREADME.mdshipped-examples table can drift (wrong VM/AOT columns, missing row) without failing CI — same class of bug as #2017 (006) and #1924 (005).Important: Do not add a second checker script. SSOT is already
script/check-root-readme-sync.php(#1832, #1525) with per-example env slices (ROOT_README_006_SYNC_GATE,ROOT_README_007_SYNC_GATE).Goal
Extend
script/check-root-readme-sync.php(not a newcheck-root-readme-008-sync.php) to assert:README.mdcontains008-SelfHostProberow whenexamples/README.mddocuments it—/ optionalWire gate:
ROOT_README_008_SYNC_GATE=0default inscript/ci-defaults.envci_run_inventory_checksinscript/ci-common.sh(same hook as Docs: ROOT_README shipped-examples table — verify 006-FileUploadWeb row sync #2017 / Docs: ROOT_README + examples README row for 007-ThrowsWeb #2094)Implementation hints
script/check-root-readme-sync.phpscript/ci-common.shROOT_README_008_SYNC_GATE=1branchscript/ci-defaults.env0test/unit/RootReadmeSyncTest.phptest/unit/CiScriptsTest.phpdocs/local-ci-matrix.mdROOT_README_008_SYNC_GATEExample assertion sketch
Acceptance criteria
Harness:
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php script/check-root-readme-sync.php'Dependencies
Links