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

issue-repro

An advisory by default: it explains, and blocks nothing, on a bug report with neither what happened against what was expected, nor steps to reproduce it.

What it catches

A bug report with neither what happened against what was expected, nor steps to reproduce it.

Dimension

evidence: a claim says more or less than what was shown. A finding is counted on the dimension of its rule, the cost it names to the reader.

Why

A maintainer cannot start on a defect they cannot see. A title with a defect word ("crash", "fails", "regression") that is followed by no "expected", "actual", "observed", "steps to reproduce" or "instead of" sends the first reply to asking for them. It advises: the title is read for the defect and the body for the cue, and either can be phrased another way. Neither of this repository's two issues has a defect title, so it measured no firing. Measured 2026-10-11 over the adjudicated labeling round 2, on pull requests read as issues: 26.2% precision (11 of 42) before, 84.6% (11 of 13) after. A title whose type or opening verb names other work ("test:", "Add a regression test"), whose defect word names a topic ("crash detection") or sits in code is no report, and a body that says what should happen, what happened in the past tense, numbered steps or a quote of the original report shows the defect. Labeling round 4 measured 26 of 40, a lower bound of 0.50, which each graded finding weighs.

Default decision

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

Kind Default
issue 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": {"issue-repro": "deny"},
  "paths": {"blog/**": {"issue-repro": "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": "issue-repro", "code": "PRF1020", "decision": "advise", "url": "https://eli.gladman.cc/magus/reference/proofread/issue-repro/"}

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

See also

proofreadrulesissue-reproadvise
Last updated (87041fca)
Earlier changes on this page (2)

Full history ↗ · Blame source ↗

Glossary

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.

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.