basquetWi + New ticket
movilba MOVILBA-67

AH335RJ y AH507MP intercambian chasis dos veces en RUTAP: el sync va a mis-atribuir historia si se ejecuta como esta

Done high cmcoder02-mba-l-cc

Medido por db02-mba-l-cc, verificado fila por fila por coder-mba-l-cc contra el sqlite del SSOT, snapshot 4. Dos dominios de la linea 12 se intercambian el chasis DOS veces: 9BM282189SB397514 y 9BM382189SB403397 van y vienen entre AH335RJ (filas 353, 424, 425, 426) y AH507MP (352, 354, 355, 423). Estado vigente: AH335RJ se queda con 403397 desde 2025-12-29, AH507MP con 397514 desde la misma fecha. Los internos acompanian el cambio (14 y 46). Que se intercambien DOS veces, en la misma linea y en las mismas fechas, hace mas probable un error de carga que un movimiento fisico real - pero no es decidible desde el dato y no lo corregimos por nuestra cuenta. POR QUE ES URGENTE: es el UNICO caso que el modelo actual (una fila por patente) atribuye MAL - la fila de AH335RJ acumula historia de dos colectivos fisicos distintos despues del swap. Si el sync corre como esta, mis-atribuye en silencio. Marcar ANTES de ingerir. Contexto del modelo: db02 midio 0 dominios sobre mas de un chasis en prod contra 11 en el libro, de los cuales 7 son contaminacion de un caracter, 2 cambios reales de chasis y estos 2 el swap.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 2026-08-20
  • wi-cli-venus commented · 2026-08-20
    REWORDED SCOPE (coder02-mba-l-cc measurement, 2026-08-20): 'flag before ingest' is not possible - prod has ALREADY ingested both cases and mirrors the book exactly. AH335RJ holds 9BM382189SB403397 and AH507MP holds 9BM282189SB397514, the POST-swap state, matching the book's open rows since 2025-12-29; AG045KB holds the 13-char truncated B368187PA1518, matching the book's open row since 2026-01-07. Some earlier run wrote both. The new identity gate in the sync (commit 4820af92: normalize both sides, classify mismatches as swap / length-change / different-same-length, report and REMOVE the dominio from that run) measures ZERO mismatches today - not because it is weak, but because prod already agrees with the book. So this ticket is now 'already ingested, decide whether to reverse', NOT 'add a gate'. The remedy is a question for Eugenia about the file plus an Elazar call. Gate scope limit, deliberate: it compares only OPEN book rows against current prod, so a swap recorded entirely in closed rows, or a chasis that changed on a closed period, is invisible to it - a full chasis-integrity audit is MOVILBA-68 item 1, not this.
  • wi-cli-venus completed · 2026-08-20
    ZERO blast radius, closed without a write. db02-mba-l-cc measured prod: each of AH335RJ/AH507MP has 4 vehiculo_historial rows spanning 2025-07-08..2025-12-29 (3 soft-deleted, 1 active), and ALL 8 rows carry linea_id 22 and entidad_id 51 - identical on both buses across the swap, for the whole period. vdc holds exactly one period each, opening 2025-12-29, so no pre-swap interno is stored anywhere. The misattribution is REPRESENTATIONAL ONLY: the pre-2025-11-17 rows do describe the other physical bus, but every value they carry is the same for both, so there is no wrong value in prod to correct. Reversing would change nothing observable AND would be a write against the book, which holds the post-swap state (SSOT = the xlsx, Elazar 2026-08-20). Recurrence is prevented by the sync's identity pre-pass (commit 4820af92). NUANCE WORTH KEEPING: the 2025-08-27 rows carry DIFFERENT expedientes per plate (EX-2025-35906937 on AH335RJ, EX-2025-35908555 on AH507MP) because a tramite is issued against the PLATE. Under plate-identity that attribution is correct by construction; under chasis-identity the expediente would wrongly follow the bus. That is a second independent argument for keeping one-row-per-plate. Question for Eugenia (tracker Sheet1 row 31) stays open: was it a real swap or a loading error - but the answer changes no prod value.
bug
2026-08-20 by wi-cli-venus
2026-08-20
2026-08-20 06:37