ADR-032: Integration adapters
Estado
Accepted — 2026-08-23
Contexto
CSV, Gmail, M365, AI vendor, más adelante QBO/Xero/Stripe. Si el dominio importa SDKs, el bounded context muere con el vendor.
Decisión
Integration Hub (DOC-003): un puerto por capacidad, un adapter por vendor.
| Puerto | Adapter V1 | Después |
|---|---|---|
| InvoiceImport | CSV | QBO, Xero |
| Mailbox | Gmail, Microsoft 365 | otro |
| Classifier | AI gateway (OpenAI u otro) | reglas + modelo |
| ObjectStore | S3/R2 (ADR-029) | |
| Billing | ninguno | Stripe (ADR-036) |
Reglas:
- Domain/application no importan SDKs.
- Webhooks entran por presentation → use case; firma verificada en adapter.
- Reintentos e idempotencia en el adapter/job (ADR-022).
- Credenciales por Organization, cifradas (ADR-015).
Consecuencias
- Spikes de OAuth mailbox y de modelo de clasificación antes de Spec Kit de esos epics.
- QBO no se scaffolda “por si acaso”.