Initial Commit

This commit is contained in:
2026-05-27 23:29:53 +01:00
commit fbc70f96e6
10000 changed files with 1102152 additions and 0 deletions

View 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.