El libro trae texto de observaciones dentro de columnas de expediente: la etiqueta de la ficha afirma algo falso en 474 filas
MITAD DE BASE DE DATOS: HECHA en DEV el 2026-09-05 04:0x. Migracion docs/migrations/2026-09-05-movilba-248-frase-fuera-de-expediente-DEV.sql, md5 2925037981fee9e042bbf57d04ef93c8, commit 02ffe61c, EXIT=0. Aplicada con el GO de Elazar ('keep existing observciones and clear Expte. Alta Expte. Baja whichever holds ... unless you object') y su regla corregida: la frase SIEMPRE termina en observaciones - entera si estaba vacia, intacta si ya la tenia, APENDADA en una linea nueva si habia otro texto. RESULTADO, verificado por db02 con sus propias consultas despues del COMMIT: 0 celdas tipadas conservan la frase (wide y legacy), 472 filas del espejo raw la conservan (el libro sobrevive intacto), respaldo.m248_wide 472 y respaldo.m248_legacy 416, 0 filas respaldadas sin la frase en observaciones, y 28 observaciones multilinea (18 wide + 10 legacy) donde antes habia CERO en las tres tablas. TSV de pre-estado /data-lezama/import-reports/2026-09-05-movilba-248-legacy-pre-state.tsv, 417 lineas, md5 e3fc863903b746e69f63ce5df397a406. ENSAYO: once de once aserciones demostradas disparando contra los bytes exactos que corrieron (db02, metodo ROLLBACK). NO ejercitado por nadie: el brazo legacy de G6 (inalcanzable, trg_soft_delete_vehiculo_historial convierte el DELETE), PROD, y el PDF. NO BORRAR respaldo.m248_wide NI respaldo.m248_legacy. Son el DOWN, y para las filas legacy 7912, 8372, 8373, 9656 y 9662 son la UNICA copia que va a existir: no tienen fila de libro que las reconstruya. LO QUE FALTA Y POR QUE ESTE ITEM SIGUE ABIERTO - RIESGO VIVO (audit 2026-09-05): CUALQUIER IMPORT RUTAP REVIERTE ESTO EN SILENCIO. El loader escribe las columnas tipadas desde las crudas, el espejo crudo conserva la frase en las 472 filas a proposito, y NINGUN gate vigila que la correccion desaparezca: los gates del libro leen v_vehiculos_export (que sale de vdc y esta migracion no lo toca, medido 0/0/0 con control positivo) y esta migracion no vuelve a correr. Modo de falla: alguien importa, la frase vuelve a 474 celdas de expediente, las 28 observaciones de dos lineas quedan huerfanas, y no se nota hasta que alguien mira una ficha. => ANTES DEL PROXIMO IMPORT: o entra el transform del loader (spec completa en docs/reference/movilba-248-loader-transform.md, con la expresion exacta y la unica discrepancia pendiente: la migracion escribe '' y el loader escribiria NULL - hay que unificar), o el import se frena. No es una suposicion, es una restriccion escrita. Tambien abierto: el PDF nunca fue renderizado por nadie (export es window.print(), no dispara request), asi que como se ven ahi las 28 filas de dos lineas es desconocido. En pantalla se ven en dos lineas por white-space: pre-line en globals.scss:2529-2530 - eso es lectura del CSS, PREDICCION, no observacion.
Activity
-
db02 sweep: 248's population is COMPLETE at one literal sentence. Swept both expediente columns against a broad document-shape predicate (not '^EX-'): six distinct values fall outside it, five carry a real instrument with a prose prefix ('Cesion a Nuevos Rumbos S.A. Resol-2026-186-GCABA-SECT', 'Baja por modelo - Res. SECT 139/2025', 'Baja de oficio - Res. SECT 65/2026') and are annotated references, NOT defects - they must not be swept into this item. Only 'Se modifican datos a pedido de la empresa' (474 cells) is pure prose.
-
Elazar 09-05 02:08 pointed at /data-lezama/import-reports/2026-09-03-whatsapp-eugenia.txt. Eugenia 09-01 16:23, the substantive line: 'Es que es modificacion.. si el sistema va a contemplar que se modifica por ejemplo el mdvr..(seria lo q es a pedido del cliente..)' - i.e. the phrase is the REASON for the modification, NOT an expediente. At 16:25 Elazar asks whether it can be taken out of the expediente number and put in a comment; at 16:36 she answers 'Sii / Entendido'. So the STAKEHOLDER CONFIRMS the cell is not an expediente. Measured before proposing any move (coder02, snapshot 10): 472 rows carry the phrase in an expediente column; 318 of them ALREADY have text in raw_observaciones and 300 of those already carry the same phrase; only 154 have observaciones empty. So moving it at import would duplicate on 300 and overwrite on 18. CONCLUSION: the chat authorizes the reading, not the write. The loader still imports verbatim; the fix is the LABEL/render decision on this item, and the only thing the move would add is 154 rows where the reason is not yet recorded elsewhere - which the ficha can show from the expediente cell itself once the label stops asserting 'Expediente'.
-
was: Medido por db02 y ratificado por audit 2026-09-05. En el libro, la frase 'Se modifican datos a pedido de la empresa' aparece DENTRO de columnas de expediente: 271 filas en expte_alta y 203 en expte_baja, sobre 269 dominios de 2406, denominador 5370 filas del snapshot 10. Ejemplo: AG358KX fila 1177 renderiza 'Expediente de baja: Se modifican datos a pedido de la empresa'. EL LOADER ESTA BIEN Y NO SE TOCA: el valor es verbatim del libro y una contradiccion del libro se importa y se REPORTA, nunca se filtra - cualquier filtro por forma seria editar el libro en silencio y despues seria indetectable. EL DEFECTO ES LA ETIQUETA, que es NUESTRA: 'Expediente de baja:' es una afirmacion de MovilBA sobre esa celda y en esas filas es falsa. Camino: va al tracker de Eugenia con la pregunta que lo desbloquea, una fila por (dominio, columna), fechas como texto dd/mm/aaaa, sin escribir en su columna de respuesta. PROHIBIDO agregar asterisco, nota o disclaimer en el campo renderizado (regla BLOCKING de copy). Si Elazar quiere suavizar la etiqueta antes del go-live es decision suya, no de un carril. No cubierto: PROD, y otras formas dentro de esas columnas mas alla de esta frase literal.
-
Mitad de base de datos aplicada en DEV. Queda el transform del loader, que es lo que hace que sobreviva un import.
-
DEV cerrado. Tres migraciones aplicadas y verificadas (248a mueve la frase del expediente a observaciones apendando en linea nueva donde ya habia texto; 248b lleva 892 celdas de '' a NULL, la grafia canonica de ausencia; 248c crea rutap.frase_modificacion_empresa/expediente_desde_libro/observaciones_desde_libro y las cablea al writer del snapshot ancho). El transform quedo EN EL CAMINO DE IMPORT como funcion, no como CASE copiado, asi que el proximo import no deshace la correccion. 254 extendio lo mismo a tools/rutap-sync-prod.sql. Verificado por db02-mba-l-cc (0 expedientes tipados con la frase, espejo raw intacto en 472, respaldo 472/416, 28 observaciones multilinea) y auditado por audit-mba-l-cc. NO EJERCITADO: el render de la ficha post-migracion (AG358KX, pedido a proxy y sin respuesta) y el PDF, que nadie renderizo nunca. Lo de PROD esta anotado en docs/migrations/pending-prod-changes.md y no se toca: forget prod hasta que dev este lo mejor posible.