S06 defers a Vale rule-set revisit until after Phase 2 ships and the guide has real content, on the grounds that "a rule is easier to argue about once there is content for it to fire on". Phase 2 has shipped — four articles in docs/articles/, eight guide pages in docs/guide/ — so the trigger condition is met.
Step 1: decide what to do about the existing warnings
mise run docs-vale currently reports 0 errors, 141 warnings, 0 suggestions across 12 files, and every single warning is write-good.Passive. Distribution:
| Warnings |
File |
| 28 |
docs/guide/04-safety.md |
| 21 |
docs/articles/near-lossless.md |
| 15 |
docs/articles/why-mdd-has-its-own-ir.md |
| 14 |
docs/guide/03-concepts.md |
| 13 |
docs/articles/spec-driven-development-with-agents.md |
| 13 |
docs/articles/publishing-without-clobbering.md |
| 11 |
docs/guide/08-sharepoint-first-sync.md |
| 11 |
docs/guide/05-configuration.md |
| 9 |
docs/guide/07-confluence-first-sync.md |
| 3 |
docs/guide/06-commands.md |
| 2 |
docs/guide/01-install.md |
| 1 |
docs/guide/02-quickstart.md |
S06's own prediction was that most of these are correct usage — it cites "135 warnings across the first ten pages, most of them correct usage" as the reason Passive advises rather than gates. That prediction now needs testing against the actual findings rather than being carried forward as an assumption. Read them and pick one:
- Rewrite the ones that are genuinely worse in passive voice, and accept the rest.
- Keep
write-good.Passive on as advice, having confirmed the noise is tolerable.
- Turn it off, if the true-positive rate does not justify 141 lines of output on every
docs-check.
A standing 141-warning baseline that nobody reads is the failure mode to avoid: it trains the reader to skip the whole advisory pass, which then also hides whatever the new rules in step 2 find. Whatever the decision, it should be recorded in S06's Vale implementation note so the next person does not re-litigate it.
Note that 04-safety.md and 03-concepts.md lead the guide pages, and that is not obviously a defect — passive voice is often right when the actor is the tool rather than the reader ("the file is overwritten"). That is exactly the judgement this review has to make.
Step 2: the rule-set pass S06 specifies
Candidates named in the spec's Vale implementation note:
write-good.TooWordy and write-good.Weasel — same non-native-reader rationale as the two rules already enabled.
- Sentence-length and readability rules.
- American-English adaptations of the parts of the GOV.UK content guidance that survive the change of register.
- A custom style for the tone words prose review currently catches by hand:
simply, seamlessly, powerful, robust, easily. This is the one with no packaged equivalent, and given how much of this corpus is AI-drafted it is probably the highest-value item in the list.
Enable each candidate, look at what it fires on, and keep it only if the findings justify it — the same evidence-first method as step 1. Vale's error/warning split stays as it is: objective errors gate, judgement calls advise.
Out of scope
The two other post-Phase-2 tightening items S06 mentions — the link checker's allow-list and how strictly astro check runs — are separate. The link checker currently passes clean with no exclusions at all, so there may be nothing to tighten there beyond recording that.
S06 defers a Vale rule-set revisit until after Phase 2 ships and the guide has real content, on the grounds that "a rule is easier to argue about once there is content for it to fire on". Phase 2 has shipped — four articles in
docs/articles/, eight guide pages indocs/guide/— so the trigger condition is met.Step 1: decide what to do about the existing warnings
mise run docs-valecurrently reports 0 errors, 141 warnings, 0 suggestions across 12 files, and every single warning iswrite-good.Passive. Distribution:docs/guide/04-safety.mddocs/articles/near-lossless.mddocs/articles/why-mdd-has-its-own-ir.mddocs/guide/03-concepts.mddocs/articles/spec-driven-development-with-agents.mddocs/articles/publishing-without-clobbering.mddocs/guide/08-sharepoint-first-sync.mddocs/guide/05-configuration.mddocs/guide/07-confluence-first-sync.mddocs/guide/06-commands.mddocs/guide/01-install.mddocs/guide/02-quickstart.mdS06's own prediction was that most of these are correct usage — it cites "135 warnings across the first ten pages, most of them correct usage" as the reason
Passiveadvises rather than gates. That prediction now needs testing against the actual findings rather than being carried forward as an assumption. Read them and pick one:write-good.Passiveon as advice, having confirmed the noise is tolerable.docs-check.A standing 141-warning baseline that nobody reads is the failure mode to avoid: it trains the reader to skip the whole advisory pass, which then also hides whatever the new rules in step 2 find. Whatever the decision, it should be recorded in S06's Vale implementation note so the next person does not re-litigate it.
Note that
04-safety.mdand03-concepts.mdlead the guide pages, and that is not obviously a defect — passive voice is often right when the actor is the tool rather than the reader ("the file is overwritten"). That is exactly the judgement this review has to make.Step 2: the rule-set pass S06 specifies
Candidates named in the spec's Vale implementation note:
write-good.TooWordyandwrite-good.Weasel— same non-native-reader rationale as the two rules already enabled.simply,seamlessly,powerful,robust,easily. This is the one with no packaged equivalent, and given how much of this corpus is AI-drafted it is probably the highest-value item in the list.Enable each candidate, look at what it fires on, and keep it only if the findings justify it — the same evidence-first method as step 1. Vale's error/warning split stays as it is: objective errors gate, judgement calls advise.
Out of scope
The two other post-Phase-2 tightening items S06 mentions — the link checker's allow-list and how strictly
astro checkruns — are separate. The link checker currently passes clean with no exclusions at all, so there may be nothing to tighten there beyond recording that.