Skip to content

CI: ROOT_README_008_SYNC_GATE — drift guard for README 008-SelfHostProbe row #2229

Description

@PurHur

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:

  1. README.md contains 008-SelfHostProbe row when examples/README.md documents it
  2. VM column shows ✅ (or documented opt-in) — AOT column / optional
  3. 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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions