PDF-012I - OUTBOX WORKER IDEMPOTENCY HARDENING¶
Estado: PDF-012I_IDEMPOTENCY_HARDENING_DRY_RUN_PASS.
PDF-012H cerro como NO-GO_VALIDATION_FAILED: se enviaron exactamente 2
emails reales internos a facturacion@ladirecta.com.ar cuando se esperaba
exactamente 1. La causa fue un fallback elegible creado en retry despues de
que la notification original PDF-012C:BILLING_CUSTOMER_REQUEST:TEST001 ya
estaba SENT.
Impacto: interno. No hubo emails a clientes, proveedores ni listas. Produccion sigue bloqueada y PDF-012H no debe usarse como exito operativo.
Hardening PDF-012I:
- Guard global obligatorio antes de cualquier SMTP y antes de cualquier fallback.
- Bloqueo por exito previo compatible en
request_id,payload_hash,notification_type,recipient_email, scope/gate/manual run key osemantic_event=SEND_SUCCEEDED. - Resultado bloqueante:
ALREADY_SENT_GLOBAL_BLOCKED. email_sent=false.smtp_connected_for_send=false.smtp_send_commands_executed=false.- La notification sintetica PDF-012I permanece
READY_BLOCKED.
Cleanup/reseed local/dev:
- No se borraron eventos historicos
SEND_SUCCEEDED. - Se preservo evidencia PDF-012H.
- Se creo o reutilizo
PDF-012I:BILLING_CUSTOMER_REQUEST:TEST001para dry-run. - Se registraron eventos
SEND_BLOCKEDcon semanticALREADY_SENT_GLOBAL_BLOCKEDpara primary dry-run y retry dry-run.
Resultado dry-run:
- No se enviaron emails reales nuevos.
- No se conecto SMTP para envio.
- No se ejecuto
MAIL FROM,RCPT TOniDATA. - Fallback/retry bloqueado antes de SMTP.
- Produccion sigue bloqueada hasta nuevo GO.
Proximo paso: integrar este guard global en cualquier worker real antes de autorizar otro SMTP real o una promocion a produccion.