SOURCE-003 Importer Validate Prepared 001¶
Fecha local: 2026-06-15
Estado: VALIDATE-PREPARED IMPLEMENTADO / NO DB
portal_visible = yes
Scope: tenant
tenant_id: alpuntodeventa
Owner: Gabi / Carlos Canu
Fuente de verdad:
docs/tenants/alpuntodeventa/business-observer/design/SOURCE-003-IMPORTER-VALIDATE-PREPARED-001.md
1. Objetivo¶
Implementar el comando seguro:
text
python scripts/source_003_importer.py validate-prepared
El comando valida el CSV prepared historico y el CSV generated existente sin
tocar PostgreSQL, sin ejecutar SQL, sin llamar al runner, sin generar un CSV
nuevo y sin reemplazar el CSV historico.
2. Artefactos validados¶
Prepared historico:
text
snapshots/source-003/prepared/SOURCE-003-PILOT-LOAD-DEDICATED-DB-2026-06-09.csv
Generated existente:
text
snapshots/source-003/prepared/generated/SOURCE-003-PILOT-LOAD-DEDICATED-DB-2026-06-09.generated.csv
Ambos artefactos quedan fuera de Git:
git_ignored=truegit_tracked=falseoutside_git=true
3. Validaciones¶
El comando valida:
- prepared sha256:
3f16a957a79fc84d4ca37930988287cb81f05166210d057fcf8b45007f184afe - generated sha256:
6fb44d9870a567e728df9bbdcc6b83279d84791bd732626c9e19ccf3a28dc903 - filas:
1886 - columnas:
83 - fecha unica:
2026-06-09 - batch:
1827f887-9499-4579-b4f3-234d54f41f7f record_status = activesource_row_hashno vacioline_keyno vacio
4. Comparacion prepared vs generated¶
Resultado:
text
REPRODUCIBLE ESTRUCTURAL ACEPTADO
Evidencia:
- columnas coincidentes:
82/83 - columna diferente esperada:
id - razon aceptada: UUID v5 deterministico del generador
- filas comparadas:
1886 - CSV historico validado reemplazado:
false
5. Salida validada¶
Salida relevante del comando:
json
{
"command": "validate-prepared",
"result": "PASS",
"rows": 1886,
"columns": 83,
"comparison_status": "REPRODUCIBLE ESTRUCTURAL ACEPTADO",
"columns_matching": "82/83",
"db_touched": false,
"sql_executed": false,
"data_written": false,
"sync_enabled": false
}
6. Restricciones preservadas¶
Esta etapa preserva:
- sin
PostgreSQL; - sin SQL;
- sin
psql; - sin runner;
- sin generar CSV nuevo;
- sin reemplazar el CSV prepared validado;
- sin carga de datos;
- sin sync diaria;
- sin carga masiva;
- sin produccion final;
- sin
OpenClaw; - sin
NPM; - sin
VPS; - sin
Docker; - sin push;
- sin deploy.
7. Decision¶
text
VALIDATE-PREPARED IMPLEMENTADO / NO DB
validate-prepared queda habilitado como comando seguro read-only del importer
SOURCE-003: valida prepared historico y generated existente, confirma la
reproducibilidad estructural aceptada y mantiene bloqueadas todas las
operaciones de DB, SQL, runner, carga y sync.