Portar los lectores a rutap y DROPear public.vehiculo_historial: no se convive con el modelo viejo
Directiva de Elazar 2026-09-07: se porta TODO al modelo nuevo y se BORRA lo deprecado, porque mientras conviven un hallazgo medido contra el modelo viejo parece valido y nadie lo distingue sin re-medir. CIERRE MEDIDO: 25 vistas en PROD / 27 en DEV, once de ellas directas; v_vehiculo_cadena es la unica con dueno postgres entre 25. DEV ademas tiene una FK entrante desde rutap.m95_cambios_backfill_dev. SUPERFICIE DE ESCRITURA: exactamente una funcion (public.fn_cascade_soft_delete_vehiculo) y dos triggers de soft-delete, identicos en ambos ambientes; el trigger cuelga de public.vehiculos, NO de vehiculo_historial, asi que un inventario tomado sobre la tabla destino lo perderia. AGUJERO A NOMBRAR: pg_depend NO registra cuerpos de funcion, asi que un DROP TABLE pelado pasa en silencio dejando fn_cascade_soft_delete_vehiculo rota, y la falla aparece en el proximo soft-delete de un vehiculo, no en el drop. La funcion se porta o se borra ANTES de la tabla. Evidencia de que la tabla vieja es un subconjunto incompleto: v_vehiculos_hist_ultimo cubre 1740 de 2407 vehiculos vivos en PROD; 667 no resuelven en v_vehiculos_detalle, _list, _export ni _api_public. Nunca CASCADE. El DROP en PROD necesita GO fresco.
Activity
-
db03-mba-l-ca
-
db03-mba-l-cc
-
db02-mba-l-cc
-
db02-mba-l-cc, 2026-09-12: agrupacion para la propuesta de escritura (detalle en MOVILBA-190). Va SOLO y es el mas grande de los dos DDL. Confirmo desde la medicion de hoy la cifra que este item ya trae: en PROD hay 2407 vehiculos vivos y public.vehiculo_historial cubre 1740, o sea 667 no resuelven - y agrego el por que estructural, que cambia el orden del trabajo. PROD sigue con el modelo VIEJO de una fila viva por vehiculo (1740 filas vivas para 1740 vehiculos distintos, exactamente una cada uno), mientras DEV ya esta en el modelo append-only de periodos (5484 filas). O sea que 'portar los lectores y DROPear la tabla vieja' en PROD no es solo un cambio de lectores: la tabla NUEVA de PROD tampoco tiene la historia, porque se poblo por el backfill de la migracion 202 y no por el proyector, que en PROD no esta instalado (MOVILBA-269). Antes del DROP hay que contestar de donde sale la historia de esos 667 en PROD; si no, el DROP cambia un modelo incompleto por otro incompleto.
-
db04-mba-l-ca
-
db04-mba-l-ca 2026-09-24 04:04 ART — SELECT-only installed-state verification: public.vehiculo_historial resolves to NULL via to_regclass in DEV movilba_dev and PROD movilba; zero pg_views and zero pg_proc bodies reference public.vehiculo_historial. The installed fn_cascade_soft_delete_vehiculo instead updates rutap.v_vehiculo_historial_normalizado_fuente_actual in both bases. Current imported normalized history has 5528 nondeleted rows in each base. Repo src scan finds no executable direct public.vehiculo_historial read (one historical comment only). The old model has been retired in the named bases; no DB write in this sweep.
-
db04-mba-l-ca 2026-09-24 04:02 ART — Timestamp correction only: the immediately preceding sweep body on this item carried a future 04:04/04:07 time; the BWI event createdAt is authoritative. No change to its measured findings or status.
-
audit pass: Sampled re-close: retirement of public.vehiculo_historial and installed reader/function references in DEV and PROD; normalized row total not independently reproduced
payload
{"scope":"Sampled re-close: retirement of public.vehiculo_historial and installed reader/function references in DEV and PROD; normalized row total not independently reproduced","outcome":"pass","evidence":"audit-mba-l-ca | 2026-09-24 04:10 ART. Independently queried current_database() (movilba_dev/movilba), current_user and search_path. In both, to_regclass('public.vehiculo_historial') is NULL while positive controls to_regclass('public.vehiculos') and to_regclass('rutap.v_vehiculo_historial_normalizado_fuente_actual') resolve. pg_views has 0 exact public.vehiculo_historial references and 2 normalized-view references per base; pg_proc source search has 0 exact old references; installed public.fn_cascade_soft_delete_vehiculo() exists and its definition references the normalized view. rg -n 'public\\.vehiculo_historial' src found one historical comment, no executable read. PROD account could not SELECT normalized view to reproduce 5528 rows; that count remains unverified here and is not needed to establish retirement. db04 corrected its future self-timestamp in a later event; server createdAt controls chronology.","reportRef":null}