Files
suaveplan/openspec/archive/2026-04-19-enterprise-suppression/tasks.md
2026-05-27 23:29:53 +01:00

39 lines
1.1 KiB
Markdown

# Tasks: enterprise-suppression
## 1. Scaffold
- [x] 1.1 `universal/email/suppression/`; 100/100/100/100; guard tests; CLAUDE/README/FOLDERS.
## 2. Errors + schemas
- [x] 2.1 `src/errors/suppression-error.ts` — `SUPPRESSION.*` codes.
- [x] 2.2 Zod schemas.
## 3. Bounce classifier
- [x] 3.1 `src/core/bounce-classifier/bounce-classifier.ts` — RFC 3463 status-code mapper → hard/soft/undetermined.
## 4. Store
- [x] 4.1 `src/stores/suppression.store.ts` — `SuppressionStore` interface + `MemorySuppressionStore`.
## 5. Manager + filter
- [x] 5.1 `src/core/suppression-manager/suppression-manager.ts` — CRUD over suppressions with reasons.
- [x] 5.2 `src/core/suppression-filter/suppression-filter.ts` — `filter(addresses) → FilterResult`.
- [x] 5.3 OTel counters.
## 6. Unsubscribe links
- [x] 6.1 `src/core/unsubscribe-link/unsubscribe-link.ts` — HMAC-SHA256 signed link + TTL; RFC 8058 one-click payload.
## 7. Docs / barrel / subpath exports / README
## 8. Benchmarks
- [x] 8.1 `filter.bench.ts` on 100 k-entry store.
## 9. Ship gate
- [x] 9.1 Verification sequence; fold + archive.