Skip to content

Add durable notification domain service - #115

Closed
Obiajulu-gif wants to merge 2 commits into
Chainmove:mainfrom
barry01-hash:agent/notification-domain
Closed

Add durable notification domain service#115
Obiajulu-gif wants to merge 2 commits into
Chainmove:mainfrom
barry01-hash:agent/notification-domain

Conversation

@Obiajulu-gif

@Obiajulu-gif Obiajulu-gif commented Jul 17, 2026

Copy link
Copy Markdown
Collaborator

What changed

  • added typed, versioned notification events and deterministic templates
  • added per-user preferences with mandatory operational categories
  • added per-channel idempotency, durable scheduled email delivery, exponential retries, dead-letter state, and provider attempt history
  • added scoped expiring preference tokens, safe application URL validation, and PII/secret redaction
  • migrated KYC notifications away from direct in-action email/in-app sends
  • added protected worker and admin delivery-history endpoints
  • documented taxonomy, preference matrix, template rules, and lifecycle

Why

Direct notification sends cannot be retried safely and can create duplicate or contradictory messages. This introduces a domain-event-driven delivery boundary with durable channel state.

Validation

  • npm test — 14 tests passed
  • scoped ESLint — passed
  • notification-specific TypeScript check — passed
  • git diff --check — passed

The repository-wide typecheck still reports existing unrelated admin/UI typing errors. The production build entered the existing SWC WASM fallback on Windows.

Closes #92

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[HARD][NOTIFICATIONS] Build a reliable multi-channel notification service with preferences, retries, and deduplication

2 participants