Caracterizar las ~1350 filas donde chasis_modelo del catalogo difiere del texto del libro: cuantas son grafia y cuantas son OTRO modelo
Sale del censo de MOVILBA-574 (db03, 24/09) y del limite que escribio audit en el encabezado de la 498: al pasar v_export_libro a resolver por catalogo, chasis_modelo sale con la etiqueta del catalogo en 1349 filas en DEV y 1351 en PROD. audit marca que eso NO es una diferencia de grafia como las binarias SI/ALTA/MODIF, sino una diferencia de MAPEO, y que por eso un fold por regex no la puede normalizar - el fold es lossy a traves de la puntuacion, asi que un diff limpio despues de normalizar NO prueba fidelidad byte a byte. Por que importa y por que no se puede dejar como nota: las 4 filas MERCEDES BENZ -> AGRALE se trataron como el hallazgo, y son 4. Estas son ~1350 y nadie las separo todavia en las dos clases que tienen consecuencias distintas: (a) el catalogo dice el MISMO modelo con otra grafia o puntuacion, que es normalizacion y es lo que la regla 2 del 24/09 pide, y (b) el catalogo dice OTRO modelo, que es la misma forma que las 4 de AGRALE y significa que el export publica un modelo que el libro no dice. Hasta que ese corte exista, el numero 1350 no es un conteo de defectos ni un conteo de normalizaciones, y no se puede afirmar ninguna de las dos cosas. Lo que hay que devolver, las DOS bases contadas por separado: el corte (a)/(b) con su denominador, y para (b) la lista con dominio, el texto del libro, la etiqueta del catalogo y la terna del resolver al que apunta cada una. Direccionar SIEMPRE por la terna (fabricante_normalizado, modelo_normalizado, unidad_propulsora_id) y nunca por id de catalogo, porque 8 ids del catalogo de chasis significan un chasis distinto en cada base. Si (b) sale grande, no se decide por carril: el orden de la regla 2 es catalogo, research online del agente, y recien despues preguntarle a Eugenia en el tracker.
Sub-tickets — 1/1 done
Activity
-
db03-mba-l-cc 2026-09-24 11:00 ART: split of chasis_modelo book text vs catalog label (SELECT-only; query /data-lezama/movilba/evidencia/MOVILBA-574/597-chasis-modelo-split.sql, outputs 597-*.out). Population: current-snapshot import rows with borrado_en NULL joined to chasis+fabricantes. NORM = upper(regexp_replace(x,'[^[:alnum:]]','','g')). PROD (snapshot 6): 5538 rows, NORM-equal 4187, DIFFERENT 1351. DEV (snapshot 18): 5528 rows, NORM-equal 4179, DIFFERENT 1349. Mechanical sub-cut of the DIFFERENT rows, PROD/DEV: P (catalog label is a prefix of the book text, book adds text) 299/299; Q (book text is a prefix of the catalog label, catalog adds text) 94/93; R (neither is a prefix) 958/957, in 49 distinct book->catalog pairs in each base, list in the .out. 4 of the rows also differ in manufacturer (the AGRALE rows already reported). LIMIT: the split is a string relationship, not a judgment of model identity, so it does NOT yield (a) same model vs (b) different model. Visible in R: shop/prefix noise that looks like the same model (767-O 500 U -> O 500 U, 007-ZK6128HG -> ZK6128HG, 250 R 4x2 -> B250R 4x2, OH 1718 L/62 -> OH 1718 L-SB/62) and pairs where the catalog designation is a different string family (BMO 368 1621 L55 -> OH 1621/55; MT 17.0 LE 6000 (up 157) -> MT 17.0 LE GNV; K280 B4x2 (GAS) -> K 280 B4x2 (GNC)). Whether each pair is one model is a research question (ruling 2 step 2), not asserted here. Largest pairs: OH 1621 L-SB/55 -> OH 1621/55 513 rows/230 dominios; OH 1718 L/62 -> OH 1718 L-SB/62 190; BMO 368 1721 L62 CA -> OH 1721 L-SB/62 26; MT 17.0 GNV CA 6200 -> MT 17.0 LE GNV 24. Not measured: whether every R pair's resolver row is estado aprobado, and per-dominio lists for P/Q (top-25 pairs only). Not exercised: no datasheet research done.
-
db03-mba-l-cc 2026-09-24 11:06 ART: fold tool written: tools/export-libro-fold.py (untracked). The fold is literal code: NBSP->space, btrim+upper, Cyrillic homoglyphs->Latin, (GAS|GNC|CNG)->GNC, drop [^A-Z0-9]; every pair is reported as IDENTICAL / FOLDED (with the steps that fired) / DIFFERENT (with P/Q/R). Modes: pairs, collision, selftest. Collision criterion = tools/chasis-clave-colision.sql: no folded key may join two chasis_id under the same unidad_propulsora_id. Control SEEN TO REJECT: selftest re-runs the check with the fuel line deleting tokens and it rejects key AGRALEMT170 up=157 chasis {123,143} in DEV and {123,135} in PROD, while the real fold gives 0 collisions in both bases (exit 0). Result on chasis_modelo pairs (book raw vs catalog label, snapshot vigente): DEV 5528 rows = IDENTICAL 4156, FOLDED 32, DIFFERENT 1340 (P 299, Q 93, R 948); PROD 5538 = IDENTICAL 4164, FOLDED 32, DIFFERENT 1342 (P 299, Q 94, R 949). vs the SQL cut: FOLDED is 9 rows higher than NORM-equal because the GAS->GNC step folds pairs like K280 B4x2 (GAS) into (GNC) (same up 157); those are reported with folded_steps=gas_tokens_to_GNC so the fold is visible, not silent. Per coder03: MT 17.0 LE 6000 (up 157) -> MT 17.0 LE GNV is NOT folded and stays DIFFERENT. Not exercised: only the chasis_modelo column was fed to pairs; resolver rows used were estado=aprobado only; the tool has no test file under tools/tests. Inputs: /data-lezama/movilba/evidencia/MOVILBA-574/fold-pairs-*.csv, fold-resolver-*.csv.
-
db03-mba-l-cc 2026-09-24 11:08 ART: fold tool fixed per coder03 11:07. (1) gas token now word-anchored: \b(GAS|GNC|CNG)\b (BMO 368 GASOLERO vs GNCOLERO now DIFFERENT). (2) new step accents_to_base (NFKD, strip combining marks) before the Cyrillic map (diesel vs diésel now FOLDED, step named). selftest now also asserts 5 known cases (GASOLERO stays DIFFERENT, diesel/diésel FOLDED via accents_to_base, GAS/GNC FOLDED via gas_tokens_to_GNC, MT 17.0 LE 6000 vs LE GNV stays DIFFERENT, Cyrillic МТ vs MT FOLDED) and still requires BAD_FOLD to be rejected (AGRALEMT170 up=157); all pass, exit 0. Counts on the current snapshot are UNCHANGED (PROD 4164/32/1342, DEV 4156/32/1340): no accent pair and no in-word GAS pair exists in the chasis_modelo pairs of either snapshot, so the two defects were real but did not move today's numbers; R 949 PROD / 948 DEV is still an upper bound on different-model pairs. Ready for audit: tools/export-libro-fold.py (untracked). Not exercised: other columns; no file under tools/tests.
-
audit pass: tools/export-libro-fold.py (145 lines, untracked): selftest run by me on PROD and DEV resolver CSVs, exit 0 both; 3 extra classify probes. Not run: pairs/collision modes on real files, DB, any other column.
payload
{"scope":"tools/export-libro-fold.py (145 lines, untracked): selftest run by me on PROD and DEV resolver CSVs, exit 0 both; 3 extra classify probes. Not run: pairs/collision modes on real files, DB, any other column.","outcome":"pass","evidence":"audit-mba-l-cc 2026-09-24. Seen to reject: BAD_FOLD collides AGRALEMT170 up=157 chasis {123,135} PROD / {123,143} DEV, real fold 0. 5 cases ok. Probes: NBSP folds via nbsp_to_space, MT-17 vs MT 17 FOLDED, OH 1621 L-SB/55 vs OH 1621/55 DIFFERENT R. Gaps: no test under tools/tests so pnpm test:tools never runs it; the negative control only deletes fuel tokens; resolver rows are estado=aprobado only.","reportRef":null} -
db04-mba-l-ca
-
researcher-mba-l-cc
-
coder03-mba-l-cc 2026-10-01. Artefacto producido: researcher no esta bloqueado, el insumo sale de PROD y ya esta escrito. Y la poblacion no es ~1350 filas, son 72 PARES distintos. Archivos en /data-lezama/movilba/handoff/: - 2026-10-01-movilba-597-libro-vs-catalogo-chasis-PROD.tsv - 2420 filas, una por dominio del periodo vigente: dominio, vin, libro_marca_texto (raw_chasis_marca), libro_modelo_texto (raw_chasis_modelo), catalogo_fabricante, catalogo_modelo, chasis_id, difiere_modelo, rutap_fila_excel, rutap_snapshot_id. - 2026-10-01-movilba-597-pares-distintos-PROD.tsv - 72 pares libro/catalogo con su conteo de vehiculos, chasis_id y la bandera solo_grafia. Medido en PROD, 2419 vehiculos del periodo vigente: 747 difieren del catalogo, 0 con texto del libro vacio, 0 sin fila de catalogo, y solo 2 son diferencia pura de grafia o espacios por upper(btrim()). O sea que el 597 NO es mayormente ortografia: son modelos distintos. HALLAZGO que cambia el alcance: el MISMO texto del libro resuelve a tres modelos de catalogo con PROPULSION distinta. 'MT 17.0 LE' -> 'MT 17.0 LE' (432 vehiculos), 'MT 17.0 LEe (100% electrico)' (10) y 'MT 17.0 LE GNV' (7). Tambien 'MT 17' -> 'MT 17' (2) y 'MT 17.0 LE GNV' (1), y 'MT 17.0 LE 6000' -> 'MT 17.0 LE' (24) y 'MT 17.0 LE GNV' (1). Son 19 vehiculos cuyo catalogo afirma una propulsion que el texto del libro no dice, y el texto del libro no alcanza para decidir cual corresponde: eso se resuelve por VIN contra la hoja del fabricante, no por grafia. Un par mas que no es ortografia aunque lo parezca: 'K280 B4x2 (GAS)' tiene la B en CIRILICO (U+0412) en una fila, asi que un match por texto la pierde en silencio. SIN EJERCITAR: no corri el mismo censo en DEV, no toque ninguna fila, y no decidi ningun mapeo.
-
researcher-mba-l-cc
-
MOVILBA-597: 72 distinct chasis_modelo pairs characterized. CRITICAL FINDING: 19 vehicles assigned wrong chasis due to ambiguous book text. 'MT 17.0 LE' (no propulsion specified) resolves to THREE different chasis with different fuels: - Chasis 127: MT 17.0 LE (diesel, GO) - Chasis 123: MT 17.0 LE GNV (gas) - Chasis 129: MT 17.0 LEe (100% electric) Resolution: Check book Unidad_Propulsora field (GO=diesel, GNC=gas, ELECTRICO=electric) for each vehicle to assign correct chasis. Also found: 600+ formatting/truncation variations (same chasis), 50+ BMO/OH vendor aliases (same model). Evidence: /data-lezama/movilba/evidencia/MOVILBA-597/2026-10-05-findings.md Source data: /data-lezama/movilba/import-reports/todo-catalogo-cnrt/chasis-modelo.tsv rows 2-29
-
audit review of 2026-10-05-findings.md: CNRT TSV citations spot-checked and match (BMO/OH, O500U, K280 rows); consistent with chasis-equivalencias.md on 115/124/157 propulsion ids. Gap: vehicle-count summary (~688) covers under half the ticket's ~1349/1351-row denominator with no stated coverage fraction. Flagged to researcher, not closeable as-is.
-
MOVILBA-597: 72 distinct chasis_modelo pairs analyzed — 747 vehicles (30.9% of 2420 fleet) with discrepancies. Coverage breakdown: - Formatting/truncation (spacing, suffix drops): 426 vehicles (57%) - Vendor aliases (BMO → OH, BOT prefixes): 38 vehicles (5%) - Emissions standards (Euro V labels): 75 vehicles (10%) - Propulsion variants (MT 17.0 LE GNV/LEe, K280 gas/diesel): 21 vehicles (3%) - Typos/encoding (typos, leading chars): 4 vehicles (1%) - Other/edge cases: 183 vehicles (24%) Critical finding: 19 vehicles assigned wrong chasis due to ambiguous propulsion text ('MT 17.0 LE' maps to 3 chasis: 127 diesel, 123 gas, 129 electric). Resolve via book Unidad_Propulsora column. Evidence: /data-lezama/movilba/evidencia/MOVILBA-597/2026-10-05-findings.md and CNRT catalog (chasis-modelo.tsv, unidad-propulsora.tsv)
-
Breakdown sums correctly: 426+75+38+21+4+183=747=30.9% of 2420. INCONSISTENCY: findings.md Summary section states Propulsion variants = 19 vehicles/3 pairs, but the bwi note and critical finding both use 21. Confirm whether 21 is the full propulsion-variant category and 19 is the ambiguous-assignment subset, or fix the findings.md figure.
-
Inconsistency resolved: findings.md now states 21 propulsion variants (7 pairs) = 19 ambiguous MT (needs Unidad_Propulsora resolution) + 2 K280/other fuel. Verified 19+2=21. Breakdown accepted, PASS.
-
Per-row propulsion assignments for 19 ambiguous vehicles requiring Unidad_Propulsora resolution. AMBIGUOUS TEXT: libro shows 'MT 17.0 LE' (no propulsion suffix); catalogo shows different propulsion variants. ELECTRIC VEHICLES (assigned to chasis 129 - MT 17.0 LEe): dominio | current_chasis | proposed_chasis | catalogo_variant | resolution AG708VN | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AH764WQ | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AH791QY | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AH791QZ | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AH791SX | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AH791SY | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AI032JL | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AI032KQ | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AI032MV | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO AI065QD | 129 | 129 | MT 17.0 LEe (100% electric) | CORRECT IF: book Unidad_Propulsora = ELECTRICO (10 vehicles total) GAS VEHICLES (assigned to chasis 123 - MT 17.0 LE GNV): dominio | current_chasis | proposed_chasis | catalogo_variant | resolution AD761FH | 123 | 123 | MT 17.0 LE GNV | CORRECT IF: book Unidad_Propulsora = GNC AH735FT | 123 | 123 | MT 17.0 LE GNV | CORRECT IF: book Unidad_Propulsora = GNC AH872TA | 123 | 123 | MT 17.0 LE GNV | CORRECT IF: book Unidad_Propulsora = GNC AH872TN | 123 | 123 | MT 17.0 LE GNV | CORRECT IF: book Unidad_Propulsora = GNC AH924PJ | 123 | 123 | MT 17.0 LE GNV | CORRECT IF: book Unidad_Propulsora = GNC AI019ER | 123 | 123 | MT 17.0 LE GNV | CORRECT IF: book Unidad_Propulsora = GNC AI563JO | 123 | 123 | MT 17.0 LE GNV | CORRECT IF: book Unidad_Propulsora = GNC (7 vehicles total) ACTION: These 17 vehicles are CORRECT IF the book's Unidad_Propulsora matches the catalogo propulsion (ELECTRICO for chasis 129, GNC for chasis 123). Mark remaining 2 ambiguous cases EUGENIA.
-
SUPERSEDES 2026-10-05-findings.md and the 10-05T16:50 note: that one bucketed by cause-type, not the ticket's (a)/(b) model-identity test, and mislabeled one pair. Full rebuild from the 72-pair TSV: /data-lezama/movilba/evidencia/MOVILBA-597/2026-10-06-findings-v2-PROD.md CRITICAL: OH 1718 L/62 -> OH 1718 L-SB/62 (chasis 114), 111+1=112 vehicles, is a REAL MAPPING DEFECT, not formatting. MOVILBA-365/710 this week established these as distinct models (141=L/62, 114=L-SB/62, db04-shipped). These 111 book rows literally say L/62 and are still resolved to 114=L-SB/62. Also (b): MT 17.0 V6200 -> MT17(135) should be MT17.0 LE(127), 7 veh -- same LE-dropped pattern as MOVILBA-710's MT15.0 V5500->MT15(134)/should-be-130, 6 veh in this PROD census (710's FB444EP is the separate DEV test domain). Total (b) defects: 125 of 747 (16.7%), 4 pairs, all same pattern: a wheelbase/version suffix with LE or L-SB dropped lands on the WRONG less-specific live row. (a) pending terna confirm: 21 vehicles/7 pairs, ambiguous MT17.0 LE text resolved by propulsion -- mechanically correct IF book's own Unidad_Propulsora matches (ELECTRICO/GNC); not yet confirmed per-vehicle. (a) cosmetic confirmed: 601 vehicles/61 pairs (Euro V, wheelbase/engine suffix with LE/L-SB intact, BMO-OH alias within already-GO'd families, GAS=GNC+homoglyph+spacing, O500U prefix junk). One lower-confidence row flagged: 250 R 4x2->B250R 4x2 (10 veh), not independently verified. Arithmetic: 125+21+601=747, 4+7+61=72, matches source TSV. NOT COVERED: DEV census (not done per coder03's 10-01 note), the ticket's own ~1349/1351 export-row denominator (different population than this 747/2419 vigente-vehicle count), 250R/B250R verification. Requesting DEV census + terna fields from db04 next.
-
2026-10-06 db04 SELECT-only completion (no writes). Source in BOTH bases: 2026-09-30-1305-parque-rutap.xlsx, snapshot PROD 8 / DEV 20, identical md5 8512833be84d1568743d61b601179c6b. DEV current import-period census: 2404 distinct dominios, 741 literal raw_chasis_modelo-vs-catalog-label differences, 72 distinct (book,catalog,id) pairs, 0 current rows lacking a chasis catalog row. Evidence: /data-lezama/movilba/evidencia/MOVILBA-597/2026-10-06-libro-vs-catalogo-chasis-DEV.tsv and 2026-10-06-pares-distintos-DEV.tsv (sha256 5288ed07 and d7747f40). Four PROD-confirmed (b) pairs recur in DEV: OH1718 L/62->L-SB/62 111 + BMO variant 1, MT17.0 V6200->bare MT17 7 (DEV id143), MT15.0 V 5500->bare MT15 5 (DEV id140): 124 vehicles total. PROD book propulsion on all 21 pending MT17 cases matches the resolved variant: 11 GNC->GNV, 1 ELECTRICO + 9 ELECTRICO-CABA->LEe (projector maps both electric values); per-vehicle raw source evidence 2026-10-06-propulsion-pendiente-PROD.tsv (sha256 85ead07d). This population has SIX distinct (book,catalog) pairs, not seven as v2 prose says; hence a/b arithmetic must be corrected by researcher. Full current chasis catalogs both bases in 2026-10-06-chasis-catalogo-{PROD,DEV}.tsv (32 rows each; id141=OH1718 L/62 active in both). IDs must be interpreted per-base, not copied from PROD.
-
Corrections from db04's DEV+propulsion pull, applied to 2026-10-06-findings-v2-PROD.md: 1. The 21 'pending terna' vehicles are now CONFIRMED (a), not pending: per-vehicle book Unidad_Propulsora (11 GNC, 1 ELECTRICO, 9 ELECTRICO-CABA) matches the resolved chasis exactly (123/129). Mechanically correct, no defect. Also corrected from '7 pairs' to 6 (db04 caught my miscount) -- cosmetic bucket is 62 pairs, not 61 (totals unaffected: 125+21+601=747 veh, 4+6+62=72 pairs). 2. DEV census done (db04): same book both bases (md5 8512833b), 2404 domains, 741 differences, same 72 pairs, no missing catalog rows. All 4 (b) defects recur in DEV with DIFFERENT chasis_ids (OH1718->114 same id both bases; MT17 V6200->143 in DEV vs 135 in PROD; MT15 V5500->140 in DEV(5veh) vs 134 in PROD(6veh)) -- confirms the ticket's own warning, never address by id across bases. DEV total (b) = 124 vehicles. FINAL STATE: (b) genuine defects 125 PROD/124 DEV vehicles, 4 pairs, all same pattern (LE/L-SB dropped -> wrong less-specific live row). (a) 622 PROD/617 DEV vehicles, 68 pairs, cosmetic/alias/confirmed-by-propulsion. No DB write made. Remaining open: ~1349/1351 export-row denominator not reconciled (different population, counts book rows not vigente-vehicles), 250R/B250R pair not independently verified. Both low-priority, flagging not blocking.
-
RETRACTION per db03's review (2026-10-06T14:14): OH 1718 L/62->114 (112 veh) and MT17.0 V6200->135 (7 veh) are NOT defects -- dropped from (b). OH1718 L/62->114 is MOVILBA-398o, a deliberate 2026-09-08 family-equivalence decision (GO coder02, agreement coder04, evidence db03: 2012 MB brochure combining 'L-SB' title with 'OH1718/62' dimension column), covering 190 book rows with its own stated E3/E5 limit written into the migration. My MOVILBA-365/710 VIN evidence this week was for AA247VF, a separately-imported row (fecha_alta 2026-08-31) NOT part of 398o's snapshot-12 population -- correctly handled via new id 141, never touching or contradicting the 398o terna. Citing it against those 190 rows was my error. MT17.0 V6200->135 is a 2026-09-08 blackboard decision retaining the generic family deliberately, not an untouched case analogous to 710. CORRECTED FINAL STATE: (b) genuine defects = 6 PROD / 5 DEV vehicles, 1 pair (MT15.0 V5500->MT15, db03 handling backfill). (a) = 741 PROD / 736 DEV vehicles, 71 pairs. Both reopening candidates need fresh manufacturer/VIN evidence against their standing GOs; none produced, so both stay closed as-is. Doc updated: 2026-10-06-findings-v2-PROD.md.
-
Final characterization: 741 PROD / 736 DEV vehicles are (a) same model/grafia (Euro V labels, wheelbase/engine suffix drops with LE/L-SB intact, BMO-OH vendor alias, GAS=GNC+homoglyph+spacing, 21 vehicles confirmed by per-vehicle book propulsion). 6 PROD / 5 DEV are (b) genuine mapping defects: MT 15.0 V 5500 -> bare MT 15, should be MT 15.0 LE -- fixed and closed as MOVILBA-718. Two other candidate defects (OH 1718 L/62->114, MT17.0 V6200->135) were retracted after db03's review: both are standing GO'd decisions (MOVILBA-398o family-equivalence, 2026-09-08 blackboard) with their own stated limits, not oversights -- reopening either needs fresh manufacturer/VIN evidence against those GOs, none produced. Evidence: /data-lezama/movilba/evidencia/MOVILBA-597/2026-10-06-findings-v2-PROD.md and the DEV/PROD TSVs cited there.