Saltar a contenido

PDF-010Y - B2B Backup Permissions Plan

Fecha: 2026-06-23

Estado: PLAN BACKUP PERMISSIONS / SIN DDL / SIN SQL WRITE / SIN PUSH

Resumen Simple

PDF-010X confirmo que el preflight local/dev esta listo para crear los objetos B2B con openclaw_bo_admin, pero el backup schema-only obligatorio fallo antes del DDL porque pg_dump no pudo bloquear una tabla existente: business_observer.source_003_sales_items.

No se ejecuta ningun DDL en este gate. Este plan define como resolver el permiso de backup antes de reintentar PDF-010P.

Evidencia PDF-010X Revisada

  • estado final PDF-010X: NO-GO BACKUP FAILED / SIN DDL B2B;
  • safe point publicado: ead51e59f67c005664c744218f91903eefed73d2;
  • DB local/dev: gestion_de_negocios_core;
  • usuario admin/owner: openclaw_bo_admin;
  • schema: business_observer;
  • owner schema: openclaw_bo_admin;
  • CREATE sobre DB/schema: true;
  • objetos B2B previos: ausentes;
  • backup intentado: pg_dump -Fc -s -n business_observer;
  • error: permission denied for table source_003_sales_items;
  • tabla bloqueada: business_observer.source_003_sales_items;
  • dump: 0 bytes;
  • DDL PDF-010P: no ejecutado;
  • SQL write ejecutado: ninguno;
  • objetos B2B posteriores: ausentes.

Bloqueo Actual

El bloqueo no esta en el DDL B2B candidate sino en el permiso necesario para que pg_dump lea o bloquee objetos existentes dentro de business_observer.

Mientras el backup schema-only de business_observer no genere un archivo valido mayor a 0 bytes, el gate de DDL debe seguir en NO-GO.

Opciones Backup Permissions

Opcion A - Credencial admin/backup real

Usar una credencial local/dev aprobada para backup que pueda ejecutar pg_dump -Fc -s -n business_observer sobre todo el schema.

Ventaja: no cambia permisos del rol actual.

Costo: requiere administrar una credencial mas poderosa y mantenerla fuera de Git, sin imprimir valores.

Opcion B - Permiso minimo sobre objetos existentes

Dar a openclaw_bo_admin permisos de lectura/backup sobre objetos existentes del schema business_observer.

Comandos candidate, no ejecutar en este gate:

sql GRANT USAGE ON SCHEMA business_observer TO openclaw_bo_admin; GRANT SELECT ON ALL TABLES IN SCHEMA business_observer TO openclaw_bo_admin; GRANT SELECT ON ALL SEQUENCES IN SCHEMA business_observer TO openclaw_bo_admin;

Ventaja: mantiene el gate con el rol admin/owner ya validado y evita usar superuser para operar el DDL B2B.

Costo: requiere autorizacion explicita de governance para SQL admin minimo en un gate separado.

Opcion C - Backup solo del DDL candidate

Respaldar solo el SQL candidate y confiar en rollback porque los objetos B2B aun no existen.

Ventaja: es la opcion mas rapida para local/dev.

Riesgo: no valida que pg_dump funcione sobre el schema real. Debe quedar como excepcion local/dev y no es recomendada para produccion.

Recomendacion Unica

Para local/dev, recomendar Opcion B si governance acepta SQL admin minimo en un gate separado. Es la alternativa mas simple y robusta porque permite un backup schema-only reproducible sin usar superuser y mantiene el mismo rol openclaw_bo_admin para el reintento controlado.

Para VPS/prod, exigir snapshot o backup full con rol adecuado antes de cualquier DDL productivo.

GO/NO-GO Para Proximo Gate

GO solo si:

  • safe point nuevo confirmado;
  • governance autoriza explicitamente el grant minimo o una credencial admin/backup real;
  • se ejecuta el ajuste de permisos en gate separado;
  • pg_dump -Fc -s -n business_observer genera archivo mayor a 0 bytes fuera de Git;
  • preflight read-only confirma openclaw_bo_admin, DB gestion_de_negocios_core, schema business_observer y objetos B2B ausentes;
  • hay autorizacion separada para ejecutar PDF-010P.

NO-GO si:

  • no hay backup schema-only valido;
  • el dump queda en 0 bytes;
  • persiste permission denied for table source_003_sales_items;
  • aparecen objetos B2B antes del DDL;
  • falta autorizacion explicita para SQL admin minimo o DDL.

Que NO Se Ejecuto

  • no se ejecuto DDL;
  • no se ejecuto SQL write;
  • no se ejecutaron GRANT;
  • no se crearon tablas B2B;
  • no se creo vista B2B;
  • no se aplicaron grants ni RLS;
  • no se ejecuto rollback;
  • no se tocaron datos;
  • no se toco WooCommerce API;
  • no se modifico .env;
  • no se imprimieron secretos, passwords ni connection strings completas;
  • no se modifico runtime;
  • no se ejecuto sync, scheduler, cron ni pipelines.

Proximo Paso

Abrir un gate separado para PDF-010Y execution o PDF-010Z equivalente:

  1. confirmar safe point;
  2. autorizar SQL admin minimo de Opcion B o credencial backup de Opcion A;
  3. ejecutar solo el ajuste aprobado;
  4. repetir backup schema-only;
  5. validar dump mayor a 0 bytes;
  6. recien despues abrir gate separado para reintentar PDF-010P.