Definition of Done
Before merging any PR:
Backend
- Code compiles (
cargo build) - Tests pass (
cargo test) - No
unwrap()/expect()in request paths -
tracing::info/debugfor auditable actions - Handlers use
crate::repository, not direct infrastructure imports - All errors use
AppError
Frontend
- Build succeeds (
ng build) - New components have
*.spec.tswith "should create" - Styles use Ionic variables (no hardcoded colors)
- data-testid with
pp-prefix on interactive elements - Subscriptions use
takeUntil(destroy$)
General
- No secrets in code
- Commit message follows format:
#<issue>: <description>