Saltar a contenido

PDF-010W - B2B Schema-Only Backup Local Dev Plan

Fecha: 2026-06-23

Estado: GO SCHEMA-ONLY BACKUP PLAN APPROVED FOR LOCAL DEV / SIN DDL / SIN SQL WRITE / SIN PUSH

Resumen Simple

PDF-010V llego al preflight correcto para ejecutar el DDL B2B corregido PDF-010P, pero se detuvo antes del DDL porque el backup acotado data+schema de business_observer intento leer una tabla existente: business_observer.source_003_sales_items.

El DDL B2B pendiente solo crea objetos B2B nuevos. No modifica source_003_sales_items ni datos existentes. Por eso, para local/dev se aprueba una estrategia mas acotada: backup schema-only del schema business_observer y rollback candidate para eliminar solo los objetos B2B nuevos si hiciera falta.

SAFE POINT Inicial

  • HEAD: f34080821dc6a62b412b7799eb744bba59ef5207
  • origin/main: f34080821dc6a62b412b7799eb744bba59ef5207
  • ultimo commit publicado: f340808 ops: execute pdf-010v b2b local dev ddl
  • repo inicial: limpio
  • git diff --check: PASS

Evidencia PDF-010V Revisada

  • estado final PDF-010V: NO-GO BACKUP FAILED / SIN DDL B2B;
  • preflight read-only paso como openclaw_bo_admin;
  • schema business_observer owner: openclaw_bo_admin;
  • CREATE sobre DB/schema: confirmado;
  • roles openclaw_bo_admin, openclaw_bo_writer, openclaw_bo_reader: presentes;
  • objetos B2B candidate: ausentes antes del DDL;
  • backup acotado data+schema fallo;
  • error: permission denied for table source_003_sales_items;
  • artefacto fallido: C:\APV\backups\openclawai\PDF-010V\business_observer-pre-ddl-20260623-123032.dump;
  • dump quedo en 0 bytes;
  • DDL PDF-010P: no ejecutado;
  • tablas/vista B2B: no creadas;
  • rollback: no ejecutado.

Por Que Aplica Schema-Only En Local Dev

El bloqueo esta en la copia de datos de una tabla existente dentro de business_observer. pg_dump intento bloquear business_observer.source_003_sales_items en ACCESS SHARE MODE y el rol no tenia permiso suficiente para leer esa tabla.

Ese bloqueo no afecta la estructura nueva B2B porque PDF-010P no necesita copiar datos existentes ni modificar source_003_sales_items. El cambio pendiente crea:

  • business_observer.b2b_customer_mapping;
  • business_observer.b2b_product_price;
  • business_observer.b2b_pricing_decision_log;
  • business_observer.v_b2b_customer_effective_price.

Estrategia Aprobada Para Local Dev

Usar backup schema-only del schema afectado:

powershell pg_dump -Fc -s -n business_observer

Propiedades:

  • formato custom -Fc;
  • schema-only -s;
  • limitado al schema business_observer;
  • no copia datos;
  • evita el bloqueo por permisos sobre filas o lectura de source_003_sales_items;
  • debe generar un archivo mayor a 0 bytes fuera de Git;
  • debe validarse antes de cualquier DDL.

Rollback Candidate

El rollback local/dev se apoya en el rollback candidate de PDF-010P:

infra/business-observer/production/b2b-pricing/PDF-010P/PDF-010P-B2B-PERSISTENCE-ROLLBACK-RETRY-CANDIDATE.sql

Ese rollback cubre la eliminacion de los objetos B2B nuevos. Como el DDL B2B no modifica datos existentes, el rollback esperado no requiere restaurar datos de source_003_sales_items.

GO/NO-GO Para Proximo Gate Local Dev

Estado de estrategia: GO PARA BACKUP SCHEMA-ONLY LOCAL DEV.

GO del proximo gate local/dev solo si:

  • safe point nuevo confirmado;
  • backup schema-only business_observer creado con pg_dump -Fc -s -n business_observer;
  • archivo de backup existe, pesa mas de 0 bytes y queda fuera de Git;
  • preflight read-only confirma rol admin/owner y CREATE sobre business_observer;
  • objetos B2B siguen ausentes antes del DDL;
  • autorizacion explicita de SQL write/DDL para ejecutar PDF-010P.

NO-GO si:

  • no hay backup schema-only valido;
  • el backup queda en 0 bytes;
  • el backup se intenta commitear;
  • aparecen objetos B2B antes del DDL;
  • cambia el owner/schema/DB esperado;
  • falta autorizacion explicita para SQL write.

Criterio Para VPS/Prod

No usar schema-only como unico respaldo productivo sin aprobacion separada.

Para VPS/prod se mantiene exigencia mas fuerte:

  • snapshot externo del VPS/volumen/servicio administrado; o
  • backup full DB con rol backup/admin aprobado; o
  • estrategia equivalente aprobada por governance antes de cualquier DDL productivo.

Schema-only queda aprobado solo para local/dev por el alcance del DDL B2B y porque los objetos B2B aun no existen.

Que NO Se Ejecuto

  • no se ejecuto DDL;
  • no se ejecuto SQL write;
  • 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 source_003_sales_items;
  • no se toco WooCommerce API;
  • no se modifico .env;
  • no se imprimieron secretos, passwords ni connection strings completas;
  • no se modifico runtime WooCommerce;
  • no se ejecuto sync, scheduler, cron ni pipelines.

Proximo Gate

Abrir PDF-010X o gate equivalente para reintentar local/dev:

  1. confirmar safe point;
  2. crear backup schema-only valido de business_observer;
  3. validar que el backup queda fuera de Git y pesa mas de 0 bytes;
  4. confirmar preflight read-only;
  5. pedir autorizacion explicita de SQL write;
  6. ejecutar PDF-010P solo si todos los criterios anteriores estan en GO.