Part of #9296. Round 4 — runs in parallel with R0, no dependency on it.
Why
pnpm check:platform-checklist is green, but its two ratchets only catch a new metadata kind (liveness-derived coverage) and a new member of a pinned enum (enumSource freshness). Neither can see new behavior inside an existing kind — which is where 727 commits / 3992 changed files since 2026-08-11 most likely hid something. That class is exactly what the five-angle sweep exists to find (docs/qa/platform-checklist/SWEEP.md).
Ledger today: 182 active items, 15 areas, coverage 28 kinds mapped / 2 waived. By since: v15 41 · v15.1 19 · v16 108 · v17 only 14 — for a tree whose spec package is already at 17.0.0, that ratio is itself a signal worth testing.
Scope
Run the checklist-author skill and follow SWEEP.md as written — it is the method, this card is not a second copy of it. Two scoping notes specific to this round:
- Bias the five hunters toward the delta: the ledger was built by the 2026-08-08 sweep, so the highest-yield surface is what landed after it. Ground every hunter in real file paths (
git log/git diff against that window is available — the clone is full-depth). - Re-audit every waiver. In the 2026-08 sweep four of six waivers turned out factually stale. A waiver is a claim that ages; the two current ones (
book, doc) each get re-checked against the runtime, not against their own prose.
Constraints
- ⛔ Do not run
pnpm install.scripts/check-platform-checklist.mjs and scripts/checklist-select.mjs are zero-dependency (node:fs / node:path only) and run straight from a fresh worktree. R0 owns the one install in this container and the disk allowance is shared. - Worktree-first, per CLAUDE.md — your own tree, branch
claude/issue-<n>-<slug>. - Deliverable:
areas/*.json additions/revisions + a reconciled coverage.json, validator green (node scripts/check-platform-checklist.mjs), plus FOLLOW-UPS.md entries for product defects and docs drift found while grounding. Every new item obeys the deep-test contract in README.md: a fixture that does not exist is blocked/knownGaps, never faked coverage. - Security-sensitive findings are NOT filed publicly — they go to the maintainer through the PM.
- Draft PR, do not merge, do not enable auto-merge. If the Check Changeset gate demands a changeset for a docs-only diff, use the repo's real
skip-changeset mechanism rather than inventing one.
Fold in while you are in this file (two known defects in the ledger's own prose)
SWEEP.md L9–10 states check-platform-checklist.mjs runs in "CI, every PR". It does not, by maintainer decision — see this dir's README.md "Operating cadence" and the recorded note at .github/workflows/lint.yml:426. Measured cost, for the record while you correct the text: the validator is ~80 ms, and the full pnpm check:platform-checklist (selector self-test + validator) is 0.165 s — so the sentence is wrong about the fact, not about the cost. Fix the fact; ⛔ do not change the CI posture, that is a maintainer decision.- Anything else in
README.md/SWEEP.md/RUNNER.md your grounding proves stale gets corrected in the same PR, each with a one-line rationale.
Part of #9296. Round 4 — runs in parallel with R0, no dependency on it.
Why
pnpm check:platform-checklistis green, but its two ratchets only catch a new metadata kind (liveness-derived coverage) and a new member of a pinned enum (enumSourcefreshness). Neither can see new behavior inside an existing kind — which is where 727 commits / 3992 changed files since 2026-08-11 most likely hid something. That class is exactly what the five-angle sweep exists to find (docs/qa/platform-checklist/SWEEP.md).Ledger today: 182 active items, 15 areas, coverage 28 kinds mapped / 2 waived. By
since: v15 41 · v15.1 19 · v16 108 · v17 only 14 — for a tree whose spec package is already at 17.0.0, that ratio is itself a signal worth testing.Scope
Run the
checklist-authorskill and followSWEEP.mdas written — it is the method, this card is not a second copy of it. Two scoping notes specific to this round:git log/git diffagainst that window is available — the clone is full-depth).book,doc) each get re-checked against the runtime, not against their own prose.Constraints
pnpm install.scripts/check-platform-checklist.mjsandscripts/checklist-select.mjsare zero-dependency (node:fs/node:pathonly) and run straight from a fresh worktree. R0 owns the one install in this container and the disk allowance is shared.claude/issue-<n>-<slug>.areas/*.jsonadditions/revisions + a reconciledcoverage.json, validator green (node scripts/check-platform-checklist.mjs), plusFOLLOW-UPS.mdentries for product defects and docs drift found while grounding. Every new item obeys the deep-test contract inREADME.md: a fixture that does not exist isblocked/knownGaps, never faked coverage.skip-changesetmechanism rather than inventing one.Fold in while you are in this file (two known defects in the ledger's own prose)
SWEEP.mdL9–10 statescheck-platform-checklist.mjsruns in "CI, every PR". It does not, by maintainer decision — see this dir'sREADME.md"Operating cadence" and the recorded note at.github/workflows/lint.yml:426. Measured cost, for the record while you correct the text: the validator is ~80 ms, and the fullpnpm check:platform-checklist(selector self-test + validator) is 0.165 s — so the sentence is wrong about the fact, not about the cost. Fix the fact; ⛔ do not change the CI posture, that is a maintainer decision.README.md/SWEEP.md/RUNNER.mdyour grounding proves stale gets corrected in the same PR, each with a one-line rationale.