<!-- Hyrax AI Change Checklist. From "7 habits for shipping AI code you can trust" (hyrax.dev).
     Drop this file at .github/PULL_REQUEST_TEMPLATE.md to add it to every PR in your repo. -->

## AI change checklist

- [ ] **Pinned test** — a test locking the previous behavior was written or run before the AI edit. (Habit 1)
- [ ] **Atomic scope** — this PR does exactly one task, with no AI side-quests (schema changes, new models, unrelated files). (Habit 2)
- [ ] **Dependency audit** — every new package was verified to exist in its registry before install. (Habit 3)
- [ ] **Test integrity** — the test diff was read first; nothing was mocked or deleted to force a pass. (Habit 4)
- [ ] **Intent** — the human author can explain why this approach, without "the AI suggested it." (Habit 5)
- [ ] **No dead abstraction** — every abstraction names a second concrete caller today. (Habit 6)
- [ ] **Security controls intact** — no TLS, CORS, or auth control was weakened to get a green build. (Habit 7)

<!-- Hyrax runs these checks on every PR automatically and ships the fix as a merge-ready PR. hyrax.dev -->
