SOURCE-003 Pilot Load Execution 002¶
Fecha local: 2026-06-11 21:25:27 -03:00
Estado: CIERRE OPERATIVO PUBLICADO / VERDE
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-002.md
1. Objetivo¶
Reintentar la carga piloto minima autorizada de SOURCE-003 sobre la DB local
dedicada, usando exclusivamente el CSV preparado, el batch y los SQL
autorizados.
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¶
Nota de interpretacion:
- este SAFE POINT corresponde a la ejecucion historica cerrada el
2026-06-11; - documenta el commit exacto sobre el que se corrio esa carga;
- no debe leerse como requisito de coincidencia con el
HEADactual del repo.
| Control | Resultado |
|---|---|
| rama | main |
git status -sb |
## main...origin/main |
git rev-parse HEAD |
e89cbcca366602190cec9ceb385531f7c68d6957 |
git ls-remote origin main |
e89cbcca366602190cec9ceb385531f7c68d6957 refs/heads/main |
| ultimo commit esperado | docs: fix source 003 pilot load copy command |
| 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 |
| CSV versionado en Git | NO |
NO |
PASS |
git check-ignore |
.gitignore:9:snapshots/* |
ignorado | PASS |
extracted_at, last_seen_at, created_at y updated_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 siguen documentados y 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_itemsexistente - owner
openclaw_bo_admin 83columnas- tabla vacia
- unique key y primary key requeridas
- grants basicos
- roles
NOLOGIN SOURCE-003no cargado previamente 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: PASS.
Evidencia de ejecucion:
text
BEGIN
SELECT 1
DO
DO
LOCK TABLE
DO
CREATE TABLE
COPY 1886
DO
INSERT 0 1886
DO
COMMIT
La carga quedo confirmada por COMMIT con 1886 filas insertadas para el
batch autorizado.
7. Post-checks¶
SQL ejecutado:
text
docs/tenants/alpuntodeventa/business-observer/design/sql/004_source_003_dedicated_db_pilot_load_post_checks.sql
Ejecucion:
text
psql -X -v ON_ERROR_STOP=1 -v SOURCE_003_SYNC_BATCH_ID=1827f887-9499-4579-b4f3-234d54f41f7f -f 004_source_003_dedicated_db_pilot_load_post_checks.sql
Resultado: PASS.
Checks principales observados:
| Check | Observado | Resultado |
|---|---|---|
pilot_batch_row_count |
1886 |
PASS |
pilot_batch_date_window |
2026-06-09 a 2026-06-09 |
PASS |
pilot_batch_sync_batch_id_exact |
1886 filas del batch autorizado |
PASS |
pilot_batch_source_system_exact |
0 filas malas |
PASS |
pilot_batch_source_object_exact |
0 filas malas |
PASS |
pilot_batch_source_query_version_exact |
0 filas malas |
PASS |
pilot_batch_distinct_line_key |
1886 distinct sobre 1886 filas |
PASS |
pilot_batch_line_key_v4 |
0 vacios, 1886 distinct |
PASS |
pilot_batch_source_row_hash_v1 |
0 vacios |
PASS |
target_duplicate_line_key |
0 grupos duplicados |
PASS |
pilot_batch_critical_nulls |
0 filas |
PASS |
pilot_batch_hora_format |
0 filas malas |
PASS |
pilot_batch_record_status |
1886 active sobre 1886 filas |
PASS |
pilot_batch_aggregate_reconciliation |
importe 48087486.83, CMV 37881269.3025 |
PASS |
pilot_batch_business_uniques |
clientes 173, vendedores 25, SKU 180, comprobantes 428 |
PASS |
8. Rollback¶
Resultado: NO APLICA.
Motivo: candidate load y post-checks pasaron. No se ejecuto rollback.
Estado final:
| Control | Resultado |
|---|---|
| filas finales tabla destino para el batch autorizado | 1886 |
| fecha final cargada | 2026-06-09 |
| batch cargado | 1827f887-9499-4579-b4f3-234d54f41f7f |
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 mas de
1886filas - 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 EJECUTADA / VERDE
La carga piloto minima dedicada de SOURCE-003 quedo ejecutada y validada en
openclaw_business_observer_dev.business_observer.source_003_sales_items para
el batch autorizado y la fecha unica 2026-06-09.
11. Cierre operativo publicado¶
Estado de cierre del hito:
| Control | Estado |
|---|---|
SOURCE-003 piloto dedicado |
VERDE |
| DDL ejecutado | VERDE |
| CSV preparado | VERDE |
| Candidate load | VERDE |
| Post-checks | VERDE |
| filas cargadas | 1886 |
| batch cargado | 1827f887-9499-4579-b4f3-234d54f41f7f |
| evidencia publica | PUBLICADA |
| rollback | NO APLICA |
| sync diaria | BLOQUEADA |
| carga masiva | BLOQUEADA |
| produccion final | BLOQUEADA |
URL publica validada:
text
https://doc.alpuntodeventa.com.ar/tenants/alpuntodeventa/business-observer/design/SOURCE-003-PILOT-LOAD-EXECUTION-002/
Este cierre operativo no habilita ejecucion adicional. La evidencia publicada certifica solamente el piloto minimo dedicado ya ejecutado en verde.
Proximo paso recomendado:
- automatizar en Python el flujo reproducible
raw -> prepared CSV; - mantener bloqueadas sync diaria, carga masiva y produccion final;
- no iniciar todavia clientes ni productos;
- decidir separadamente el diseno operativo futuro sobre la DB dedicada.