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.mdCODEX.mddocs/governance/ACTIVE-CONTEXT.mddocs/governance/GATE-CODEX-EFFICIENCY.mddocs/governance/GOVERNANCE-CONTROL-TOWER.mddocs/governance/VALIDATION-STATE.mddocs/governance/documentation/DOCUMENT-HIERARCHY.mddocs/PROJECT-STATE.mddocs/ROADMAP.mddocs/governance/operations/CURRENT-BASELINE.mddocs/tenants/alpuntodeventa/business-observer/README.mddocs/tenants/alpuntodeventa/business-observer/design/POSTGRES-LOCAL-DEV-ENVIRONMENT.mddocs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-CREDENTIALS-PREFLIGHT.mddocs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-DEDICATED-DB-DDL-PILOT-GATE.mddocs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-DEDICATED-DB-DDL-PILOT-PACKAGE.mddocs/tenants/alpuntodeventa/business-observer/design/sql/003_source_003_dedicated_db_ddl_pilot_preflight.sqldocs/tenants/alpuntodeventa/business-observer/design/sql/003_source_003_dedicated_db_ddl_pilot_forward.sqldocs/tenants/alpuntodeventa/business-observer/design/sql/003_source_003_dedicated_db_ddl_pilot_post_checks.sqldocs/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_observerexistente. - 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_idxsource_003_sales_items_tenant_cliente_idxsource_003_sales_items_tenant_vendedor_fecha_idxsource_003_sales_items_tenant_sku_fecha_idxsource_003_sales_items_tenant_documento_idxsource_003_sales_items_tenant_batch_idxsource_003_sales_items_tenant_status_idxsource_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
DDLpiloto 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.