What is missing
The functional spec still says tier where §FS-terms.terms.4 says scope. Sweep it, in one pull request that answers for this word and for nothing else.
-
Row: §FS-terms.terms.4 — "Displaces scan set, configured scope and tier."
-
Size: 25 occurrences across 4 functional-spec file(s), 1 of them in a heading title. Measured at 4b2b647aaa. The raw grep -c is 26 and is not the number to plan from. Per file: FS-check.md (22), FS-config.md (1), FS-errors.md (1), FS-inline-citation-style.md (1).
-
Carve-outs: Check each one against the other meaning of tier that the toolchain uses — a rhei template's model tier, a fissile severity tier — which this row does not reach; and against FS-config's scope vocabulary, where "the project scope" and "the kind scope" are the settled words.
-
Heading titles this renames:
FS-check.md:695: #### 3.14.6 The tier leads the message
Each one invalidates every Markdown link fragment reaching it. grund fmt --write repairs them in the same change (§FS-fmt.6.3). No coordinate moves — no retired word appears in a named section handle — so every §ID.section citation still resolves.
-
Also in scope: whatever this change breaks, wherever it lives, including README.md (§FS-examples.4 → §REQ-readme.2). Prose in docs/architecture/, in a released changelog under docs/changelog/, and in the frozen GOAL, REQ and decision-record texts is not — those keep the words they have (§FS-terms, FS-terms.md:38-45); grund fmt --write still repairs their link fragments.
-
Claims: this word and nothing else. It makes no claim about any other retired word, and certifying the completeness of unchanged prose beyond it is not part of the review (§FS-terms, FS-terms.md:62-64).
-
Bucket: B — bounded judgement: one dominant retired sense with a named carve-out to respect. Each occurrence is read, but the rule for reading it is stated above.
Why it belongs in this tool
§FS-terms is grund's own specification of what its words mean, and a grund spec that uses a word it retired is the drift that declaration exists to close. FS-terms.md:38-45 says a commissioned pass is a permitted way to pay this debt and that it answers for the words it names — this is one such pass, for one word.
Two things a reviewer should not mistake. grund check exits 0 over every stale link fragment a heading rename leaves behind — an anchor is not a coordinate — so "grund check is green, therefore nothing broke" is wrong here. grund fmt --check names them, --write repairs them, and lychee reports Cannot find fragment independently. And a raw grep -c overstates this sweep by roughly 3× overall (37× on ref), which is why the size above is the measured residual.
What you do today instead
Nothing: the word is retired on paper and stands in the prose. A reader who takes the cheap lead read of a section gets a word the shared vocabulary says is not the word, and has to open FS-terms to find that out — the second file §GOAL-token-economy.1 charges for, and the exact failure §FS-terms says it exists to close.
Worked example: PR #306 (point size → coordinate-size: 11 files, +20/−18, including the heading rename, the nine fragment repairs and README.md). Parent: #291.
What is missing
The functional spec still says tier where §FS-terms.terms.4 says scope. Sweep it, in one pull request that answers for this word and for nothing else.
Row: §FS-terms.terms.4 — "Displaces scan set, configured scope and tier."
Size: 25 occurrences across 4 functional-spec file(s), 1 of them in a heading title. Measured at
4b2b647aaa. The rawgrep -cis 26 and is not the number to plan from. Per file:FS-check.md(22),FS-config.md(1),FS-errors.md(1),FS-inline-citation-style.md(1).Carve-outs: Check each one against the other meaning of tier that the toolchain uses — a rhei template's model tier, a fissile severity tier — which this row does not reach; and against
FS-config's scope vocabulary, where "the project scope" and "the kind scope" are the settled words.Heading titles this renames:
FS-check.md:695: #### 3.14.6 The tier leads the messageEach one invalidates every Markdown link fragment reaching it.
grund fmt --writerepairs them in the same change (§FS-fmt.6.3). No coordinate moves — no retired word appears in a named section handle — so every§ID.sectioncitation still resolves.Also in scope: whatever this change breaks, wherever it lives, including
README.md(§FS-examples.4 → §REQ-readme.2). Prose indocs/architecture/, in a released changelog underdocs/changelog/, and in the frozen GOAL, REQ and decision-record texts is not — those keep the words they have (§FS-terms,FS-terms.md:38-45);grund fmt --writestill repairs their link fragments.Claims: this word and nothing else. It makes no claim about any other retired word, and certifying the completeness of unchanged prose beyond it is not part of the review (§FS-terms,
FS-terms.md:62-64).Bucket: B — bounded judgement: one dominant retired sense with a named carve-out to respect. Each occurrence is read, but the rule for reading it is stated above.
Why it belongs in this tool
§FS-terms is
grund's own specification of what its words mean, and agrundspec that uses a word it retired is the drift that declaration exists to close.FS-terms.md:38-45says a commissioned pass is a permitted way to pay this debt and that it answers for the words it names — this is one such pass, for one word.Two things a reviewer should not mistake.
grund checkexits 0 over every stale link fragment a heading rename leaves behind — an anchor is not a coordinate — so "grund checkis green, therefore nothing broke" is wrong here.grund fmt --checknames them,--writerepairs them, andlycheereportsCannot find fragmentindependently. And a rawgrep -coverstates this sweep by roughly 3× overall (37× on ref), which is why the size above is the measured residual.What you do today instead
Nothing: the word is retired on paper and stands in the prose. A reader who takes the cheap lead read of a section gets a word the shared vocabulary says is not the word, and has to open
FS-termsto find that out — the second file §GOAL-token-economy.1 charges for, and the exact failure §FS-terms says it exists to close.Worked example: PR #306 (point size → coordinate-size: 11 files, +20/−18, including the heading rename, the nine fragment repairs and
README.md). Parent: #291.