Disable Microsoft.HeadingColons and Microsoft.Percentages, fix Plurals hits

HeadingColons conflicts with this repo's sentence-case heading
convention -- same shape as the existing Dashes disable, a house-style
conflict rather than a defect.

Percentages had zero true positives on the full docs/ tree: it only
ever fired on identifier uses of "percent" (cpu.percent, percent
resolver), never on an actual spelled-out percentage.

Plurals: rewrote the two real hits to always use the plural form
instead of the parenthetical (s) construction, per house style.
This commit is contained in:
iris 2026-09-07 13:59:59 +02:00 committed by mara
commit c7c221baeb
3 changed files with 15 additions and 2 deletions

View file

@ -58,3 +58,16 @@ write-good.E-Prime = NO
# Needs an actual rewrite pass through the flagged headings, not a blanket
# call either way.
Microsoft.HeadingAcronyms = NO
# --- Ruled on, not wave 2 -- disabled for good, not pending a follow-up pass ---
#
# Flags this repo's own consistent sentence-case heading convention
# ("### Current limitation: state-dir visibility lags topology") for not
# capitalizing after the colon. Same shape as Microsoft.Dashes above: a
# real house-style conflict, not a defect. Ruled to keep the house style.
Microsoft.HeadingColons = NO
# Checked every real hit on our docs/ tree: zero true positives. It fires
# on the word "percent" used as an identifier (`cpu.percent`, "percent
# resolver"), never on an actual spelled-out percentage. A rule with no
# observed true positive on this corpus isn't worth keeping enabled.
Microsoft.Percentages = NO

View file

@ -101,7 +101,7 @@ angle-bracket and asterisk shapes below are structurally safe.
enumerating labels.
When a `<children>` or `<parent>` send resolves to real recipients, the
broker stores the *resolved* label(s) as the message recipient(s) — the
broker stores the *resolved* labels as the message recipients — the
dashboard and recv side see the real routes. The sentinels are purely
send-time addressing conveniences.

View file

@ -334,7 +334,7 @@ string) and free-form `data` for what only some kinds have (`agent`,
nodes, so a group's state is just the root's own `state`.
There is **no group-level `agent`** — agent is per-node, so one group can
span agents; consumers derive a group's agent(s) from its nodes. Build logs
span agents; consumers derive a group's agents from its nodes. Build logs
are likewise **per-node**: the dashboard renders the node tree and keys the
live-log panel off the running node.