Agent-driven docs validation. Two modes:
--mode=api(the original) — walksdocs/api/v4.0.0.jsonand validates each public function: reads CFC source, refreshes/authors reference example atvendor/wheels/public/docs/reference/<scope>/<name>.txt, fixes docblock drift in the CFC.--mode=guide— walksweb/sites/guides/src/content/docs/v4-0-0-snapshot/and validates each page: enumerates code blocks, adds{test:*}annotations to anything tag-able, marks illustrative blocks withtitle="...", fixes prose drift, validates via the existingverify-docsharness.
vendor/wheels/**/*.cfc— docblock hint +@paramhints + (rarely) function bodies when behavior contradicts the contractvendor/wheels/public/docs/reference/<scope>/<name>.txt— API examples (api mode)web/sites/guides/src/content/docs/v4-0-0-snapshot/**/*.mdx?— guide page edits (guide mode)- Nothing else. Anything else trips the
needs_humanflag.
cd tools/docs-validation
npm install
# API mode
node orchestrate.mjs --list-sections
node orchestrate.mjs --section "Model Class" --dry-run
ANTHROPIC_API_KEY=sk-... node orchestrate.mjs --function findEach
# Guide mode
node orchestrate.mjs --mode=guide --list-directories
node orchestrate.mjs --mode=guide --directory upgrading --dry-run
ANTHROPIC_API_KEY=sk-... node orchestrate.mjs --mode=guide --path "upgrading/3x-to-4x.mdx"
# Shared
node orchestrate.mjs --status
.github/workflows/docs-validation.yml exposes workflow_dispatch with
a mode input (api / guide). Pick the appropriate section (api
mode) or directory (guide mode), and the orchestrator opens a draft
PR back into develop.
state.json (committed) tracks per-item status:
pending → in_progress → done | failed | needs_human.
Item keys: function:<name> for api mode, guide:<rel-path> for
guide mode (e.g. guide:upgrading/3x-to-4x.mdx).
Re-runs are idempotent — done items are skipped unless --force is
passed; pending and failed items are re-attempted.