basquetWi + New ticket
movilba MOVILBA-156

DECISION: linea_nombre - nullable vs NOT NULL, si cambia el label de todos los desplegables, y de donde salen los 33 nombres

Done urgent dmdb02-mba-l-cc

DECISION DE ELAZAR, no hay trabajo posible antes. Analisis completo hecho por db02-mba-l-cc el 2026-08-28 sobre la tabla lineas (DEV y PROD estructuralmente identicas, 33 filas vivas, 20 vistas dependientes directas, 8 FKs, ninguna columna de nombre). Tres decisiones, las tres necesarias: 1. Nullable o NOT NULL, y unico entre filas vivas o no. NOT NULL obliga a tener los 33 nombres antes de aplicar; nullable permite cargar de a poco pero deja la UI con huecos. 2. Cambia v_ui_lineas.label a '60 - Nombre'? Eso cambia TODOS los desplegables de linea de la app a la vez, no solo la pantalla de lineas. Es la parte irreversible en la practica. 3. De donde salen los 33 nombres. El SSOT no los tiene: el libro RUTAP trae el numero de linea y nada mas. O los provee Elazar/Eugenia, o no hay fuente y el campo nace vacio. Costo tecnico si se decide: agregar una columna nullable no obliga a tocar ninguna vista (0 cambios requeridos); hasta 20 vistas PODRIAN querer exponerla. Retire mi estimacion anterior de '~12 vistas': no era derivable. Sin respuesta a las tres, no arranco.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 6w ago
  • wi-cli-venus note · 6w ago
    RECOMENDACION ESCRITA (db02, 2026-09-03), una por cada una de las tres decisiones, mas una correccion de hecho al item. CORRECCION PRIMERO, porque cambia el enunciado: 'DEV y PROD estructuralmente identicas, 33 filas vivas' mezcla los dos entornos. Medido hoy: PROD tiene 58 filas en lineas, 28 VIVAS y 30 borradas. DEV tiene 60 y 33 vivas. El 33 es de DEV. La decision es sobre 28 nombres en PROD, no 33. Las 20 vistas dependientes y los 8 FK si se confirman en PROD. 1) NULLABLE, no NOT NULL. Y sin unicidad por ahora. NOT NULL exige tener los 28 nombres el dia que se aplica, y la decision 3 dice que no hay de donde sacarlos: la columna quedaria bloqueada por una fuente que no existe. Nullable permite crear la columna ya, cargar los nombres a medida que aparezcan, y endurecer a NOT NULL despues, cuando el conteo de nulos sea cero - ese es un cambio barato y verificable. Al reves no se puede. Unicidad tampoco todavia: no sabemos si dos lineas pueden compartir nombre y no hay dato para decidirlo. 2) NO cambiar v_ui_lineas.label en la misma operacion. Recomiendo dejarlo en el numero. Esta es la parte irreversible en la practica: el label alimenta TODOS los desplegables de linea de la app, no solo la pantalla de lineas. Con la columna nullable, un label '60 - Nombre' rendiriza '60 - ' en toda linea sin nombre, o sea el estado intermedio se ve roto en cada pantalla a la vez. Y ya tenemos el antecedente de un selector que se ve vacio cuando el valor no esta en la lista. El label se cambia como operacion APARTE, cuando los 28 nombres esten completos, y ahi es un cambio de una vista con un gate trivial (cero lineas vivas sin nombre). 3) NO SALEN DEL SSOT. Verificado hoy sobre el encabezado del libro 2026-09-03-1049: las 39 columnas de la hoja Base son CUIT, Identificador_ Empresa, Tipo_Servicio, Linea, Nro_dominio, ... y 'Linea' trae el NUMERO. No hay ninguna columna de nombre de linea. Tampoco la hoja 'Normativa Lineas' del tracker: trae RAZON SOCIAL y GRUPO EMPRESARIO, que son la EMPRESA, no el nombre de la linea. O sea la fuente tiene que ser Elazar o Eugenia, cargada a mano una vez, o la columna nace vacia y se llena desde la UI. No hay una tercera opcion y no la va a haber por medir mas. COSTO TECNICO, ratificado: agregar una columna nullable no OBLIGA a tocar ninguna vista - 0 cambios requeridos. Hasta 20 vistas PODRIAN querer exponerla, que es una decision por vista y posterior. Sigo sin poder estimar cuantas la querrian; no es derivable y no lo voy a inventar. LO QUE HACE FALTA PARA DESBLOQUEAR: alcanza con que Elazar conteste 3. Si la respuesta es 'no hay nombres todavia', 1 y 2 quedan resueltos por mi recomendacion y puedo proponer el DDL de una columna nullable sin tocar vistas. Si la respuesta es 'aca estan los 28', cambia el orden pero no las recomendaciones. NO EJERCITADO: no mire si alguna pantalla ya asume un nombre de linea, y no propuse DDL - esto es la recomendacion, no el cambio.
  • wi-cli-venus note · 6w ago
    CERRADO POR ELAZAR, 2026-09-04: `linea_nombre` no existe y no se va a crear. **RASTREO DEL ORIGEN, que era lo que pedia:** - `lineas` NO tiene ninguna columna de nombre, ni en DEV ni en PROD. Columnas: `numero_linea`, `color_linea`, `id`, `creado_en`, `creado_por`, `borrado_en`, `borrado_por`. - NINGUNA vista de DEV ni de PROD tiene una columna `linea_nombre` (`information_schema.columns`, los dos entornos). - El unico `linea_nombre` vivo del repo estaba en un EJEMPLO INVENTADO de un doc de diseno: `docs/project-coding-guides-and-polecies/sync-to-api-movilba.yaml`, con el valor `"Plaza Italia - Retiro"`. Un payload de muestra escrito a mano, no un contrato con un sistema real ni un dato de ningun lado. - En TypeScript existia `lineaNombre`, y era **`numeroLinea` con otro nombre**: el repositorio lo poblaba con `vehiculo.numeroLinea.toString()`. El campo no traia ningun nombre; traia el numero, con un rotulo que prometia otra cosa. O sea el ticket entero se apoyaba en un campo que nadie tenia. La pregunta 3 ('de donde salen los 33 nombres') ya tenia la respuesta: de ningun lado, porque nunca hubo nombres. **BORRADO EN v5.4.121:** se elimino `lineaNombre` del tipo, de las dos asignaciones del repositorio y de los cuatro consumidores (los que mostraban algo ahora leen `numeroLinea`, que es lo que ya estaban mostrando), y se saco la linea del ejemplo del yaml. `grep -rn 'linea_nombre\|lineaNombre'` sobre .ts/.tsx/.yaml/.sql/.md devuelve CERO fuera del CHANGELOG. NO se toco `drizzle/meta/0000_snapshot.json`, que conserva 3 apariciones dentro de la definicion vieja de una vista. Es un artefacto GENERADO y desactualizado (esa vista hoy no tiene esa columna); editarlo a mano seria peor que dejarlo. Se regenera solo la proxima vez que se regenere el snapshot.
  • wi-cli-venus completed · 6w ago
    linea_nombre no existe en ningun lado: la columna no esta en lineas, ninguna vista la expone, y el unico rastro vivo era un ejemplo inventado en un yaml de diseno. Borrado en v5.4.121.
decision
6w ago by wi-cli-venus
6w ago
2026-09-04 13:51