1.7 KiB
1.7 KiB
ADR-003 — Provider de e-mail
- Status: Proposed
- Data: 2026-10-02
- Pendência: P-011
- Relacionada: P-001
- Decisão: nenhuma
Contexto
Download e e-mail usam o PDF da versão formal exibida. O envio não muda o status Gerada. A documentação de ecossistema cita Resend em outros contextos. Isso não formaliza o provider deste módulo.
P-001 também segue aberto: o que fazer quando o workspace não tem e-mail comercial para Reply-To.
Alternativas
- Resend. Citado fora deste módulo. Não adotado aqui.
- Outro provider HTTP transacional.
- SMTP operado por este produto.
- Não enviar até haver provider e regra de Reply-To. É o comportamento do port hoje, não uma escolha de produto para o MVP.
Critérios para sair de Proposed
- Provider nomeado, conta e ambiente definidos.
- O anexo é o
pdfRefda versão exibida, não uma nova renderização. - Falha de envio não altera status, número nem versão.
- Reply-To: ou o e-mail comercial do workspace, ou a regra explícita de P-001. O provider não inventa remetente.
- Evento em
proposal_email_eventscom resultado e id do provider quando houver. - Corpo, assunto e destinatário não vão para o Sentry.
Impacto no código desta fase
ProposalEmailProvider devolve blocked / P-001 sem Reply-To resolvido e blocked / P-011 quando o Reply-To existe mas não há provider. Não há cliente HTTP.
Impacto no prompt 02
A tabela proposal_email_events pode ser criada com provider_message_id anulável e result textual. Não gravar um check constraint com o nome de um provider.
O que aprovar o provider não decide
P-001 continua uma pendência separada. Aprovar Resend, ou outro nome, não define o fallback de Reply-To.