From 6551f7ad58e28b7ba986a56e6d17fa8171a47c2c Mon Sep 17 00:00:00 2001 From: Alex Shnitman Date: Mon, 27 Jul 2026 23:09:58 +0300 Subject: [PATCH] docs: require Closes #N in commits that resolve an issue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Master is the default branch and is released on every push, so a commit body that says "Closes #N." makes the issue close exactly when the fix ships and leaves a permanent link from the issue to the commit — instead of a separate manual close afterwards. Notes that a bare (#123) in the subject is only a reference, and that auto-closing still needs an explanatory comment on the issue. --- AGENTS.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/AGENTS.md b/AGENTS.md index 6ec2596..9aaacd4 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -96,7 +96,17 @@ release the same day. **Master is continuously released** — a PR must be release-ready exactly as merged; there is no stabilization window for follow-up fixes. -## Code style +## Commit messages + +A commit that resolves an issue must close it, using GitHub's `Closes #N.` on its +own line in the commit body. Because master is the default branch and is released +on every push, the issue closes at the moment the fix ships, and the issue keeps a +permanent link to the commit that fixed it. A bare `(#123)` in the subject only +creates a reference — and reads as a pull-request number — so it does not count. + +Auto-closing leaves only a commit stub on the issue, which is not an answer to +whoever reported it. Post an explanatory comment as well: what the cause was, what +changed, and anything the reporter needs to do differently. Follow `.editorconfig`: - Python: 4-space indent