Motivation: in the course of a recent doc-sync pass, real drift was found across all four of these files independently - CONTRIBUTORS.md still said "39 explainers" and ROADMAP.md's own traction table said "47" two sections above its own "53 explainers published" status line, while the real count had already moved to 53 (see the docs-area issues filed alongside this one). scripts/check_generated_files_current.py already verifies the generated site-build artifacts (explainer HTML pages, assets/explainers-data.js, sitemap.xml, llms-full.txt) stay byte-exact with a fresh regeneration - but nothing cross-checks the plain-prose explainer-count mentions scattered across these four docs files, so this specific class of drift can recur silently indefinitely.
Suggested fix: a small script (or an extension of check_generated_files_current.py) that counts explainers/*.md and asserts that number matches every "N explainers" mention it can find across README.md, CONTRIBUTORS.md, METRICS.md, and ROADMAP.md (a small, explicit list of exact strings/regexes to check, not a fuzzy scan - false positives on an unrelated "47" elsewhere in these files would be worse than the drift it's meant to catch). Wire it into .github/workflows/build-explainers.yml alongside the existing generated-files check, since that's the workflow that already runs on every explainers/**.md change.
Motivation: in the course of a recent doc-sync pass, real drift was found across all four of these files independently -
CONTRIBUTORS.mdstill said "39 explainers" andROADMAP.md's own traction table said "47" two sections above its own "53 explainers published" status line, while the real count had already moved to 53 (see the docs-area issues filed alongside this one).scripts/check_generated_files_current.pyalready verifies the generated site-build artifacts (explainer HTML pages,assets/explainers-data.js,sitemap.xml,llms-full.txt) stay byte-exact with a fresh regeneration - but nothing cross-checks the plain-prose explainer-count mentions scattered across these four docs files, so this specific class of drift can recur silently indefinitely.Suggested fix: a small script (or an extension of
check_generated_files_current.py) that countsexplainers/*.mdand asserts that number matches every "N explainers" mention it can find acrossREADME.md,CONTRIBUTORS.md,METRICS.md, andROADMAP.md(a small, explicit list of exact strings/regexes to check, not a fuzzy scan - false positives on an unrelated "47" elsewhere in these files would be worse than the drift it's meant to catch). Wire it into.github/workflows/build-explainers.ymlalongside the existing generated-files check, since that's the workflow that already runs on everyexplainers/**.mdchange.