PDF-010N - B2B Controlled DDL Execution¶
Estado final: NO-GO OPERATIVO.
Resumen Simple¶
Se valido el safe point, se corrieron los validadores previos, se confirmaron
credenciales sin imprimir valores, se ejecuto preflight read-only final y se
creo backup real fuera de Git. Luego se intento ejecutar solo el DDL candidate
PDF-010K, pero PostgreSQL lo rechazo por permisos en el primer statement.
No se crearon tablas B2B reales.
Backup Realizado¶
- backup pre-DDL:
PASS - herramienta:
C:\Program Files\PostgreSQL\15\bin\pg_dump.exe - formato: custom
-Fc - scope: schema
business_observer - path fuera de Git:
C:\APV\backups\openclawai\PDF-010N\pdf-010n-business-observer-pre-ddl-20260623T044159Z.dump - size:
1928895bytes - secretos impresos:
NO
DDL Ejecutado¶
Se intento ejecutar unicamente:
infra/business-observer/production/b2b-pricing/PDF-010K/PDF-010K-B2B-PERSISTENCE-DDL-CANDIDATE.sql
Resultado: FAIL / NO-GO.
Error no sensible:
text
permission denied for database gestion_de_negocios_core
El intento uso ON_ERROR_STOP=1 y transaccion unica. El error ocurrio al
inicio, por lo que no quedaron objetos B2B creados.
Objetos Creados¶
Ninguno.
business_observer.b2b_customer_mapping: no creadobusiness_observer.b2b_product_price: no creadobusiness_observer.b2b_pricing_decision_log: no creadobusiness_observer.v_b2b_customer_effective_price: no creada
Grants, Permisos y RLS¶
No se aplicaron grants ni RLS porque el DDL fallo antes de crear los objetos.
Hallazgos:
- el rol ejecutor observado fue
openclaw_writer CREATE SCHEMA IF NOT EXISTS business_observerfallo por permiso sobre la DB- los roles
business_observer_reader,business_observer_writerybusiness_observer_adminno existen en el target observado - los roles canonicos
openclaw_bo_reader,openclaw_bo_writeryopenclaw_bo_adminsi existen
Post-Checks¶
Post-check read-only: NO-GO.
- objetos esperados ausentes
- constraints esperadas ausentes
- indexes/unique esperados ausentes
- grants esperados ausentes
- RLS esperado ausente
Riesgos¶
- El DDL candidate no esta alineado con permisos/roles reales del target.
- Reintentar sin corregir prerequisitos volveria a fallar.
- Si se corrige solo el permiso
CREATE, losGRANTpodrian fallar por rolesbusiness_observer_*inexistentes.
Rollback Candidate Disponible¶
Rollback candidate disponible y no ejecutado.
Disponible:
infra/business-observer/production/b2b-pricing/PDF-010K/PDF-010K-B2B-PERSISTENCE-ROLLBACK-CANDIDATE.sql
No fue ejecutado porque no hubo cambios confirmados y porque rollback requiere gate separado.
Que NO Se Hizo¶
WooCommerce API no fue tocada.
- no se toco WooCommerce API
- no se modifico
.env - no se imprimieron secretos
- no se imprimieron passwords
- no se imprimieron connection strings completas
- no se modifico runtime WooCommerce
- no se ejecuto sync
- no se ejecuto scheduler
- no se ejecuto cron
- no se ejecutaron pipelines
- no se cargaron datos B2B
- no se ejecutaron inserts masivos, deletes, updates de negocio ni truncate
- no se ejecuto rollback candidate
GO/NO-GO Final¶
NO-GO.
Motivo: permiso insuficiente sobre gestion_de_negocios_core y roles de grants
del candidate no presentes.
Proximo Paso¶
Preparar PDF-010O para resolver prerequisitos de roles/permisos y reintentar
solo despues de nuevo preflight read-only y backup real.
Decision requerida:
- usar roles
business_observer_*y provisionarlos antes del DDL, o - ajustar el DDL candidate para roles reales
openclaw_bo_*, con aprobacion separada.