Skip to content

chore(personas): Add severity framework to review personas - #926

Merged
JeanMertz merged 1 commit into
mainfrom
reviewer-docs
Jul 31, 2026
Merged

chore(personas): Add severity framework to review personas#926
JeanMertz merged 1 commit into
mainfrom
reviewer-docs

Conversation

@JeanMertz

Copy link
Copy Markdown
Collaborator

Review and RFD personas conflated severity with likelihood, so a blocking: label could mean either "this breaks on a normal input" or "this breaks if you construct an adversarial edge case." Triagers then had to re-derive which was meant before they could judge the verdict.

Add a review-severity.toml knowledge file that names the test up front: can you name a plausible input a JP user produces that triggers the finding? If so, does the damage spread or hide, or stay contained and visible? Reviewers now tag comments blocking:, nit:, theoretical:, or question:, where theoretical: covers findings that follow from the code but have no named plausible input. RFD reviews use a Theoretical: prefix within their existing severity buckets instead.

Triager personas (pr-triager, review-triager, rfd-triager) gain a Decline verdict alongside Accept/Amend/Dismiss/Defer, for feedback that is correct and in scope but not worth acting on. Defer is now explicit that it means "valid and worth doing later," not a polite way to shelve something the project has decided against. Each triager also gets a rule to spend investigation effort in proportion to the label, so a nit: or theoretical: item gets a one-line verdict instead of a research project.

Applies to pr-reviewer, pr-triager, review-triager, rfd-reviewer, and rfd-triager personas.

Review and RFD personas conflated severity with likelihood, so a
`blocking:` label could mean either "this breaks on a normal input" or
"this breaks if you construct an adversarial edge case." Triagers then
had to re-derive which was meant before they could judge the verdict.

Add a `review-severity.toml` knowledge file that names the test up
front: can you name a plausible input a JP user produces that triggers
the finding? If so, does the damage spread or hide, or stay contained
and visible? Reviewers now tag comments `blocking:`, `nit:`,
`theoretical:`, or `question:`, where `theoretical:` covers findings
that follow from the code but have no named plausible input. RFD
reviews use a **Theoretical:** prefix within their existing severity
buckets instead.

Triager personas (pr-triager, review-triager, rfd-triager) gain a
`Decline` verdict alongside `Accept`/`Amend`/`Dismiss`/`Defer`, for
feedback that is correct and in scope but not worth acting on.
`Defer` is now explicit that it means "valid and worth doing later,"
not a polite way to shelve something the project has decided against.
Each triager also gets a rule to spend investigation effort in
proportion to the label, so a `nit:` or `theoretical:` item gets a
one-line verdict instead of a research project.

Applies to pr-reviewer, pr-triager, review-triager, rfd-reviewer, and
rfd-triager personas.

Signed-off-by: Jean Mertz <git@jeanmertz.com>
@JeanMertz
JeanMertz merged commit 1c59e56 into main Jul 31, 2026
15 checks passed
@JeanMertz
JeanMertz deleted the reviewer-docs branch July 31, 2026 14:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant