cc-os/plugins/os-adr/eval-c/fixture/project/docs/adr/0003-route-all-job-notifica...

28 lines
882 B
Markdown
Raw Permalink Normal View History

---
id: "0003"
date: 2026-02-15
status: Accepted
supersedes:
superseded-by:
affected-paths: [taskq/notifications.py, taskq/execution.py]
affected-components: [notifications, execution]
---
# 0003 — Route all job notifications through central NotificationService
## Context
Job handlers called notification code directly, causing tight coupling and inconsistent delivery.
## Decision
All outbound notifications (webhooks, emails, events) routed through taskq.notifications.NotificationService. Handlers submit notification requests, not execute them directly.
## Consequences
Decoupled handlers from notification details. Single place to change delivery policy or add retry logic to notifications. Slightly higher latency (service batches notifications).
## Alternatives rejected
Pub/sub system rejected: overkill for current scale. Direct calls rejected: tight coupling.