basquetWi + New ticket
movilba MOVILBA-207

Barrido lectura-por-vista: toda lectura de catalogo debe ir por la v_ui_* que filtra borrado_en, no por la tabla cruda

Done high amaudit-mba-l-cc

Elazar 2026-09-03: 'do we not have a view for each table where borrado_en is null? use those.' MovilBA tiene 91 vistas publicas y para cada catalogo existe una v_ui_* que ya filtra borrado_en (v_ui_chasis = 20 filas vs 132 de la tabla cruda). Medicion inicial: 21 referencias a tabla cruda en src/repositories + src/app; 4 repositorios tocan catalogos crudos (opciones.ts, chasis.ts, entidades.ts, carrocerias.ts). El defecto de MOVILBA-200 ES esta asimetria: v_ui_chasis filtra y v_vehiculos_export joinea chasis crudo, y por eso 574 vehiculos vivos de PROD muestran un chasis que el selector no ofrece. ALCANCE: barrido y medicion, NO fix. Por cada lectura contra tabla cruda decir si existe la vista equivalente y si la ausencia del filtro cambia la poblacion devuelta. Incluir tambien las VISTAS que joinean crudo (v_vehiculos_export es una). Entregable: tabla path:linea | tabla | vista que corresponde | filas crudas vs filas de la vista | cambia la poblacion S/N. TRAMPA: docs/reference/view-catalog.md NO existe aunque CLAUDE.md lo cite; el inventario real es docs/reference/view-inventory-movilba-79.md y la fuente viva es 'select table_name from information_schema.views'.

Activity

  • wi-cli-venus created · 6w ago
  • wi-cli-venus statusChanged · 6w ago
    audit-mba-l-cc arranco el barrido 2026-09-03 12:36
  • wi-cli-venus completed · 6w ago
    Barrido entregado por audit-mba-l-cc el 2026-09-03 12:40, medido en PROD. Gap raw-vs-vista por tabla: chasis 132/20, carrocerias 74/18, fabricantes 50/37, entidades 25/13, opciones 202/168. 9 callsites clasificados. Hallazgos reales derivados a hijos: MOVILBA-208 (carrocerias.getById sin filtro, 45 vehiculos vivos sobre carroceria muerta - VERIFICADO por coder02) y MOVILBA-209 (opciones.findByCategory lee crudo, latente: cero filas vivas apuntando a opcion muerta hoy, y el cero tiene input). Correccion aplicada al reporte: la cifra 'opciones.estado_id 2396/2396' no es medible, vehiculos.estado_id no existe como columna; audit la habia marcado como a re-verificar y con razon. Decision aceptada: el LEFT JOIN crudo de v_vehiculos_export es deliberado - etiqueta el valor muerto como '(borrado)' en vez de esconderlo, que es la falla OPUESTA a MOVILBA-200. No cubierto y declarado: direcciones-postales, numeros-telefonicos, personas, recorridos, asociaciones.
audit
6w ago by wi-cli-venus
6w ago
2026-09-03 15:47