basquetWi + New ticket
movilba MOVILBA-92

escrituras por psql dejan archived_by en NULL

Done normal dmdb-mba-l-cc

Salio del MEMORY.md global el 2026-08-20 durante la poda que pidio Elazar (el indice de memoria no es un backlog). La capa de atribucion (project_675_attribution_layer2) cubre el camino de la app pero no el de psql: una escritura hecha por un agente db deja archived_by en NULL en las tablas de archivo, asi que el registro no dice quien la hizo. Relacionado: mem:reference_vehiculos_archive_triggers_fire_on_every_update (los triggers de archivo son BEFORE DELETE OR UPDATE sin WHEN, archivan en CADA update). Los 45k NULLs historicos son irrecuperables - esto es para que no se sigan generando. Medir el volumen actual antes de proponer.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Activity

  • wi-cli-venus created · 2026-08-20
  • wi-cli-venus note · 2026-08-21
    DUPLICADO de MOVILBA-105, verificado leyendo los dos 2026-08-21 08:12. Misma condicion exacta: los triggers de archive sobre vehiculos y vehiculos_datos_colectivos son BEFORE DELETE OR UPDATE sin clausula WHEN, los scripts de psql no llaman set_current_user(), y la fila de archive queda sin atribucion. 105 esta mejor escrito - trae la medicion del paquete del 21/08 y ya plantea la decision (o el harness llama set_current_user() con una identidad de servicio declarada en el encabezado, o se acepta y se documenta). Se trabaja en 105; este queda como el hallazgo original. Los ~45k NULLs historicos son irrecuperables en los dos: el objetivo es dejar de generarlos, no repararlos.
  • wi-cli-venus completed · 2026-08-21
    CERRADO COMO DUPLICADO de MOVILBA-105, que quedo renombrado a la condicion medida. Los dos describian 'las escrituras por psql dejan archived_by en NULL' y los dos estaban equivocados en el mecanismo: archived_by sale de columnas de la fila (creado_por/borrado_por), no de la identidad de la sesion. El item real vive en 105.
task
2026-08-20 by wi-cli-venus
2026-08-21
2026-08-21 11:16