Skip to main content

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-reviewer agent 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-Token rotation procedure documented.
  • SYSTEM_SECURITY category 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/ready up.
  • All metric families visible in Grafana.
  • All 7 alerts configured with runbooks.

Sign-off

  • Tech lead ✅
  • SRE ✅
  • Security ✅
  • Product ✅