Raised by the fleet audit of this repository at main (16f196e), run stamp audit run 2026-08-15T15:13:26Z | hub d54862a. Re-run the audit before acting, since findings are a point-in-time snapshot.
What
Nothing in this repository checks a line of prose or a code comment against the fleet prose rules, at any point:
.github/workflows/validate-task.yml runs csharpier, dotnet format style, markdownlint-cli2, cspell, ruff, mypy, actionlint, and editorconfig-checker, and no prose gate.
.husky/pre-commit runs the C# formatters plus markdownlint and cspell on staged Markdown, and no prose gate.
The rules themselves (the ASCII character-set tiers, the no-semicolon-in-prose rule, the spaced-hyphen rule, the one-sentence-per-comment-line rule, US English spelling) are carried in GOVERNANCE.md "Documentation Style Conventions", so this repository states them and measures none of them.
Evidence
A whole-tree run of the hub's scripts/prose_lint.py against main reports 772 findings across 180 files read:
| Rule |
Count |
comment-wrap |
342 |
comment-case |
135 |
semicolon |
120 |
dash |
82 |
charset-unknown |
65 |
charset |
16 |
dead-path |
6 |
dupword |
4 |
spelling |
2 |
Most of it is legacy: C# comments and doc text written before the rules existed. Three findings are substantive rather than stylistic and are worth fixing on sight whatever is decided here:
RegressionTests/RegressionTest.sh:75 and :361 use the British behaviour where the repository convention is US English.
PlexCleaner/VideoProps.cs:138 duplicates the word not.
GOVERNANCE.md:282 names .vscode/settings.json, a path this tree no longer holds.
Why it matters
The backlog is not the problem, the absence of a gate is. The fleet remedy for legacy prose is fix-as-edited rather than a tree-wide sweep, and the gate that implements it is diff-scoped: it reads only the lines a change touches, so it bounds the backlog at today's size and costs nothing on an untouched file. Without it, every new comment and every new paragraph can add to the pile, and the only thing catching any of it is review.
Remedy
Consume the hub's prose-gate composite action in validate-task.yml, pinned to a commit SHA, with the checkout fetching the base branch's history (the gate diffs against the base, and it stands down loudly rather than passing blind in a shallow clone). PhotoCleaner carries a working example of the same step.
Optionally add the same gate to .husky/pre-commit, scoped to the commit's own diff, which is what makes it affordable in a hook.
Not in scope
The 772 findings are not a work item. They are the measurement that says the gate is missing, and they retire as each file is next edited.
Raised by the fleet audit of this repository at
main(16f196e), run stampaudit run 2026-08-15T15:13:26Z | hub d54862a. Re-run the audit before acting, since findings are a point-in-time snapshot.What
Nothing in this repository checks a line of prose or a code comment against the fleet prose rules, at any point:
.github/workflows/validate-task.ymlruns csharpier,dotnet format style, markdownlint-cli2, cspell, ruff, mypy, actionlint, and editorconfig-checker, and no prose gate..husky/pre-commitruns the C# formatters plus markdownlint and cspell on staged Markdown, and no prose gate.The rules themselves (the ASCII character-set tiers, the no-semicolon-in-prose rule, the spaced-hyphen rule, the one-sentence-per-comment-line rule, US English spelling) are carried in
GOVERNANCE.md"Documentation Style Conventions", so this repository states them and measures none of them.Evidence
A whole-tree run of the hub's
scripts/prose_lint.pyagainstmainreports 772 findings across 180 files read:comment-wrapcomment-casesemicolondashcharset-unknowncharsetdead-pathdupwordspellingMost of it is legacy: C# comments and doc text written before the rules existed. Three findings are substantive rather than stylistic and are worth fixing on sight whatever is decided here:
RegressionTests/RegressionTest.sh:75and:361use the Britishbehaviourwhere the repository convention is US English.PlexCleaner/VideoProps.cs:138duplicates the wordnot.GOVERNANCE.md:282names.vscode/settings.json, a path this tree no longer holds.Why it matters
The backlog is not the problem, the absence of a gate is. The fleet remedy for legacy prose is fix-as-edited rather than a tree-wide sweep, and the gate that implements it is diff-scoped: it reads only the lines a change touches, so it bounds the backlog at today's size and costs nothing on an untouched file. Without it, every new comment and every new paragraph can add to the pile, and the only thing catching any of it is review.
Remedy
Consume the hub's
prose-gatecomposite action invalidate-task.yml, pinned to a commit SHA, with the checkout fetching the base branch's history (the gate diffs against the base, and it stands down loudly rather than passing blind in a shallow clone). PhotoCleaner carries a working example of the same step.Optionally add the same gate to
.husky/pre-commit, scoped to the commit's own diff, which is what makes it affordable in a hook.Not in scope
The 772 findings are not a work item. They are the measurement that says the gate is missing, and they retire as each file is next edited.