Skip to content

Commit 193a45e

Browse files
chore(docs): delete the dead content/docs.site.json config (#13701)
Every key in the file had zero readers and nothing loaded it; the live docs-site config is gitConfig in apps/docs/lib/layout.shared.tsx. Re-points the dispatch-gates self-test cases that used the file as their live sibling-pair specimen at packages/spec/authorable-surface, per the standing instruction those cases carry. Co-authored-by: Claude <pm@objectstack.ai>
1 parent a21d2a9 commit 193a45e

2 files changed

Lines changed: 27 additions & 89 deletions

File tree

content/docs.site.json

Lines changed: 0 additions & 73 deletions
This file was deleted.

scripts/pm/dispatch-gates.mjs

Lines changed: 27 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2532,10 +2532,13 @@ export function spellingFooterLines(split) {
25322532
* hint 'content/docs' vs 'content/docs.site.json' raw=true segment=false
25332533
* <- check:role-word, check:docs-audit-scope
25342534
*
2535-
* `content/docs.site.json` is a real file sitting beside the `content/docs`
2536-
* directory, and neither gate reads it. So both were printed as MATCHED for any
2535+
* `content/docs.site.json` was a real file sitting beside the `content/docs`
2536+
* directory, and neither gate read it. So both were printed as MATCHED for any
25372537
* card touching that file. The sibling class was always live; the earlier census
2538-
* probed directories, and this specimen is a file.
2538+
* probed directories, and that specimen was a file. (The file itself was deleted
2539+
* as dead config in #12489 — the measurement above stands as the record of why
2540+
* this narrowing exists, and the self-test's live specimen moved to
2541+
* `packages/spec/authorable-surface` + `.base.json`.)
25392542
*
25402543
* The neighbouring predicate already draws this boundary and has a pinned case
25412544
* for it (`isInI18nBundlePackage`: `path === dir || path.startsWith(dir + '/')`).
@@ -8549,10 +8552,10 @@ function selfTest() {
85498552
t('nor reach a sibling that merely shares the stem', !hintCovers('packages/spec/src/migrations/registry', 'packages/spec/src/migrations/registry-v2.ts'));
85508553
t('nor a doubled extension', !hintCovers('packages/spec/src/migrations/registry', 'packages/spec/src/migrations/registry.ts.ts'));
85518554
t('and it stays inside the segment rule — a bare word is still refused, extension or not', !hintCovers('registry', 'registry.ts'));
8552-
// The `content/docs.site.json` trade (#8534) is what a LOOSE suffix rule
8553-
// would have taken back. Pinned here as well as above, because this card is
8554-
// the one that would have broken it: `.site.json` is not a module extension.
8555-
t('the sibling-file refusal survives the extension follow', !hintCovers('content/docs', 'content/docs.site.json'));
8555+
// The dotted-suffix sibling trade (#8534) is what a LOOSE suffix rule would
8556+
// have taken back. Pinned here as well as above, because this card is the one
8557+
// that would have broken it: `.base.json` is not a module extension.
8558+
t('the sibling-file refusal survives the extension follow', !hintCovers('packages/spec/authorable-surface', 'packages/spec/authorable-surface.base.json'));
85568559

85578560
// COHERENCE: the matcher and the residue cannot disagree about a file the
85588561
// tree HAS. `extensionlessModuleTarget` exists to say "the tree has this
@@ -8607,14 +8610,16 @@ function selfTest() {
86078610
t('a hint equal to the input path covers it', hintCovers('docs/adr', 'docs/adr'));
86088611
t('a sibling sharing a name prefix is NOT covered', !hintCovers('packages/client', 'packages/client-react/src/index.ts'));
86098612
t('nor in the other direction', !hintCovers('packages/spec-extra/x.ts', 'packages/spec'));
8610-
// The live specimen this was measured on: a real FILE sitting beside a real
8611-
// directory of the same name stem, claimed by two gates that never read it.
8612-
// The filed census called the rule dormant after probing package DIRECTORIES;
8613-
// it was live all along, one directory level up and on a file. If
8614-
// content/docs.site.json is ever removed, re-point this case at whatever
8615-
// sibling pair the tree then has rather than deleting it.
8616-
t('the live sibling FILE is no longer claimed by the directory hint', !hintCovers('content/docs', 'content/docs.site.json'));
8617-
t('while the directory it names is still covered', hintCovers('content/docs', 'content/docs/adr/0112-x.mdx'));
8613+
// The live specimen this is measured on: a real FILE sitting beside a real
8614+
// directory of the same name stem. The filed census called the rule dormant
8615+
// after probing package DIRECTORIES; it was live all along, on a file. The
8616+
// original specimen was `content/docs` + `content/docs.site.json`; that file
8617+
// was deleted as dead config (#12489) and this case was re-pointed, per the
8618+
// standing instruction kept here: if `packages/spec/authorable-surface.base.json`
8619+
// is ever removed, re-point this case at whatever sibling pair the tree then
8620+
// has rather than deleting it.
8621+
t('the live sibling FILE is no longer claimed by the directory hint', !hintCovers('packages/spec/authorable-surface', 'packages/spec/authorable-surface.base.json'));
8622+
t('while the directory it names is still covered', hintCovers('packages/spec/authorable-surface', 'packages/spec/authorable-surface/ai.json'));
86188623
// The collapsed-glob reach trade, pinned in BOTH directions so the decision
86198624
// reads as an assertion. Refusing the sibling reach is the DECIDED loss (see
86208625
// hintCovers' docblock): measured, no repo-path hint of this shape exists —
@@ -8959,7 +8964,13 @@ function selfTest() {
89598964
// apart, and the collapsed subtree does.
89608965
t('and claims nothing under the internal .claude skills tree it never walks', !roleWordHints.some((h) => hintCovers(h, '.claude/skills/pm-dispatch/SKILL.md')));
89618966
t('nor a package source file', !roleWordHints.some((h) => hintCovers(h, 'packages/spec/src/index.ts')));
8962-
t('nor the sibling FILE beside the content root', !roleWordHints.some((h) => hintCovers(h, 'content/docs.site.json')));
8967+
// CONSTRUCTED path, deliberately: `content/docs.site.json` was a live file
8968+
// until it was deleted as dead config (#12489), and `content/` now holds only
8969+
// the two collection directories, so the tree offers no sibling beside the
8970+
// content root to name. The probe stays spelled against the `content/docs`
8971+
// hint anyway — that hint is the one with bite here, and re-pointing at a
8972+
// path some far-away gate names would keep this green while testing nothing.
8973+
t('nor a sibling FILE beside the content root', !roleWordHints.some((h) => hintCovers(h, 'content/docs.site.json')));
89638974
// The pair that makes the declaration worth having: the bare word this gate
89648975
// actually spells in its ROOTS array stays refused, so the coverage above is
89658976
// bought by the declaration and by nothing else.

0 commit comments

Comments
 (0)