Notification Service — Service Readiness
Status: populated Owner: Platform Engineering + SRE Last updated: 2026-04-18
Service is production-ready only when EVERY box below is checked.
Docs
- All 17 service docs complete (no stubs remain).
- All 6 notification templates reviewed and approved by Product.
Code + Tests
- ESLint: domain import-restriction rule passes.
- TypeScript strict, zero errors.
- Unit coverage: domain services ≥ 90%, use cases ≥ 90%, VOs 100%.
- Integration tests pass: all 9 integration scenarios.
- Dedup test passes: second delivery SUPPRESSED.
- Contract tests green: schema registry for all 4 consumed event types; sms-orchestrator Pact.
- Snapshot tests green: all 6 default template HTML snapshots pass.
Content / Templates
- All 6 default templates seeded in production.
- Mjml lint passes for all templates (
mjml --validate). - Email templates render correctly in Litmus / Email on Acid across major clients.
- Invoice email: PDF download link renders correctly; 7-day TTL confirmed.
- SMS body < 160 chars for all SMS templates (single segment).
Security
-
security-revieweragent run, zero critical/high. - NetworkPolicy restricts
/internal/*to admin-dashboard only. - PII masking in Pino logs verified (no raw email/phone in Loki).
- Vault policies confirmed for SendGrid key and SMS API key.
-
X-Internal-Tokenrotation procedure documented. -
SYSTEM_SECURITYcategory ignores opt-out — integration test confirms.
Infrastructure
- SendGrid sender domain verified (SPF/DKIM/DMARC).
- NATS durable consumers created for all 4 subjects.
- All 4 consumer feature flags individually testable.
Observability
-
/metrics,/health/live,/health/readyup. - All metric families visible in Grafana.
- All 7 alerts configured with runbooks.
Sign-off
- Tech lead ✅
- SRE ✅
- Security ✅
- Product ✅