Saltar a contenido

SOURCE-003 Dedicated DB DDL Pilot Execution 001

Fecha local: 2026-06-11 18:07:20 -03:00

Estado: DDL PILOTO EJECUTADO / VERDE

portal_visible = yes

Scope: tenant

tenant_id: alpuntodeventa

Owner: Gabi / Carlos Canu

Fuente de verdad: docs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-DEDICATED-DB-DDL-PILOT-EXECUTION-001.md

1. Objetivo

Ejecutar el DDL piloto controlado de SOURCE-003 / Tabla 2 V2 sobre la DB local dedicada openclaw_business_observer_dev, en el schema business_observer, sin cargar datos y sin tocar produccion ni infraestructura.

2. Safe point inicial

Control Resultado
rama main
git status -sb ## main...origin/main
git rev-parse HEAD 18f35f2f8fb02b2f3639f46fbb41ab5d39a89060
git ls-remote origin main 18f35f2f8fb02b2f3639f46fbb41ab5d39a89060
ultimo commit esperado docs: harden source 003 ddl pilot checks
decision SAFE POINT PASS

3. Documentos leidos

Read-set aplicado:

  • docs/governance/PROJECT-CONSTITUTION.md
  • CODEX.md
  • docs/governance/ACTIVE-CONTEXT.md
  • docs/governance/GATE-CODEX-EFFICIENCY.md
  • docs/governance/GOVERNANCE-CONTROL-TOWER.md
  • docs/governance/VALIDATION-STATE.md
  • docs/governance/documentation/DOCUMENT-HIERARCHY.md
  • docs/PROJECT-STATE.md
  • docs/ROADMAP.md
  • docs/governance/operations/CURRENT-BASELINE.md
  • docs/tenants/alpuntodeventa/business-observer/README.md
  • docs/tenants/alpuntodeventa/business-observer/design/POSTGRES-LOCAL-DEV-ENVIRONMENT.md
  • docs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-CREDENTIALS-PREFLIGHT.md
  • docs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-DEDICATED-DB-DDL-PILOT-GATE.md
  • docs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-DEDICATED-DB-DDL-PILOT-PACKAGE.md
  • docs/tenants/alpuntodeventa/business-observer/design/sql/003_source_003_dedicated_db_ddl_pilot_preflight.sql
  • docs/tenants/alpuntodeventa/business-observer/design/sql/003_source_003_dedicated_db_ddl_pilot_forward.sql
  • docs/tenants/alpuntodeventa/business-observer/design/sql/003_source_003_dedicated_db_ddl_pilot_post_checks.sql
  • docs/tenants/alpuntodeventa/business-observer/design/sql/003_source_003_dedicated_db_ddl_pilot_rollback.sql

Clasificacion operativa: VALIDATE + BUILD + SECURITY.

4. DB objetivo

Control Resultado
database objetivo openclaw_business_observer_dev
schema objetivo business_observer
tabla objetivo business_observer.source_003_sales_items
current_database() openclaw_business_observer_dev
roles objetivo openclaw_bo_admin, openclaw_bo_writer, openclaw_bo_reader
roles objetivo NOLOGIN PASS
schema vacio antes del DDL PASS
secretos impresos NO
connection strings impresas NO

5. Scripts ejecutados

Se uso ON_ERROR_STOP=1 en todas las ejecuciones psql.

Orden Script Resultado
1 design/sql/003_source_003_dedicated_db_ddl_pilot_preflight.sql PASS
2 design/sql/003_source_003_dedicated_db_ddl_pilot_forward.sql PASS
3 design/sql/003_source_003_dedicated_db_ddl_pilot_post_checks.sql PASS

El rollback design/sql/003_source_003_dedicated_db_ddl_pilot_rollback.sql fue leido pero no fue ejecutado.

6. Resultado preflight

Resultado: PASS.

Controles confirmados:

  • DB actual esperada.
  • Schema business_observer existente.
  • Owner de schema openclaw_bo_admin.
  • Roles requeridos existentes.
  • Roles requeridos como NOLOGIN.
  • Scope limitado a business_observer.
  • Sin carga de datos.
  • Sin operaciones sobre schemas fuera de alcance.

7. Resultado forward

Resultado: PASS.

El forward creo la tabla piloto business_observer.source_003_sales_items con owner openclaw_bo_admin, constraints, comentarios, grants e indices definidos por el paquete.

No se ejecuto INSERT, COPY, MERGE, UPSERT, carga desde snapshot, extraccion desde SGC, sync diaria ni carga masiva.

8. Resultado post-checks

Resultado: PASS.

Evidencia resumida:

Control Resultado
tabla creada PASS
owner tabla openclaw_bo_admin
columnas fisicas 83
constraints 21
primary key source_003_sales_items_pk
unique key source_003_sales_items_tenant_line_key_uk
indices secundarios requeridos 8/8
total de indices observados 10, incluyendo PK y unique
filas en tabla 0
SOURCE-003 cargado NO

Indices secundarios requeridos validados:

  • source_003_sales_items_tenant_fecha_idx
  • source_003_sales_items_tenant_cliente_idx
  • source_003_sales_items_tenant_vendedor_fecha_idx
  • source_003_sales_items_tenant_sku_fecha_idx
  • source_003_sales_items_tenant_documento_idx
  • source_003_sales_items_tenant_batch_idx
  • source_003_sales_items_tenant_status_idx
  • source_003_sales_items_tenant_hash_idx

9. Roles y grants validados

Rol Resultado
openclaw_bo_admin owner de schema y tabla; NOLOGIN
openclaw_bo_writer SELECT, INSERT, UPDATE; sin DELETE; NOLOGIN
openclaw_bo_reader SELECT; sin INSERT, UPDATE ni DELETE; NOLOGIN
PUBLIC sobre schema sin permisos indebidos
PUBLIC sobre tabla sin permisos indebidos
roles no objetivo sin permisos explicitos indebidos sobre schema ni tabla
default privileges futuros validados para writer y reader

10. Restricciones activas

Siguen bloqueados:

  • carga de datos;
  • INSERT, COPY, MERGE, UPSERT;
  • extraccion desde SGC;
  • sync diaria;
  • carga masiva;
  • produccion final;
  • cambios en gestion_de_negocios_core;
  • cambios en VPS;
  • cambios en Docker;
  • cambios en OpenClaw;
  • cambios en NPM;
  • deploy del portal.

11. Alcance no tocado

Control Resultado
datos cargados NO
tabla sigue vacia SI
gestion_de_negocios_core NO TOCADA
VPS NO TOCADO
Docker NO TOCADO
OpenClaw NO TOCADO
NPM NO TOCADO
.env local NO MODIFICADO
secretos documentados NO

12. Decision

text DDL PILOTO EJECUTADO / VERDE

Lectura exacta:

  • el DDL piloto dedicado quedo ejecutado y validado;
  • la tabla existe en la DB local dedicada;
  • la tabla esta vacia;
  • grants, owners, constraints, indices y default privileges pasaron los post-checks;
  • no hubo carga de datos;
  • no queda habilitada carga piloto, sync diaria, carga masiva ni produccion final.

13. Proximo paso recomendado

Mantener la DB dedicada con la tabla piloto vacia hasta una aprobacion humana separada para una futura carga piloto controlada. Esa futura tarea debe definir snapshot o ventana, backup/evidencia previa, conciliaciones, estrategia de rollback y criterios de cierre antes de cualquier dato.