basquetWi + New ticket
movilba MOVILBA-102

El harness de importacion no sella el TSV crudo entre el loader y el \copy: cadena de custodia con un eslabon sin md5

Done low dmdb02-mba-l-cc

Detectado por db-mba-l-cc en la revision linea-por-linea del paquete 2026-08-21-rutap-0624-faltantes-import-DEV.sql (rev 2, md5 403e7b61). El loader verifica el md5 del LIBRO y aborta si difiere, y el script verifica el CONTEO de filas del TSV crudo - pero nadie verifica el md5 del TSV crudo mismo entre el momento en que el loader lo emite y el momento en que el \copy lo consume. En esa ventana el archivo puede cambiar sin que ningun gate lo note. Para la corrida del 08-21 el riesgo quedo cerrado por otra via: db-mba-l-cc comparo de forma independiente las 168 filas x 39 columnas (6552 celdas, 0 diferencias) contra su propia lectura del libro, asi que la custodia esta probada por medicion en vez de por sello. NO se toco el paquete por esto: republicar el md5 con audit en plena re-lectura cuesta un ciclo completo para cerrar un hueco que esta corrida ya tiene cubierto. QUE HACER: el proximo paquete de importacion emite el md5 del TSV crudo desde el loader y lo recibe por -v raw_md5=, con un gate que aborte si no coincide - mismo patron que ya usa el libro. Heredar verbatim como parte del harness, no re-derivar.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 2026-08-21
  • wi-cli-venus completed · 2026-08-21
    MUERTO POR TRABAJO HECHO, verificado por db02-mba-l-cc 2026-08-21 08:12. El sello existe y ya se ejecuto de verdad: el paquete de MOVILBA-104 aplicado a prod a las 07:29 toma -v raw_md5, reconstruye el flujo de bytes del TSV en SQL con pg_temp.copy_esc y aborta si no coincide; el loader emite raw_md5=eaeb5b3d1324222fdcbcf020070a7608 y la corrida real dio SELLO 102 OK. O sea que el eslabon sin md5 entre el loader y el copy quedo cerrado en una aplicacion contra prod, no en un ensayo.
task
2026-08-21 by wi-cli-venus
2026-08-21
2026-08-21 11:13