Saltar a contenido

SOURCE-003 Pilot Load Execution 001

Fecha local: 2026-06-11 20:53:23 -03:00

Estado: CARGA PILOTO FALLIDA / ROJO

portal_visible = yes

Scope: tenant

tenant_id: alpuntodeventa

Owner: Gabi / Carlos Canu

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

1. Objetivo

Ejecutar un candidate load piloto minimo y autorizado de SOURCE-003 sobre la DB local dedicada.

Destino autorizado:

text openclaw_business_observer_dev.business_observer.source_003_sales_items

Batch autorizado:

text 1827f887-9499-4579-b4f3-234d54f41f7f

CSV autorizado:

text C:\APV\openclawai\snapshots\source-003\prepared\SOURCE-003-PILOT-LOAD-DEDICATED-DB-2026-06-09.csv

2. Safe point

Control Resultado
rama main
git status -sb ## main...origin/main
git rev-parse HEAD 9d7d622354176daa34ce0762bb97da8eb993695d
git ls-remote origin main 9d7d622354176daa34ce0762bb97da8eb993695d refs/heads/main
ultimo commit esperado docs: record source 003 pilot load preflight
decision SAFE POINT PASS

3. CSV preparado

Control Observado Esperado Resultado
archivo existe SI SI PASS
sha256 3f16a957a79fc84d4ca37930988287cb81f05166210d057fcf8b45007f184afe 3f16a957a79fc84d4ca37930988287cb81f05166210d057fcf8b45007f184afe PASS
filas de datos 1886 1886 PASS
columnas 83 83 PASS
fecha unica 2026-06-09 2026-06-09 PASS
sync_batch_id unico 1827f887-9499-4579-b4f3-234d54f41f7f 1827f887-9499-4579-b4f3-234d54f41f7f PASS
record_status unico active active PASS
duplicados (tenant_id, line_key) 0 0 PASS
source_row_hash vacios 0 0 PASS
line_key vacios 0 0 PASS
CSV versionado en Git NO NO PASS

extracted_at y last_seen_at observados en el CSV: 2026-06-10T21:04:06-03:00.

4. Preflight DB antes de carga

La conexion se hizo contra openclaw_business_observer_dev usando variables locales no versionadas, sin imprimir passwords, connection strings ni valores sensibles completos. Los roles openclaw_bo_admin, openclaw_bo_writer y openclaw_bo_reader fueron observados como NOLOGIN; para ejecutar psql se uso el login administrativo local de PostgreSQL apuntado explicitamente a la DB dedicada.

Control Observado Esperado Resultado
current_database() openclaw_business_observer_dev openclaw_business_observer_dev PASS
tabla destino existe true true PASS
tabla vacia antes de carga 0 filas 0 filas PASS
batch autorizado ausente 0 filas 0 filas PASS
owner tabla openclaw_bo_admin openclaw_bo_admin PASS
grants writer SELECT, INSERT, UPDATE; sin DELETE SELECT, INSERT, UPDATE; sin DELETE PASS
grants reader SELECT only SELECT only PASS

5. Preflight SQL autorizado

SQL ejecutado:

text docs/tenants/alpuntodeventa/business-observer/design/sql/004_source_003_dedicated_db_pilot_load_preflight.sql

Ejecucion:

text psql -X -v ON_ERROR_STOP=1 -f 004_source_003_dedicated_db_pilot_load_preflight.sql

Resultado: PASS.

El SQL confirmo:

  • current_database = openclaw_business_observer_dev
  • tabla business_observer.source_003_sales_items existente
  • owner openclaw_bo_admin
  • 83 columnas
  • tabla vacia
  • unique key y primary key requeridas
  • grants basicos
  • roles NOLOGIN
  • SOURCE-003 no cargado en la DB dedicada

6. Candidate load autorizado

SQL ejecutado:

text docs/tenants/alpuntodeventa/business-observer/design/sql/004_source_003_dedicated_db_pilot_load_candidate.sql

Variables autorizadas usadas:

Variable Valor
SOURCE_003_PILOT_LOAD_APPROVED true
SOURCE_003_PILOT_LOAD_CSV C:/APV/openclawai/snapshots/source-003/prepared/SOURCE-003-PILOT-LOAD-DEDICATED-DB-2026-06-09.csv
SOURCE_003_SYNC_BATCH_ID 1827f887-9499-4579-b4f3-234d54f41f7f
SOURCE_003_EXTRACTED_AT 2026-06-10T21:04:06-03:00

Resultado: FAIL.

Punto de falla:

text psql:docs/tenants/alpuntodeventa/business-observer/design/sql/004_source_003_dedicated_db_pilot_load_candidate.sql:104: error: \copy: error de procesamiento al final de la linea

El fallo ocurrio antes de copiar datos desde el CSV y antes de COMMIT. Por regla de seguridad, no se modifico el SQL autorizado y no se reintento con una variante manual.

7. Post-checks

No ejecutados.

Motivo: el candidate load fallo y la regla operativa autorizada indica detener y reportar.

8. Rollback

Resultado: NO APLICA.

Motivo: la carga no quedo confirmada y la tabla se revalido con 0 filas finales. No habia batch cargado que limpiar.

Check final:

Control Resultado
filas finales tabla destino 0
filas finales del batch autorizado 0

9. Restricciones mantenidas

  • no se ejecuto sync diaria
  • no se ejecuto carga masiva
  • no se toco produccion final
  • no se cargaron fechas fuera de 2026-06-09
  • no se cargaron filas
  • no se tocaron otros schemas
  • no se toco gestion_de_negocios_core
  • no se toco VPS
  • no se toco Docker
  • no se toco OpenClaw
  • no se toco NPM
  • no hubo push
  • no hubo deploy
  • no se imprimieron passwords ni connection strings completas

10. Decision

CARGA PILOTO FALLIDA / ROJO

La causa operacional observada esta en la ejecucion del SQL candidate autorizado, especificamente en el metacomando \copy iniciado en la linea 104. La tabla destino quedo vacia y el batch autorizado no fue cargado.

Proximo paso recomendado:

  1. revisar humanamente el SQL 004_source_003_dedicated_db_pilot_load_candidate.sql;
  2. corregir el formato de \copy en un commit documental/SQL separado;
  3. reabrir una autorizacion explicita nueva para repetir la carga piloto.

11. Correccion posterior del candidate

En una tarea posterior, sin ejecutar SQL ni tocar PostgreSQL, se corrigio el formato del metacomando \copy en:

text docs/tenants/alpuntodeventa/business-observer/design/sql/004_source_003_dedicated_db_pilot_load_candidate.sql

Alcance de la correccion:

  • \copy queda completo en una sola linea fisica, requerido por psql;
  • se mantienen las mismas 83 columnas destino;
  • se mantiene el CSV preparado autorizado;
  • se agrega guarda del path CSV recibido por variable psql;
  • no se ejecuta candidate load, preflight, post-check, rollback ni SQL.

La correccion no cambia el resultado de esta ejecucion:

text CARGA PILOTO FALLIDA / ROJO