subject-mood
An advisory by default: it explains, and blocks nothing, on a commit subject opening in the past tense, the third person or a gerund ("added", "fixes", "making").
What it catches
A commit subject opening in the past tense, the third person or a gerund ("added", "fixes", "making").
Dimension
conventions: a house or genre convention is broken. A finding is counted on
the dimension of its rule, the cost it names to the reader.
Why
A subject completes "if applied, this commit will ...", so it opens with the verb in the imperative. The rule reads a closed list of about 30 verbs in their past, third-person and gerund forms, not a tagger, so a plural noun that is also a verb ("changes to the key") was reported; the list is the one hack/policy/commits.buzz already denied. Over the 1729 commit messages on main it found nothing. Measured 2026-10-11 over the adjudicated labeling round: 83.7% precision (36 of 43) before, 100% (36 of 36, lower bound 0.90) after, so it denies: a third-person form before a preposition or "made" heads a noun phrase ("Changes from the composer", "Fixes for the panel") and is left alone.
Default decision
The code is PRF1010. The decision depends on the kind of text judged:
| Kind | Default |
|---|---|
commit-message |
advise |
Changing it
A decisions table sets this rule to deny, advise or off, for everything judged
or for the files a glob matches. Proofread reads the table from the file its
-decisions flag names:
{
"rules": {"subject-mood": "deny"},
"paths": {"blog/**": {"subject-mood": "off"}}
}
rules applies to every file. A glob in paths applies to the files it matches, and the
last match wins. A rule set to off never reports.
Seeing it
A finding names the rule, its code and the decision that applies, and links here:
{"rule": "subject-mood", "code": "PRF1010", "decision": "advise", "url": "https://eli.gladman.cc/magus/reference/proofread/subject-mood/"}
proofread rules prints this entry with every other rule's.
See also
- All proofread rules - every rule, grouped by what it checks
- Writing rules - how the rules apply to this repository's pages and pull requests
- The findings contract - the fields every finding carries