## Summary
Adds a PR template at `.github/PULL_REQUEST_TEMPLATE.md` encoding the 6
hard gates and section scaffolding from the 2026-04-24 engineering
announcement ("What a Good Pull Request Looks Like"), and lightly
updates `CONTRIBUTING.md` to point at it. The repo had no PR template;
recent PR descriptions have been inconsistent in structure and ticket
linking.
Resolves: _(driven by the 2026-04-24 engineering announcement; no Linear
ticket but happy to file one if preferred)_
## Design decisions
- Single template, not a multi-template directory.
## Scope
In scope:
- `.github/PULL_REQUEST_TEMPLATE.md` (new)
- `CONTRIBUTING.md` "Pull Request Guidelines" section (additive update;
existing 3 bullets preserved)
Not in scope:
- CI enforcement of template fields or ticket-linking
## Author checklist
- [x] `make check`/`make test` n/a — no Python touched; pre-commit hooks
pass
- [x] Reviewed my own diff top-to-bottom
- [x] I'd merge it myself
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> <sup>[Cursor Bugbot](https://cursor.com/bugbot) is generating a
summary for commit d1f15d1e6b1a7521d01ace3c1379b330767f1fb9. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
2.8 KiB
2.8 KiB
Summary
Resolves:
Design decisions
Scope
Test plan
Risk note
Coverage note
Author checklist
Before moving this PR from Draft to Ready for Review:
- Linked to a Linear ticket or GitHub issue (above)
- I understand every change in the diff — not "an agent wrote it, I'm not sure why"
- Runs locally, exercised through the end-user path (not just unit tests)
make checkandmake testare green locally; CI is expected to pass- I've pulled the branch fresh and reviewed my own diff top-to-bottom
- I'd merge it myself if a teammate said LGTM right now