diff --git a/docs/rules/DEV-450.md b/docs/rules/DEV-450.md new file mode 100644 index 0000000..8a63007 --- /dev/null +++ b/docs/rules/DEV-450.md @@ -0,0 +1,38 @@ +--- +id: DEV-450 +title: "Resolve Every Inline Thread With Its Answer" +status: "active" +enforcement: "manual" +severity: "error" +depends_on: ["DEV-365"] +--- + +## Problem + +A reviewer cannot tell whether the author fixed, answered, or ignored the +comments on a merged PR. A real objection ships and nobody notices. + +## Solution + +Each inline thread is a question the reviewer asked. Only the author knows the +answer, so the author writes it on the thread before closing it. Resolving marks +the thread settled; the reply carries the answer. + +1. Reply to every inline thread before you merge, and name what changed. One + sentence is enough. +1. Resolve the thread after you post that reply and push the fix. +1. When you fixed it in another PR, the Problem, or a follow-up issue, say which + one and give its number. +1. Reply and leave the thread open when you disagree. The reviewer decides, per + [DEV-410](./DEV-410.md). + +```md +Good: fixed in 4a1c2f0, the heading is now `###`. [Resolve] +Bad: [Resolve] +``` + +### Acceptance Criteria + +- [ ] Every inline thread on the PR has a reply at merge +- [ ] Each reply names what changed, or the PR or issue that carries the fix +- [ ] Every thread still open at merge holds a stated disagreement diff --git a/docs/rules/README.md b/docs/rules/README.md index 8bd6bab..dd28c94 100644 --- a/docs/rules/README.md +++ b/docs/rules/README.md @@ -91,6 +91,7 @@ How to review, and the quality bar work is held to. - [DEV-420](./DEV-420.md): scout open PRs when idle - [DEV-430](./DEV-430.md): deliver bug-free work; review is a safety check - [DEV-440](./DEV-440.md): judge work by value delivered, not effort spent +- [DEV-450](./DEV-450.md): resolve every inline thread with its answer ### 5. Advocacy