magus v0.4.3 is out. See what's new
¶ View markdown source · ✎ Suggest an edit
2 min read

bare-imperative

An advisory by default: it explains, and blocks nothing, on a short command in a review reply that gives no reason anywhere ("Fix this.").

What it catches

A short command in a review reply that gives no reason anywhere ("Fix this.").

Dimension

stance: the text reads as a verdict on a person, or as addressed to someone else. A finding is counted on the dimension of its rule, the cost it names to the reader.

Why

Danescu-Niculescu-Mizil et al. (ACL 2013) found a bare imperative, and a request opening with "Please", read as less polite than one that gives its reason or asks. A command of five words or fewer counts, unless the reply gives a reason anywhere or the command names code or its target ("change this to appsettings"). Measured 2026-10-10 over the AIDev review comments: 4.56 percent of 39639 written by people and 0.07 percent of 42076 written by bots. It advises: between people who share the context, a short command can be read as intended. Measured 2026-10-11 over the adjudicated labeling round: 37.2% precision (16 of 43) before, 100% (16 of 16) after. Most firings followed a sentence stating the problem ("Duplicate documentation. Remove it."), so only a reply made of bare commands is judged. Labeling round 3 measured 29 of 40, a lower bound of 0.57, which each graded finding weighs.

Default decision

The code is PRF8012. The decision depends on the kind of text judged:

Kind Default
review-summary advise
review-inline advise
review-reply 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": {"bare-imperative": "deny"},
  "paths": {"blog/**": {"bare-imperative": "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": "bare-imperative", "code": "PRF8012", "decision": "advise", "url": "https://eli.gladman.cc/magus/reference/proofread/bare-imperative/"}

proofread rules prints this entry with every other rule's.

See also

proofreadrulesbare-imperativeadvise
Last updated (87041fca)
Earlier changes on this page (2)

Full history ↗ · Blame source ↗

Glossary

Target

A named operation (build, test, ...) you invoke with magus run <target>; it may compose a spell's tool-native operations and depend on other targets. Target in full.

Op

A single tool-native command a target composes (long form: operation); the middle of the work hierarchy (Spell to Op to Target). Op in full.

CI

An ordinary target you compose yourself with ctx.needs; magus does not hardcode its stages. It is the anchor magus affected ci keys off, and ci strips the rw charm. CI in full.

Lease

The grant a holder takes on a job: the write and read paths that job declared, enforced in the checkout that took it with magus job exec. A job is the piece of work; a lease is permission over it. Lease in full.

Advisor

One read-only check from the advice suite: it reads the changeset through magus and writes one titled section of findings. The same advisors run as a pull request comment in CI and inside magus diff --impact locally. Advisor in full.

Conventions

This page uses none of the site's convention markers. The full set is on the conventions page.