Uh oh!
There was an error while loading. Please reload this page.
docs(scripts): drop the removed GENERATED_SKILL_ARTIFACTS from the check-doc-authoring control entry - #12187
Conversation
…eck-doc-authoring control entry The `why` record for `check-doc-authoring.mjs` in the ratchet-remedy-authority control corpus named four declarations. `GENERATED_SKILL_ARTIFACTS` — the by-path exemption for the generated `references/_index.md` / `references/react-blocks.md` artifacts — was removed from the tree when its sources stopped carrying projected issue ids, so the record's only surviving mention of it was this prose string. Drop that one name and move the conjunction (`A, B, C and D` -> `A, B and C`). `ROOTS`, `SKIP_PATHS` and `SKIP_FILES` are all still declared and used in `scripts/check-doc-authoring.mjs`, so the rest of the sentence stands. The entry's closing line, about the per-passage allowlist, is left byte-identical. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UjM2ia8Av1v5NqfqQEQmC6
yinlianghui
commented
Aug 25, 2026
|
Uh oh!
There was an error while loading. Please reload this page.
Fixes#12095
The
whyrecord forcheck-doc-authoring.mjsin the control corpus ofscripts/check-ratchet-remedy-authority.mjsnamed four declarations:GENERATED_SKILL_ARTIFACTSis no longer in the tree. It was the by-path exemption for thegenerated
references/_index.md/references/react-blocks.mdartifacts, and it was dropped(rather than narrowed) by PR #12097 — for #11930, merged as
71f9cd1d75— once those filesstopped carrying issue ids projected from
packages/specTSDoc. The exemption then guarded aclean surface, so it went. This prose string was its only surviving mention anywhere in the repo.
The change
One line, one file. The name is dropped and the conjunction moves, since removing the fourth item
of a four-item list otherwise leaves a dangling
and:Nothing else in the entry moves. The closing sentence — about the per-passage allowlist, and
carrying a maintainer ruling of 2026-08-25 — is a different subject and is left byte-identical
(267 bytes on both sides of the diff, verified by comparing the tail segment against
origin/main). No other entry orwhyrecord in the file is touched.Verification
The three surviving names are live. They describe constants in
scripts/check-doc-authoring.mjs,so that is where liveness was measured — not in the file carrying the prose, where a grep only ever
re-finds the sentence itself:
So this is a single instance of the defect, not one of several.
Nothing parses the
whystring.declared.whyhas exactly one consumer in the gate — line 826,where it is interpolated into the
MISCLASSIFIED:failure text (control's reason: ${declared.why}).It is never matched, split, or compared. No file in the repo reads
scripts/check-ratchet-remedy-authority.mjsas text; the four other referrers of that filename(
package.json,check-doc-authoring.mjs,check-auth-mount-ledger.mjs,check-i18n-coverage.mjs)name it only in prose comments, a message string, and the npm script that invokes it. The gate's own
--self-testpins no entry text. That is consistent with the gate having stayed green through #12097with the string already stale.
No ablation applies. A record string with no execution path has nothing to mutate — there is no
leg here that could be made to fail, and constructing one would be theatre rather than evidence.
Gate union, derived with
node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstackin the worktree and run at the final commit
f677692327. Exit codes captured before any pipe; theverdict line quoted is each gate's own:
check:agent-test-spellingcheck:cross-package-test-inputsOK: 16 package(s) read outside themselves, all declared…check:entry-guard✓ check:entry-guard: 161 scripts/ file(s) — every entry guard goes through invoked-as.mjscheck:parse-guardscripts/, 31 counted and tieredcheck:pnpm-filter-targets✓ … 136/173 --filter occurrence(s) across 28 file(s) resolvecheck:ratchet-remedy-authorityOK check-ratchet-remedy-authority: 146 scripts swept … Control corpus: 24 hand-classified scripts, set-equality audited both ways.node scripts/check-ci-filter-parity.mjsOK: all 96 declared cross-package glob(s) (81 unique) are covered…node scripts/check-cross-package-test-inputs.mjsOK: 16 package(s) read outside themselves, all declared…Plus
check:nul-bytes, run because the PR edits a file:check-nul-bytes: OK (scanned 6749 text file(s) … no raw ASCII control bytes).The six changeset-triggered families the derivation lists do not apply — see below.
Changeset
None. The diff is a comment-grade string inside a repo-root
scripts/gate; no published packagesource changes and nothing is user-visible, so this carries the
skip-changesetlabel instead.Generated by Claude Code