Initial Commit
This commit is contained in:
38
openspec/archive/2026-04-19-enterprise-suppression/tasks.md
Normal file
38
openspec/archive/2026-04-19-enterprise-suppression/tasks.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user