From f2ad79dba39f44b3f3e2d91f5be9926b12c7c663 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 19 Aug 2026 19:57:14 +0000 Subject: [PATCH] docs(scripts): check-role-word's --update moves the baseline in both directions (#10042) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The header said `--update` "expands the baseline, which is the shrink-only direction of this ratchet". The relative clause had no correct antecedent, and the concept behind it was imprecise either way: `--update` is not directional at all. Mechanically it rewrites the baseline from the current tree and never reads the old ledger (`const baseline = ...` sits after the `update` branch's `process.exit(0)`), so the ledger moves whichever way the tree moved — shrinking where the word is gone, EXPANDING where it is new, in one stroke. Only POLICY separates the two: the baseline is shrink-only, so ratcheting down is the author's own remedy while expanding weakens the gate and is a maintainer's call. The header now says that, in the vocabulary this file already uses at the #8435 block (L64-66) and in newUseMessage() (L128-130), and it states that the self-test and the #8435 farm sweep pin the marker's WORDING, not the act — so the sentence no longer implies an enforcement that does not exist. Comment prose only: no verdict, population, exit code or message text changes. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01XqDQYVU5smx29ts9pAErja --- scripts/check-role-word.mjs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/check-role-word.mjs b/scripts/check-role-word.mjs index 46bb27abda..c42f5b70c1 100644 --- a/scripts/check-role-word.mjs +++ b/scripts/check-role-word.mjs @@ -26,9 +26,15 @@ // node scripts/check-role-word.mjs [--update] // node scripts/check-role-word.mjs --self-test # verify the checker's own rules // -// `--update` expands the baseline, which is the shrink-only direction of this -// ratchet — the NEW-use message marks that path `⛔ MAINTAINER-ONLY` per the -// #8435 convention, and the self-test holds the marker in place. +// `--update` rewrites the baseline from the current tree — it never reads the +// old ledger (see the `update` branch at the bottom) — so it moves whichever +// way the tree moved: shrinking where the word is gone, EXPANDING where it is +// new. Only policy tells those apart. The baseline is shrink-only, so +// ratcheting down is the author's own remedy, while expanding WEAKENS the gate +// and is a maintainer's call: the NEW-use message marks that path +// `⛔ MAINTAINER-ONLY` per the #8435 convention, and the self-test holds the +// marker in place. Both pin the WORDING, not the act — the flag takes either +// direction from whoever runs it. // // Scope: content/docs (hand-written; references/ is generated from spec and // excluded — the spec source is the fix site there) and skills/. File and