Pull Request Checklist
Before merge, verify:
- Layering is respected (
router -> handler -> service -> model/repository). - API routes and status codes follow documented conventions.
- Validation is explicit for path/query/body inputs.
- Response and error shapes stay consistent for the domain.
- DB changes include migrations (and rollback files).
- List endpoints are paginated and bounded.
- Logs do not expose sensitive information.
- Cache keys include namespace, TTL, and invalidation logic (if cache touched).
Operational Safety Checks
- Startup/shutdown behavior is clean and graceful.
- New background jobs have failure handling and clear lifecycle controls.
- Feature flags/config toggles are used for optional middleware/features.
Reviewer Pass Order
- Contract pass (routes, DTOs, status codes)
- Data pass (queries, transactions, migrations)
- Runtime pass (timeouts, middleware order, logging)
- Reliability pass (jobs, cache invalidation, failure behavior)