Skip to content

docs: state the maintainer bot as planned, and point at the 48 unrated entries - #22

Open
john-the-dev wants to merge 2 commits into
mainfrom
docs/state-the-bot-as-planned
Open

docs: state the maintainer bot as planned, and point at the 48 unrated entries#22
john-the-dev wants to merge 2 commits into
mainfrom
docs/state-the-bot-as-planned

Conversation

@john-the-dev

Copy link
Copy Markdown
Owner

What

Four docs describe an automated maintainer in the present tense. It does not exist yet. This states it as planned and turns the 48 unrated entries into a named contribution surface.

Why — measured, not assumed

The bot is not running. Three independent checks:

  • scripts/ contains build.mjs, lib.mjs, validate.mjs — no grader
  • the only workflow is validate.yml, triggered on pull_request + push — never scheduled
  • all 13 commits are authored by a human; no bot author, no .github/ app config

The 11 A grades came from a single hand-written content commit.

And the promise has a cost. dist/kb.json is 48 unrated of 59. The README sells "continuously-maintained, quality-graded" with "freshness + grading" as the differentiator, so a visitor who checks finds 81% ungraded — and GRADING.md told them a bot would handle it, which is precisely the sentence that stops a reader from grading one themselves.

The edits

file before after
README.md:5 "an automated maintainer bot proposes additions and flags stale entries" "…is planned, not yet running — grading is done by maintainers and contributors today"
README.md:26 diagram lists Sutando maintainer-bot [maintainer-bot: planned, not yet running]
README.md:58 "The maintainer bot opens PRs too" Good first contribution — names the 48, the rubric, and the command that lists them
CONTRIBUTING.md:21 "## The maintainer bot" "## The maintainer bot (planned)" + what is human until then
GRADING.md:13 "The maintainer bot grades these on its next pass" validate.mjs warns on each; grading them is open contribution work
GRADING.md:38 "The maintainer bot flags stale entries" manual re-verify; notes no entry is currently over 90 days

Every claim is phrased as planned, not deleted — this does not foreclose building the bot, it just stops the docs asserting it already runs.

Verification

node scripts/validate.mjs  ->  ✅ 59 entries valid. 48 warning(s).  rc=0

Identical with these docs and with the originals — docs are not validator input, so this is a control confirming no regression rather than evidence the edit works.

One incidental finding, not fixed here: scripts/lib.mjs:66 builds a file:// URL and passes it to readdirSync without decoding, so the validator crashes with ENOENT ... Application%20Support when the repo is checked out under a path containing a space. CI is unaffected. Happy to file it separately.

Also worth knowing

By GRADING.md's own rule (stale = last_verified > 90 days), zero of the 59 entries are currently stale — ages run 6 to 48 days. The only real content gap is the 48 unrated, which is what this PR points contributors at.

The README's differentiator paragraph, its architecture diagram, CONTRIBUTING,
and GRADING all describe an automated maintainer in the present tense. It does
not exist: scripts/ holds build, lib and validate; the only workflow is
validate.yml (pull_request + push, never scheduled); all 13 commits are human;
there is no bot config. The 11 A grades came from one hand-written commit.

Meanwhile 48 of 59 entries are grade: unrated, which the README's own
"continuously-maintained, quality-graded" claim invites a visitor to check.

Two things get fixed by saying so plainly:

- The claim becomes true, and stays true whether or not the bot is built. Every
  edit is phrased as "planned, not yet running" rather than removed, so nothing
  here forecloses building it.
- The 48 unrated stop being someone else's job. GRADING.md told a reader the bot
  would grade them, which is exactly the sentence that stops a contributor from
  doing it. README now names them as the good first contribution, with the
  rubric and the command that lists them.

Validated: `node scripts/validate.mjs` -> 59 entries valid, 48 warnings, rc=0,
identical with these docs and with the originals (docs are not validator input;
run from a path without spaces — lib.mjs:66 does not decode %20).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
"48 of 59 entries are grade: unrated" was true when written and false by the
time this branch was pushed — #21 grades 58 of 59, and it was already open.
A number whose truth depends on which of two open PRs merges first should not
be in the README at all.

The CTA now points at what validate.mjs reports rather than a snapshot of it,
and names re-grading as equally welcome — which is the contribution surface
that survives #21 landing.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant