NO ES DEFECTO: la categoria era constante M3 y se dropeo a proposito en MOBAAPI-661; solo queda corregir el doc que todavia la lista
Reportado el 2026-09-08 de forma independiente por coder-mba-l-ca y por proxy durante el ensayo de MOVILBA-359, sobre DEV. HECHO. El vehiculo importado AE922FX lleva en su historial la categoria de carroceria M3. La pantalla de ALTA de colectivo no tiene input para ese campo, y el alta PAU (PB111AA) quedo sin el. O sea: el dato existe en el libro y en las filas importadas, pero un vehiculo cargado A MANO por la app no puede recibirlo nunca. POR QUE ES UN DEFECTO Y NO UNA FALTA DE FEATURE. Lo que se esta midiendo en este proyecto es si MovilBA puede ser custodio fiel del libro. Un campo que el libro trae y la app no puede capturar produce dos poblaciones distintas de vehiculos - importados completos, cargados a mano incompletos - y la diferencia no la ve nadie hasta que alguien compara. Es la misma clase que MOVILBA-317, donde la pantalla de edicion no mandaba campos que existian. LO QUE NO ESTA MEDIDO, y hay que medirlo antes de proponer arreglo: - Si la columna existe en la base y como se llama; si sale de opciones o de una tabla dedicada. OJO: el subtipo de vehiculo ya resulto ser la excepcion a la regla de opciones y tiene un senuelo identico en opciones sin un solo vehiculo apuntando, asi que aca tampoco se asume - se mide el FK real. - Si la ficha lo MUESTRA para los importados que lo tienen (proxy vio M3 en el historial de AE922FX; falta saber si la ficha lo expone). - Si la pantalla de EDICION lo tiene, aunque el alta no. - Cuantas filas de DEV lo traen con valor y cuantas en NULL, con sus pares de valores. RECIEN DESPUES se decide si el arreglo es agregar el input al alta, o si el campo se deriva de la carroceria elegida y entonces el defecto es otro. DEV solamente. Nada de PROD sin GO expreso.
Activity
-
Lead assigned discovery after MOVILBA-369 DEV fix. Inspecting actual storage/FK, UI surfaces and DEV value/null counts before proposing implementation.
-
Code discovery on 5bbeca78: alta and edit have only carroceriaId, no category state/input; ficha component exposes carroceriaModelo only. History uses bodyCategory -> carroceria_categoria text. columnasDesdeFicha in src/repositories/vehiculos.ts explicitly leaves category NULL because no structured source. db03 live DEV confirms history categoria/raw TEXT with no FK, no category column on public.vehiculos/public.carrocerias, carroceria_id FK targets public.carrocerias. AE922FX 28 imported rows category/raw M3 with carroceria_id NULL; PB111AA 2 app rows category/raw NULL with carroceria_id 9/14. No raw ID-to-label comparison: category is literal text. Global counts pending; no UI patch yet.
-
ESQUEMA VIVO CONFIRMADO por db03-mba-l-ca, y la forma del defecto queda nitida. carroceria_categoria y raw_carroceria_categoria son TEXT en la historia, sin FK. No existe columna de categoria en public.vehiculos ni en public.carrocerias. carroceria_id apunta a carrocerias y no tiene nada que ver con la categoria. EL PAR QUE LO DICE TODO, y son complementarios exactos: AE922FX, 28 filas de historia IMPORTADAS: categoria y raw ambos M3, carroceria_id NULL. PB111AA, 2 filas de la APP: categoria y raw ambos NULL, carroceria_id 9 y 14. El import llena el TEXTO de la categoria y deja el FK vacio. La app llena el FK y deja la categoria vacia. NINGUNO de los dos caminos llena los dos campos, y las dos poblaciones son disjuntas justo en esas dos columnas. Emparenta directamente con MOVILBA-366, que es la otra mitad de la misma costura. ENTONCES NO ES un defecto de etiqueta de opciones, ni una derivacion que este rota: no hay de donde derivarla. Hace falta una fuente estructurada nueva mas el cableado en alta, edicion, ficha y el escritor de historia. Eso es cambio de esquema: pide diseno, ensayo y GO, y no es de esta noche. FALTA, antes de recomendar nada: los conteos globales - cuantos valores distintos trae carroceria_categoria en las 21514 filas, con sus pares de valores. Si son un punado (M3 y unos pocos mas) pide catalogo y FK por la regla permanente; y ojo que el subtipo ya fue la excepcion a esa regla, asi que se verifica, no se asume. NO EJERCITADO: los conteos globales, PROD, y el camino de carroceria adentro del importer.
-
El import llena la categoria de carroceria como TEXTO sin FK y la app llena el FK sin categoria: ningun camino completa los dos campos
-
Discovery COMPLETE, implementation deferred by lead. LiveDEV db03: import category21514nonnull/0null (only M3), app0nonnull/30null. AE922FX28import rows typed/rawM3; PB111AA2app rows bothNULL. No category FK/current business column. Repository src/repositories/vehiculos.ts:102 deliberately omits carroceria_categoria (sin fuente estructurada). bodyCategory has no catalog descriptor: periodHistoryValues reads category TEXT then raw fallback; not ID resolution. categoria_regulatoria_id deliberately dropped MOBAAPI-661, olddoc banner/table corrected. Lead requires separate schema design/rehearsal/GO; no schema/UI change tonight. Discovery report incorporated into docs/reference/vehiculo-data-model.md; doc-only commit pending362 push.
-
SE CIERRA: NO ES UN DEFECTO. Elazar lo marco y el doc lo dice desde el 2026-06-30. docs/reference/vehiculo-data-model.md:23-27: categoria_regulatoria_id fue DROPEADA a proposito en MOBAAPI-661 porque era CONSTANTE "M3 - Colectivos" para TODO colectivo - CERO informacion. Se saco de las 4 superficies, de sus vistas (v_vehiculos_list/detalle/export reconstruidas), del endpoint de dropdown regulatoryCategories y de fn_archive_vehiculos (18->17 columnas). La columna ya no existe en vehiculos; solo la conservan vehiculos_archive y la tabla cruda de import, las dos no-vivas. Ademas se soft-deletearon 10 filas de opciones de categoria_regulatoria en esa misma limpieza. O SEA QUE EL M3 QUE VIO EL OPERADOR EN AE922FX ES EXACTAMENTE LA CONSTANTE QUE SE RETIRO. No falta un campo: se saco un campo que no distinguia nada. El alta no puede capturarla porque no hay nada que capturar - todos los colectivos son M3. MI ERROR, y es el mismo de tres veces hoy: mida una ausencia y la llame defecto sin preguntar si alguien la habia sacado a proposito. Paso con el analisis de cronologia (retirado el 09-02), con las 94 migraciones (medidas contra la rama equivocada) y ahora con esto. La pregunta que faltaba es siempre la misma: ANTES DE LLAMAR HUECO A UNA AUSENCIA, BUSCAR LA DECISION QUE LA CREO. El doc la tenia escrita, con numero de ticket y fecha. Lo unico que queda vivo de este item es documental y ya lo esta haciendo coder04: el banner de alcance y la tabla vieja del mismo doc todavia listan la columna como si existiera, y contradicen a su propia cabecera. Eso se corrige y nada mas. NO se agrega columna, NO se agrega catalogo, NO se agrega input. Re-poner una columna constante seria exactamente lo que MOBAAPI-661 saco.
-
NO ES DEFECTO: la categoria era constante M3 y se dropeo a proposito en MOBAAPI-661; solo queda corregir el doc que todavia la lista
-
completed
-
Discovery report and stale schema reference corrected in doc-only commit8a16d2e3, pushed origin/dev after362 (2c1675f6), no deploy/version bump. Exact path docs/reference/vehiculo-data-model.md; diff-check passed. LiveDEV only; separate schema design/rehearsal/GO required. Audit requested; stopping per lead.
-
CORRECCION A MI PROPIO FUNDAMENTO, medida por db02-mba-l-cc, DEV, SELECT only. El cierre queda igual pero mi razonamiento tenia DOS premisas falsas y hay que dejarlas anotadas o alguien lo reabre. 1. "No hay columna ni FK de carroceria en vehiculos ni en carrocerias" ES FALSO como lo escribi. public.carrocerias existe: 74 filas, 18 vivas, con carroceria_modelo / fabricante_id / carroceria_piso_id / carroceria_aire_acondicionado_id. public.vehiculos.carroceria_id ES un FK a esa tabla y esta POBLADO en 2411 de 2412 vehiculos vivos. La UI ya la consume: v_ui_carrocerias detras del desplegable en src/app/api/dropdowns/route.ts:165. Yo mezcle la CATEGORIA con la CARROCERIA y describi como inexistente un catalogo que esta vivo y en uso. 2. LA CATEGORIA NO TIENE VARIANZA: rutap.rutap_rows.carroceria_categoria vale 'M3' en 21514 de 21514 filas. Un solo valor distinto, todas las filas, todos los snapshots. Es una CONSTANTE, no un atributo por vehiculo - o sea exactamente el mismo campo que MOBAAPI-661 dropeo por no informar nada, sobreviviendo con el nombre que le da el libro. 3. Y por lo tanto "los importados y los cargados a mano difieren en especie" TAMPOCO se sostiene: la diferencia es que una poblacion lleva un literal 'M3' estampado y la otra no. Los colectivos no se distinguen en nada. EL HUECO REAL DE CARROCERIA ES OTRO Y YA TENIA NUMERO: en rutap.vehiculo_historial_normalizado, carroceria_id 0 de 21514 y carroceria_modelo 0 de 21514 en filas de import. El importador nunca liga el texto del libro al catalogo QUE YA EXISTE - misma forma que chasis, que al menos tiene resolver. Eso es MOVILBA-366 y no se arregla inventando una columna de categoria. Cierre confirmado, doc-only, por mejor razon que la que puse: corregir la referencia obsoleta a categoria_regulatoria_id y DEJAR ESCRITO que carroceria_categoria es la constante 'M3', citando MOBAAPI-661, para que el proximo lector no lo reabra por tercera vez.
-
CORRECCION DE TIPEO EN LA NOTA ANTERIOR: la nota que acabo de dejar perdio una palabra. La escribi con backticks dentro de un comando de shell y el shell se comio el contenido - el mismo error que ya me paso hoy con wi event, y por eso la regla es pasar el cuerpo por archivo y nunca inline. La frase completa es: la UI ya consume el catalogo de carrocerias a traves de la vista v_ui_carrocerias, detras del desplegable llamado carrocerias en src/app/api/dropdowns/route.ts:165, etiquetado MODELO - N asientos. Tambien existe v_admin_carrocerias_search. El resto de la nota anterior es correcto tal como quedo.
-
CORRECTION supersedes prior schema-gap conclusion: all21514 book/import rows carry constant M3; MOBAAPI-661 intentionally removed constant M3 - Colectivos. This does NOT justify a new category catalog/column/form. 363 is doc-only. Existing public.carrocerias catalog74rows/18live and vehiculos.carroceria_id FK2411/2412live already exist. Separate366 defect: imported history carroceria_id and carroceria_modelo populated0/21514; importer linking to existing catalog, not regulatory category. Corrected report in48be48b1; no schema/UI changes or backfill. DEV-only measurements fromdb02/db03; PROD and other constant columns untested.
-
Follow-up db02 DEV SELECT-only full book-column distinct sweep: carroceria_categoria is sole nonempty constant (M3,21514). col_39 through col_52 each0nonnull/0distinct across21514rows; source spreadsheet content andPROD not tested, noDROP justified. Relayed separate provenance concern tolead; no new work started understop.
-
Audit-mba-l-cc CLEARED corrected doc-only commit48be48b1, superseding8a16d2e3 clearance. Structural separation confirmed: constantM3 does not require new catalog; existing history carroceria_id FK/modelo columns belong to separate366 linking gap. Live counts and column sweep attributed todb02, not independently remeasured byaudit. No schema/UI changes; remaining stopped perlead.