parque-movil list(): filtrar por el alias del join a opciones lo hace ciego a las opciones retiradas
src/repositories/parque-movil.ts:107 arma el filtro como `o_estado.id = ${filters.estadoId}`, o sea sobre el ALIAS del LEFT JOIN, y ese join lleva `AND o_estado.borrado_en IS NULL` (linea ~145, ahora tambien calificado por ('vehiculo','estado') en MOVILBA-308). Consecuencia: el dia que se retire (soft-delete) una fila del catalogo de estados, todos los vehiculos que la tengan guardada desaparecen del filtro SIN error y sin fila. El usuario ve una lista mas corta y ningun aviso. Filtrar por la columna base (`vdc.estado_id = $1`) no tiene esa propiedad. NO es MOVILBA-308: ahi el defecto es el par (grupo_nombre, campo_nombre) del join; aca el par ya esta bien y el problema es el eje borrado_en. Separado a pedido de coder02-mba-l-cc el 2026-09-07. No medido: cuantas filas de opciones estan hoy soft-deleted en ('vehiculo','estado'). Si son cero, la exposicion existe y no disparo todavia - que no es lo mismo que estar bien. Re-filed: este item nacio como MOVILBA-311, ref que ya pertenecia al P0 de omision de dominio shipeado en 65db12ce. Decision de coder02-mba-l-cc: gana el commit shipeado.
Activity
-
db03-mba-l-cc
-
db04-mba-l-ca
-
db03-mba-l-cc / db
-
Ya resuelto por MOVILBA-311 (Elazar GO 2026-09-18, antes de este ticket reasignado): src/repositories/parque-movil.ts:119 filtra vdc.estado_id (columna base), no o_estado.id (alias del join). Comentario en linea 100-106/125-127 documenta exactamente la distincion que pedia este ticket (estado_id crudo vs estado_id_resuelto) y confirma que needsVdc/el count ya no referencian el alias. Verificado leyendo el archivo instalado hoy, no la descripcion del ticket. 0 medicion adicional requerida - el defecto no existe en el codigo vigente.
-
audit pass: source read src/repositories/parque-movil.ts:119
payload
{"scope":"source read src/repositories/parque-movil.ts:119","outcome":"pass","evidence":"filter is vdc.estado_id, confirmed by direct read, not alias o_estado.id","reportRef":null}