PDF-012P - PROD OUTBOX GUARDED SINGLE SEND¶
Objetivo¶
Ejecutar una prueba productiva manual controlada sobre VPS/prod usando solo la
notification sintetica de PDF-012O:
PDF-012O:BILLING_CUSTOMER_REQUEST:TEST001.
Flujo: READY_BLOCKED -> guard global -> aprobacion manual -> SMTP real ->
SENT -> event log -> retry bloqueado antes de SMTP.
Autorizacion explicita¶
Se autorizo exactamente 1 email real interno a
facturacion@ladirecta.com.ar.
Se autorizo SQL write controlado solo en VPS/prod, base
openclaw_business_observer_prod, schema business_observer, para registrar
aprobacion manual, intento de envio, exito, update de status a SENT despues
de SMTP OK y retry bloqueado.
Backup pre-PDF-012P¶
PDF-012P confirma primero el backup PDF-012O esperado:
/opt/openclawai/backups/PDF-012O/business_observer_four_tables_pre_pdf_012o_20260625T161247Z.dump.
Tambien crea un backup pre-PDF-012P de las cuatro tablas target en:
/opt/openclawai/backups/PDF-012P/.
Backup ejecutado:
- Path:
/opt/openclawai/backups/PDF-012P/business_observer_four_tables_pre_pdf_012p_20260625T163025Z.dump - Timestamp:
20260625T163025Z - Tamano:
26908 - SHA256:
fe5bc7ee2aaa8a9e1857bb1ec2cd3d7b6b044030e24b61b88bd64e69c0199cb4
Notification usada¶
- Idempotency key:
PDF-012O:BILLING_CUSTOMER_REQUEST:TEST001 - Recipient:
facturacion@ladirecta.com.ar - Type:
BILLING_CUSTOMER_REQUEST - Status antes:
READY_BLOCKED - Status despues esperado:
SENT send_blocked_by_default=true
Resultado del envio¶
Resultado del gate: PDF-012P_PROD_OUTBOX_GUARDED_SINGLE_SEND_GO.
El primer intento envio exactamente 1 email real interno, sin CC, sin BCC y
sin adjuntos. La actualizacion a SENT ocurrio solo despues de confirmacion
SMTP OK.
- Notification id:
1 - Status antes:
READY_BLOCKED - Status despues:
SENT - Subject:
Solicitud alta ecommerce pendiente de revision SGC - PDF-012O - Message id sanitizado:
<178240502929.797709.15169280561079786438@alpuntodeventa.com.ar> - SMTP response sanitizada:
SMTP send completed; provider message id not returned by smtplib.
Eventos registrados¶
SEND_APPROVED_MANUALSEND_ATTEMPTEDSEND_SUCCEEDEDALREADY_SENT_GLOBAL_BLOCKED
Retry bloqueado¶
El retry se ejecuto como prueba controlada y quedo bloqueado por guard global
antes de cualquier SMTP: ALREADY_SENT_GLOBAL_BLOCKED.
Evidencia sanitizada¶
tmp/pdf-012p/prod_outbox_guarded_single_send_result.jsontmp/pdf-012p/prod_outbox_guarded_single_send_result.txttmp/pdf-012p/prod_outbox_guarded_single_send_retry_result.jsontmp/pdf-012p/prod_outbox_guarded_single_send_retry_result.txt
La evidencia no incluye passwords, secrets, connection strings ni contenido de archivos secrets.
SQL write prod ejecutado¶
SQL write acotado a:
- insert de evento
SEND_APPROVED_MANUAL; - insert de evento
SEND_ATTEMPTED; - update de
business_observer.ecommerce_notification_outbox.status = 'SENT'; - insert de evento
SEND_SUCCEEDED; - insert de evento retry
ALREADY_SENT_GLOBAL_BLOCKED.
Que no se hizo¶
No se enviaron emails a clientes, proveedores ni listas. No se uso CC/BCC ni adjuntos. No se usaron datos reales de clientes. No se imprimieron secrets/passwords/connection strings. No se escribio en SGC. No se toco WooCommerce API. No se activo runtime, sync, scheduler, cron ni pipelines.
Proximo paso hacia produccion¶
Revisar evidencia PDF-012P y abrir un gate separado para worker dry-run/worker
manual sobre nuevas notifications sinteticas o para aprobar el siguiente paso
operativo. Scheduler, cron y runtime automatico siguen en NO-GO.