SOURCE-003 Query Delta Review¶
Fecha: 2026-06-10
Estado: IMPACTO MEDIO / V2 TABLA 2 REVALIDADA EXPLICITA / HORA PRESERVADA
Scope: tenant
tenant_id: alpuntodeventa
Owner: Gabi / Carlos Canu
Fuente de verdad:
docs/tenants/alpuntodeventa/business-observer/source-authority/SOURCE-003-QUERY-DELTA-REVIEW.md
1. Objetivo¶
Comparar documentalmente la autoridad SOURCE-003 / Ventas vNext Tabla 2
preservada como V1 contra la query actual completa pegada por Gabi y
registrada como V2 candidata.
Esta revision textual inicial no ejecuto queries, no tomo snapshots, no cargo
datos, no toco PostgreSQL, no modifico tablas y no avanzo sync. La
revalidacion real posterior de Tabla 2 V2 queda agregada en la seccion 18.
2. Safe point¶
git status -sb:## main...origin/maingit rev-parse HEAD:59a2be84bed14ca57d6b5e5bb6325fd697f9f1e8
3. Archivos comparados¶
V1 preservada:
docs/tenants/alpuntodeventa/business-observer/source-authority/SOURCE-003-VENTAS-VNEXT-TABLA2-AUTHORITY.sql
V2 candidata nueva:
docs/tenants/alpuntodeventa/business-observer/source-authority/SOURCE-003-VENTAS-VNEXT-TABLA2-AUTHORITY-V2.sql
Nota humana:
Gabiaclaro durante esta auditoria que la query pegada omitioHorapor olvidoHoradebe quedar incluida en la query definitiva- V2 se preserva como candidata corregida con
Hora, sin tocar calculos, joins ni filtros
Delta funcional final V1 vs V2 corregida, ignorando espacios finales
normalizados para que git diff --check pase:
| Metrica | Resultado |
|---|---|
| diff funcional | 3 inserciones / 3 eliminaciones |
| sha256 V1 | 4F49A9E0E8BD1475C17B1EBD2C510CE684AAC165D93657ED1443E0CFBB3214DC |
| sha256 V2 corregida | F23B671E2AC6C20E0A62734124A279573A8153BC187082B2F5E1C75A078ABF71 |
4. Resumen ejecutivo¶
La V2 corregida conserva Hora en #base_raw y en Tabla 2. Por lo tanto,
no elimina campos necesarios para line_key_v4, source_row_hash_v1 ni el
DDL documental vigente.
El delta final queda limitado a flags de salida:
Tabla 1vuelve a quedar encendida por defectoTabla 5vuelve a quedar encendida por defectoTabla 6vuelve a quedar encendida por defectoTabla 2sigue encendida
La clasificacion final es MEDIO, porque no cambia el grano, filtros, joins,
calculos financieros, identidad, hash ni DDL, pero si cambia la cantidad de
resultsets que una ejecucion no parametrizada puede devolver.
5. Cambios de flags de salida¶
| Flag | V1 | V2 corregida | Impacto |
|---|---|---|---|
@ShowTabla1 |
0 |
1 |
agrega resultset por defecto |
@ShowTabla2 |
1 |
1 |
sin cambio |
@ShowTabla3 |
0 |
0 |
sin cambio |
@ShowTabla4 |
0 |
0 |
sin cambio |
@ShowTabla5 |
0 |
1 |
agrega resultset por defecto |
@ShowTabla6 |
0 |
1 |
agrega resultset por defecto |
Lectura:
Tabla 2sigue siendo la salida canonica candidata para sync- V2 puede devolver multiples resultsets si se ejecuta sin parametrizacion
- cualquier extractor futuro debera seleccionar explicitamente
Tabla 2o forzarTabla 1/5/6apagadas para sync
6. Columnas nuevas y eliminadas¶
Columnas nuevas en Tabla 2 V2 corregida respecto de V1:
- ninguna observada por diff textual
Columnas eliminadas de Tabla 2 V2 corregida respecto de V1:
- ninguna observada por diff textual
Confirmacion critica:
- V1 incluye
LTRIM(RTRIM(v.Hora)) AS Horaen#base_raw - V1 expone
b.Hora AS Horainmediatamente a la derecha deFechaenTabla 2 - V2 corregida conserva ambos puntos
7. Cambios de joins¶
Resultado: SIN CAMBIO TEXTUAL OBSERVADO.
Joins preservados:
ecommerce.dbo.V_VENTAS vecommerce.dbo.VCLIENTES cecommerce.dbo.PRODUCTS pecommerce.dbo.VPROVEEDORES pr
No se observaron cambios textuales en las condiciones de join.
8. Cambios de filtros¶
Resultado: SIN CAMBIO TEXTUAL OBSERVADO.
Filtros preservados:
- ventana por
@FechaDesde / @FechaHasta v.Estado <> 'ANULADO'- filtros opcionales por marca, proveedor y vendedor
Lectura:
- la clasificacion de fuente viva y drift por
Estadosigue vigente - no se corrige ni se modifica el comportamiento de anulaciones
9. Cambios de calculos¶
Resultado: SIN CAMBIO TEXTUAL OBSERVADO.
No se observaron cambios textuales en:
- reglas de signo
IVAIIBB- descuentos
CMVBruto_Item- creditos
NP - mermas
- ajustes de cuenta corriente
4010 BalanceCtaCteFinalContribucion_BalanceCtaCteFinal
10. Cambios especificos sobre Tabla 2¶
Tabla 2 sigue existiendo y @ShowTabla2 permanece en 1.
Cambios relevantes:
Horaqueda preservada- no se observaron columnas nuevas ni eliminadas en la salida
Tabla 2 - no se observaron cambios textuales de calculo en
Tabla 2 - V2 queda pendiente de inventario real para confirmar columnas, orden, conteos, unicidad y conciliacion
11. Impacto sobre line_key_v4¶
Impacto: BAJO / SIN CAMBIO TEXTUAL, con revalidacion pendiente.
La formula documental vigente de line_key_v4 requiere:
text
fecha,
hora_origen_sgc,
tipo_comp,
nro_comp,
tipo_doc_int,
nro_int_doc,
documento,
codigo_cliente,
sku,
vendedor,
line_sequence_v1
V2 corregida conserva Hora, por lo tanto no invalida textualmente
line_key_v4.
Regla:
- la aceptacion
AMARILLO ACEPTADOsigue siendo evidencia historica vigente - aun asi, V2 debe revalidarse antes de snapshot porque es una nueva candidata autoridad
12. Impacto sobre source_row_hash_v1¶
Impacto: BAJO / SIN CAMBIO TEXTUAL, con revalidacion pendiente.
source_row_hash_v1 vigente incluye hora_origen_sgc como campo canonico.
V2 corregida conserva Hora, por lo tanto no invalida textualmente el hash
vigente.
Regla:
- no recalcular ni comparar hashes contra V2 sin inventario/snapshot de V2
- mantener version explicita
source_row_hash_v1hasta que una revalidacion demuestre necesidad de cambiarla
13. Impacto sobre DDL¶
Impacto: BAJO / SIN CAMBIO TEXTUAL, con revalidacion pendiente.
El DDL documental vigente de source_003_sales_items depende de:
hora_origen_sgcline_key_v4line_sequence_v1source_row_hash_v1
Como V2 corregida conserva Hora, no hay invalidacion textual directa del
DDL.
No corresponde convertir el diseno ni el SQL piloto en migracion ejecutable hasta revalidar V2.
14. Impacto sobre estrategia de sync¶
Impacto: MEDIO.
La estrategia de fuente viva sigue vigente:
- carga historica inicial
- snapshot diario
- ventana movil inicial sugerida de
10dias upsertportenant_id + line_key- comparacion por
source_row_hash last_seen_atmissing_from_source- sin
hard delete - freeze date desde snapshot
V2 requiere cuidado adicional de extraccion porque puede devolver multiples
resultsets por Tabla 1, Tabla 2, Tabla 5 y Tabla 6.
Regla actualizada:
- V2 queda habilitada solo para preparar snapshot controlado de
Tabla 2 - no avanzar con carga
- no avanzar con sync
- ejecutar siempre
Tabla 2con flags explicitos - no depender de los defaults de V2
15. Clasificacion de impacto¶
Clasificacion final: MEDIO.
Criterio:
- no cambia
Tabla 2en columnas ni calculos observados por diff textual - no cambia campos de sync
- no cambia
line_key_v4 - no cambia
source_row_hash_v1 - no cambia
DDL - si cambia la superficie operativa de resultsets por flags
@ShowTabla
No se clasifica como BAJO porque una ejecucion no parametrizada de V2 puede
devolver mas resultsets y afectar extractores ingenuos.
No se clasifica como ALTO porque, con Hora preservada, no cambia grano,
filtros, calculos financieros, identidad, hash, conciliacion ni contrato
fisico documental.
16. Proximo paso obligatorio¶
Estado: CERRADO PARA SNAPSHOT CONTROLADO / ABIERTO PARA CARGA Y SYNC.
SOURCE-003 / Tabla 2 V2 fue revalidada en modo explicito contra SGC para
la fecha minima controlada 2026-06-08.
La revalidacion confirmo:
- columnas reales de
Tabla 2 V2 - presencia de
Hora - unicidad de identidad de linea
- vigencia de
line_key_v4 - vigencia de
source_row_hash_v1 - impacto sobre
DDL - seleccion de resultset cuando
Tabla 1/5/6tambien estan encendidas
Proximo paso:
preparar un snapshot controlado de Tabla 2 V2, con seleccion explicita de
resultset, sin usar 2026-06-08 como fecha estable y sin carga/sync.
17. Checklist¶
- V1 preservada:
SI - V2 registrada como archivo nuevo:
SI Horapreservada por aclaracion humana:SI- V1 vs V2 comparada:
SI - columnas nuevas revisadas:
SI - columnas eliminadas revisadas:
SI - joins revisados:
SI - filtros revisados:
SI - calculos revisados:
SI - cambios sobre
Tabla 2revisados:SI - impacto sobre
line_key_v4:BAJO / REVALIDADO EN TABLA 2 V2 EXPLICITA - impacto sobre
source_row_hash_v1:BAJO / SIN CAMBIO TEXTUAL - impacto sobre
DDL:BAJO / SIN CAMBIO TEXTUAL - impacto sobre sync:
MEDIO - impacto final:
MEDIO - snapshots ejecutados:
NO - cargas ejecutadas:
NO - sync ejecutada:
NO - runtime tocado:
NO PostgreSQLtocado:NO
18. Revalidacion real Tabla 2 V2 explicita - 2026-06-10¶
Safe point:
git status -sb:## main...origin/maingit rev-parse HEAD:4cdda7b7c576986c4bb8c537a2745ac32ed3328f
Alcance:
- conexion
SGC: solo lectura PostgreSQL: no tocado- runtime,
VPS,Docker: no tocados - snapshot, carga, sync, migracion: no ejecutados
- datos personales: no expuestos
Flags forzados:
| Flag | Valor |
|---|---|
@ShowTabla1 |
0 |
@ShowTabla2 |
1 |
@ShowTabla3 |
0 |
@ShowTabla4 |
0 |
@ShowTabla5 |
0 |
@ShowTabla6 |
0 |
Resultado:
| Metrica | Resultado |
|---|---|
| fecha | 2026-06-08 |
| resultsets con filas | 1 |
columnas Tabla 2 |
68 |
filas Tabla 2 |
1262 |
| importe total | 24866892.52 |
CMV total |
19078909.1264 |
| clientes unicos | 124 |
| vendedores unicos | 23 |
SKU unicos |
178 |
Hora presente |
SI, posicion 2 |
Hora vacia o nula |
0 |
formato Hora observado |
HHMMSS |
duplicados line_key_v3 |
0 |
duplicados line_key_v4 + line_sequence_v1 |
0 |
Tipos de comprobante:
| Tipo de comprobante | Filas |
|---|---|
FACTURA A |
124 |
FACTURA B |
16 |
GUIA DE DESPACHO |
951 |
N/C GUIA DE DESPACHO |
151 |
NOTA CREDITO A |
1 |
NOTA CREDITO B |
19 |
Conclusion:
- V2 queda revalidada como candidata actual de
Tabla 2para snapshot controlado - la extraccion futura de sync debe ejecutar
Tabla 2en modo explicito - no se debe depender de los flags por defecto de V2
- esta validacion no habilita carga, sync ni migracion