Saltar a contenido

PDF-005A SOURCE-003 Staging Initial Load Candidate Preflight

Fecha local: 2026-06-19

Estado: CANDIDATE PREFLIGHT PREPARADO / NO BACKUP REAL / NO LOAD / NO SQL / NO SECRETS / STAGING POST-DDL

portal_visible = yes

Scope: tenant

tenant_id: alpuntodeventa

Owner: Gabi / Carlos Canu

Fuente de verdad: docs/tenants/alpuntodeventa/business-observer/production/PDF-005A-SOURCE-003-STAGING-INITIAL-LOAD-CANDIDATE-PREFLIGHT.md

1. Objetivo

Preparar documentalmente el proximo gate para una tarea futura y separada de:

  • backup post-DDL del PostgreSQL staging de Business Observer;
  • preflight operativo para carga inicial controlada de SOURCE-003 en staging;
  • autorizacion posterior, separada y explicita antes de cualquier backup real, SQL o carga.

Esta tarea no ejecuta backup, no ejecuta SQL, no inspecciona runtime y no carga datos.

2. Alcance

Alcance documental preparado:

  • consolidar el estado post-DDL publicado en PDF-004G;
  • definir precondiciones para un backup post-DDL futuro;
  • definir validaciones read-only previas requeridas antes de cargar SOURCE-003;
  • fijar target staging esperado sin secretos;
  • enlazar autoridad SOURCE-003 / Tabla 2 V2;
  • enlazar mapping activo CSV/PostgreSQL;
  • definir criterios GO/NO-GO, evidencias y rollback esperado;
  • preservar restricciones de produccion, sync diaria, scheduler y pipelines.

3. Exclusiones

Queda explicitamente fuera de alcance:

  • ejecutar pg_dump, pg_restore o cualquier backup real;
  • crear dumps, checksums o artefactos fuera de Git;
  • ejecutar SQL, DDL, DML, COPY, INSERT, UPDATE, DELETE, TRUNCATE o DROP;
  • ejecutar SOURCE-003, importer, runner, sync o scheduler;
  • tocar VPS, Docker, OpenClaw, NPM, Portainer o PostgreSQL staging;
  • tocar produccion;
  • tocar openclaw-postgres-sandbox;
  • tocar La Directa o SGC;
  • leer secret files, imprimir passwords o publicar connection strings reales;
  • hacer commit, push o deploy.

4. Precondiciones obligatorias para tarea futura

Antes de abrir una tarea operativa futura debe existir:

  • SAFE POINT nuevo con git status -sb, git rev-parse HEAD, git diff --check y MkDocs strict;
  • autorizacion humana explicita para ejecutar backup post-DDL real;
  • confirmacion de que el target sigue siendo staging y no produccion;
  • confirmacion de que openclaw-postgres-sandbox queda excluido;
  • confirmacion de que no se habilita sync diaria, scheduler ni pipelines;
  • ventana operativa definida;
  • politica de secretos fuera de Git;
  • rollback esperado y evidencia requerida aceptados antes de operar.

5. Backup post-DDL esperado

El backup futuro debe ser posterior a PDF-004G y anterior a cualquier carga de SOURCE-003.

Contenido esperado:

  • backup logico de openclaw_business_observer_staging;
  • formato custom pg_dump -Fc o equivalente gobernado;
  • ruta fuera de Git;
  • nombre sin secretos;
  • checksum sha256;
  • permisos restrictivos;
  • pg_restore --list validado;
  • evidencia de que no contiene passwords ni connection strings;
  • confirmacion de que no toca produccion ni sandbox.

Estado en este documento:

text backup_post_ddl_realizado=false backup_post_ddl_requerido=true backup_post_ddl_estado=PENDIENTE / FUTURE TASK ONLY

6. Validaciones read-only previas requeridas

La tarea futura debe ejecutar solo validaciones read-only antes de cualquier write:

Control Esperado
target staging openclaw-business-observer-postgres-staging
host port PostgreSQL sin publicacion host
DB staging openclaw_business_observer_staging presente
DB produccion openclaw_business_observer_prod ausente
schema business_observer presente
roles staging owner, writer, reader, reporting_ro presentes como NOLOGIN
tablas de negocio iniciales 0 antes del paquete de carga
PUBLIC sin privilegios sobre schema de negocio
sandbox openclaw-postgres-sandbox intacto y excluido
transaction mode read-only para preflight

Toda validacion debe publicarse sin secretos y sin connection strings reales.

7. Target staging esperado sin secretos

Identidad no sensible heredada de PDF-004G:

text container=openclaw-business-observer-postgres-staging database=openclaw_business_observer_staging schema=business_observer network=openclaw-bo-staging-internal volume=openclaw_bo_postgres_staging_data host_port_binding=none postgres_version=16.14

Roles logicos esperados:

  • openclaw_bo_staging_owner
  • openclaw_bo_staging_writer
  • openclaw_bo_staging_reader
  • openclaw_bo_staging_reporting_ro

No se publica usuario LOGIN, password, token, secret file, host privado ni connection string real.

8. Autoridades y mapping

Autoridad fuente vigente:

  • docs/tenants/alpuntodeventa/business-observer/source-authority/SOURCE-003-VENTAS-VNEXT-TABLA2-AUTHORITY-V2.sql

Mapping activo:

  • docs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-SALES-ITEMS-COLUMN-MAPPING.md

Lectura obligatoria preservada:

  • SOURCE-003 / Tabla 2 V2 es fuente viva;
  • Hora forma parte de la autoridad y de la identidad;
  • line_key_v4 esta aceptada en estado AMARILLO ACEPTADO;
  • line_sequence_v1 es tecnica de pipeline, no identidad fisica del ERP;
  • source_row_hash_v1 debe cubrir las 68 columnas reales;
  • no se permite hard delete;
  • cualquier carga futura debe preservar tenant_id, sync_batch_id, source_query_version, extracted_at, last_seen_at y trazabilidad.

9. GO / NO-GO

GO futuro minimo solo si:

  • backup post-DDL real existe y esta validado;
  • preflight read-only del target staging pasa;
  • staging coincide con el fingerprint no sensible aprobado;
  • produccion y sandbox quedan excluidos;
  • autoridad V2 y mapping activo quedan referenciados;
  • plan de carga inicial controlada declara batch, snapshot, conteos, conciliaciones y rollback;
  • autorizacion humana explicita aprueba la ejecucion operativa separada.

NO-GO inmediato si:

  • falta backup post-DDL validado;
  • aparece produccion como target;
  • aparece openclaw-postgres-sandbox como target;
  • falta evidencia read-only;
  • se requiere secreto dentro de Git;
  • hay cambio no explicado en autoridad, mapping, filas esperadas o target;
  • se intenta habilitar sync diaria, scheduler o pipelines;
  • falta autorizacion humana explicita.

10. Evidencias requeridas

La tarea futura debe dejar:

  • SAFE POINT inicial y final;
  • comando exacto de backup sin secretos;
  • ubicacion no sensible del backup fuera de Git;
  • checksum y pg_restore --list;
  • fingerprint no sensible de staging;
  • resultado read-only de DB/schema/roles/permisos;
  • evidencia de produccion excluida;
  • evidencia de sandbox excluido;
  • documento de carga inicial candidate/preflight o execution, segun alcance;
  • confirmacion de que no se imprimieron secretos.

11. Rollback esperado

Rollback esperado para una futura carga:

  • debe estar documentado antes de cualquier escritura;
  • debe ejecutarse solo con autorizacion separada;
  • debe operar sobre staging, nunca produccion;
  • debe partir de backup post-DDL validado;
  • debe evitar TRUNCATE o DELETE no gobernado;
  • debe preservar evidencia de estado previo y posterior;
  • debe confirmar si el objetivo es revertir objetos, datos o ambos.

Este documento no ejecuta rollback ni crea rollback SQL.

12. Restricciones activas

Restricciones vigentes:

  • NO PRODUCCION
  • NO SYNC DIARIA
  • NO SCHEDULER
  • NO PIPELINES
  • NO SOURCE-003 EXECUTION
  • NO BACKUP REAL
  • NO SQL
  • NO DDL
  • NO DML
  • NO VPS
  • NO DOCKER
  • NO OPENCLAW
  • NO NPM
  • NO PORTAINER
  • NO POSTGRESQL STAGING TOUCH
  • NO OPENCLAW-POSTGRES-SANDBOX
  • NO SECRET FILES
  • NO PASSWORDS
  • NO CONNECTION STRINGS REALES
  • NO COMMIT
  • NO PUSH
  • NO DEPLOY

13. Autorizacion requerida para operar

La futura tarea operativa debe pedir y recibir una autorizacion nueva y explicita que indique, como minimo:

text Autorizo ejecutar backup post-DDL real del PostgreSQL staging Business Observer y ejecutar solo el preflight operativo read-only para carga inicial controlada SOURCE-003 en staging. No autorizo produccion, sync diaria, scheduler, pipelines ni carga real salvo que lo indique explicitamente en la misma tarea.

Si se quisiera cargar datos, debe existir una autorizacion adicional que lo diga de forma explicita y con target, batch/snapshot y rollback aceptados.

14. Estado de este candidate

text PDF-005A PREPARED DOCUMENTATION ONLY BACKUP POST-DDL = REQUIRED / NOT EXECUTED SOURCE-003 INITIAL LOAD = CANDIDATE PREFLIGHT ONLY / NOT EXECUTED STAGING TARGET = EXPECTED FROM PDF-004G / NOT RUNTIME-REVALIDATED HERE PRODUCTION = NO-GO DAILY SYNC = NO-GO SCHEDULER = NO-GO PIPELINES = NO-GO SECRETS = NOT READ / NOT PRINTED

15. Proximo gate obligatorio

Abrir una tarea separada con SAFE POINT nuevo para ejecutar, si Gabi lo autoriza explicitamente, el backup post-DDL real y el preflight operativo read-only de la carga inicial controlada SOURCE-003 en staging.

No avanzar a carga real hasta que ese gate quede en PASS y exista una nueva autorizacion separada.