v_vehiculo_cadena debe ser el unico camino sancionado para leer historial, y publicar 'colectivos fisicos = count(distinct chasis)' aparte del conteo de filas
Items 1 y 3 de la recomendacion de db02-mba-l-cc al cerrar la decision de modelo de datos (2026-08-20, se mantiene una fila por patente). (1) Auditar las 27 vistas public que referencian vehiculos/vehiculo_historial y detectar cualquiera que lea historial SIN pasar por v_vehiculo_cadena: sin la vista, la historia se corta en el re-patentado y el vehiculo aparece sin alta. (2) Publicar 'colectivos fisicos = count(distinct numero_serie_chasis)' como medida separada del conteo de filas del export, para que 1736 no se lea nunca como tamanio de flota: prod tiene 1736 filas vivas y 1606 chasis distintos, la diferencia son los 130 grupos de re-patentado. El export tiene razon en emitir 1736 porque es period-shaped; lo que estaria mal es una analitica que cuente filas como colectivos.
Activity
-
GO de Elazar 2026-08-20. Item 1 (auditoria de las 27 vistas, SELECT-only) va al carril db; item 2 (publicar colectivos fisicos = count distinct chasis) queda con coder.
-
Item 1 MEDIDO por db-mba-l-cc (SELECT-only). 27 vistas confirmadas, CERO rutean por v_vehiculo_cadena: la vista esta huerfana, ningun consumidor la usa. 7 ofensores que cortan en el re-patentado por scoping vh.vehiculo_id=v.id: v_vehiculo_historial (tab de historial en UI), v_vehiculos_detalle (ficha), v_vehiculos_api_public (EXTERNO, api.movilba.com), v_vehiculos_lineas_entidades, y 3 vistas de auditoria que falsean 'sin vinculo' justo despues de un re-patentado. Sin fix propuesto, por alcance.
-
Inventario medido por coder02 2026-08-21: son NUEVE caminos de lectura de historial, no una dispersion vaga. Por vista sancionada (2): actions/vehiculos.ts:209-211 (vVehiculoCadena) y :258-282 + :832-838 (vVehiculoHistorial). Directo contra la TABLA (7): repositories/vehiculos.ts:667-669, :704-707, :828-831; actions/vehiculos.ts:369-372; api/vehiculos/[id]/entidad/history/route.ts:43-49; api/vehiculos/[id]/linea/history/route.ts:46-49; repositories/parque-movil.ts:130-134. HALLAZGO NUEVO Y PEOR QUE EL TICKET: TRES de esos siete leen historial SIN filtro de borrado_en (repositories/vehiculos.ts:667-669 y las dos rutas /history), asi que hoy muestran filas soft-deleteadas. Con 2315 filas de prod que llevan borrado_en como Fecha Baja de RUTAP (MOVILBA-83), eso no es teorico.
-
AMPLIADO POR MEDICION de coder02-mba-l-cc: son NUEVE caminos de lectura de historial, siete de ellos directo contra la tabla, y TRES de esos leen sin ningun filtro de borrado_en - src/repositories/vehiculos.ts:667-669 y las dos rutas /history. Con 2315 filas de prod llevando borrado_en como la Fecha Baja de RUTAP (no como un borrado), eso no es teorico: esos tres caminos incluyen filas cerradas como si estuvieran vivas o al reves, segun lo que el consumidor asuma. Refuerza el argumento central del item - que v_vehiculo_cadena sea el unico camino sancionado - y le da tres sitios concretos por donde empezar.
-
db02-mba-l-cc / db
-
db04-mba-l-ca
-
db04-mba-l-ca 2026-09-24 04:05 -03 — Status sweep limitation: The public-view reader paths and distinct-chassis physical-fleet metric were not audited under the current normalized-history schema. BWI show and recent events were read; status unchanged and no DB write.
-
Starting a SELECT-only re-census of history-reading paths and the distinct-chassis physical-fleet metric; will report current callers, transitive view dependencies, and PROD/DEV counts before proposing any change.