Story Index: notifications (NOTIF) — sub-version v0.1.0¶
Module: notifications
Sub-version: v0.1.0
Total stories: 3
Decomposed from: PRD V0 Envelope (docs/prd/notifications-prd.md row v0.1.0) + V1 PRD §15.2 + NOTIF-US-04 / US-06 / US-10 + v0.0.0 architecture reserved statuses (PENDING_CAP, PENDING_PLATFORM_PAUSED) and stubbed admin paths (§2.3, §3.1)
Status of architecture: ⚠️ [ARCH-PENDING] — v0.0.0-only architecture. All three stories are PRÉLIMINAIRE; reconcile with an ARCHITECT v0.1.0 pass before dev-start.
Date: 28/05/2026
Scope of v0.1.0¶
Activates the controls "wired but inactive" since v0.0.0: cross-cutting Redis rate-limit, idempotent retry / webhook reconciliation, per-tenant daily cap, and the platform kill-switch.
Story List¶
| # | Story ID | Title | Side | Depends On | Complexity | Status |
|---|---|---|---|---|---|---|
| 1 | NOTIF-008 | Tenant per-day send cap | [BACKEND] | NOTIF-001a/b, TENANT cap setting, AUDIT NOTIF_CAP_EXCEEDED |
M | Draft (ARCH-PENDING) |
| 2 | NOTIF-009 | Platform kill-switch (pause/resume all dispatch) | [BACKEND] | NOTIF-001a/b, AUDIT kill-switch events | M | Draft (ARCH-PENDING) |
| 3 | NOTIF-010 | Cross-cutting rate-limit (Redis) + idempotent retry policy | [BACKEND] | NOTIF-001b, NOTIF-004 | L | Draft (ARCH-PENDING) |
Concurrency¶
All three can develop concurrently. NOTIF-010 may introduce the shared Redis store that NOTIF-008's counter and NOTIF-009's flag consume — coordinate the store choice in the ARCHITECT v0.1.0 pass.
Implementation Order¶
- NOTIF-010 first if a shared Redis store is chosen (provides the store for cap + kill-switch); otherwise any order.
- NOTIF-008 — tenant daily cap.
- NOTIF-009 — platform kill-switch.
Cross-module dependencies¶
| Direction | Counterpart | Contract | Story | Status |
|---|---|---|---|---|
| Inbound | TENANT | notif.daily_cap setting (validated ≥ 1 at write) |
NOTIF-008 | TENANT-side AC |
| Inbound | AUDIT | Catalog admits NOTIF_CAP_EXCEEDED, NOTIF_KILL_SWITCH_ENGAGED, NOTIF_KILL_SWITCH_RELEASED |
NOTIF-008/009 | AUDIT catalog extension required (critical rule #3) |
| Outbound | OP | Operator non-dismissible banner "Envoi suspendu plateforme - réessayer plus tard" (AC-10.4) | NOTIF-009 | OP cross-module, V1 UI |
Compliance / BLOQUANTs¶
- No new compliance obligation; operational cost/abuse safeguards. ARTCI B5/B10 production BLOQUANT unchanged.
- New audit
event_types MUST be added to the AUDIT §B.1 catalog before these stories ship.