diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md deleted file mode 100644 index b84bd60..0000000 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ /dev/null @@ -1,48 +0,0 @@ - - -## Why - -The problem or need. What is wrong, missing, or costly today — not what you did -about it. - -## Design - -The approach, and the trade-off it takes. Show a sketch if the design needs code; -never the full diff-to-be. Most PRs fit well under ~700 words — length must buy -information. - -## Non-goals - -What this deliberately does **not** do, and why. This is the scope boundary that -stops "why didn't you also fix X" in review and six months from now. - -## Verification - -How you know it works: the tests added, `just test` (the dockerized suite against -Postgres 17, 100% line coverage — the gate), `just lint-ci`, and `just bench-check` -with the numbers if the change claims a performance effect. State the numbers, not -"benchmarked". - ---- - -### Before merging - -- [ ] **Behaviour changed?** If a wrong change here could pass silently, pin it with - a test whose name is the claim and whose docstring opens `INVARIANT:` and says - what breaks it. Do **not** write prose about mechanism — there is no page for - it. See the "Where a fact goes" section of [`AGENTS.md`](../AGENTS.md). -- [ ] **Adding a fact anywhere?** Run the admission check: derivable from - `faststream_outbox/` → don't write it; enforceable → a test; a user needs it → - `docs/`; otherwise it does not get written. -- [ ] **Rejected an alternative** with reasoning that would otherwise be - re-litigated? File it as an ADR in [`docs/adr/`](../docs/adr/), numbered - `NNNN-slug.md` — not here. -- [ ] **Found real work you are not doing now?** Open a GitHub issue, - self-contained enough to pick up cold — not here. -- [ ] `just lint-ci` and `just test` pass. diff --git a/AGENTS.md b/AGENTS.md index 65beb90..2688faf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -49,12 +49,6 @@ real fetch and worker loops against the fake, which retry, lease-expiry, and sch ## Workflow -**The spec for a change is its PR body**, not a committed file. -[`.github/PULL_REQUEST_TEMPLATE.md`](.github/PULL_REQUEST_TEMPLATE.md) carries the shape (why, -design, non-goals, verification); it is reviewed with the diff. There is no change file and no lane -to choose. A trivial PR (typo, dep bump, formatter) deletes the template and ships a -conventional-commit title. - Two things outlive the PR, and there are exactly two places to put them: an alternative **rejected** with reasoning becomes an ADR in [`docs/adr/`](docs/adr/) (`NNNN-slug.md`, sequential), and real work **not scheduled** becomes a GitHub issue. There is no third state and no truth-home directory — a