docs(changelog): rastreo del stack legacy de descarga (T2025-09-004)

Documenta que el signal procesamiento.py dispara el stack viejo (api_v1 ->
peticiones.py) en paralelo al auto-proceso v2, causando docs sin ligar y
duplicados. Fix del modulo viejo en microservice. Sin cambio de codigo backend.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-24 15:27:46 -06:00
parent dcabfb8762
commit a13c1460c0

View File

@@ -6,8 +6,8 @@ tipo, repos afectados, qué se hizo y por qué. Reglas del flujo en `../CLAUDE.m
## T2025-09-004 — Pertenencia documento→entidad (matching de partidas + FK polimórfica)
- **Fecha:** 2026-06-24
- **Tipo:** feature
- **Repos:** backend (microservice/frontend: sin cambios — el microservicio ya embebe
el número en el nombre del archivo y el backend resuelve la FK al crear el documento)
- **Repos:** backend + microservice (el fix del stack legacy de descarga está en
`microservice/CHANGELOG.md`; frontend sin cambios)
- **Branch:** `feature/T2025-09-004` · **PR:** (pendiente de aceptación manual)
- **Qué se hizo:**
- Matching documento→partida con frontera `(_|.|$)` en `core/partida_docs.py` (cubre los
@@ -32,6 +32,15 @@ tipo, repos afectados, qué se hizo y por qué. Reglas del flujo en `../CLAUDE.m
con 0 duplicados creados después del fix. Solo aplica a docs ligados a entidad.
- Lectura, descarga y borrado SIEMPRE por la FK (id), nunca por nombre. El nombre solo
ESTABLECE la FK (en `Document.save()` para altas y en el backfill para filas viejas).
- **Rastreo del stack legacy (docs sin ligar/duplicados con datos de hoy):** el signal
`api/customs/signals/procesamiento.py` (post_save de Pedimento/Cove/EDocument, p.ej. al
cargar un datastage) dispara el stack VIEJO de descarga (`tasks/microservice.py` → api_v1
`utils/peticiones.py` del microservicio), que armaba el nombre con campos crudos (no
`pedimento_app`, prefijo `vu_EDC`) y posteaba sin reemplazar → docs sin FK + partidas
duplicadas. El auto-proceso (Celery beat `microservice_v2.process_all_organizations`) ya usa
el stack v2 correcto. Fix del módulo viejo en `microservice/CHANGELOG.md`. El signal/api_v1
se dejan activos (decisión: arreglar `peticiones.py`, no retirarlos); unificar a un solo
stack queda como follow-up.
- **Por qué:** retirar el matching frágil por nombre de archivo (`icontains`/prefijo, que
confundía entidades y se rompía con formatos nuevos) y tener la pertenencia
documento→entidad como dato real, consultable e íntegro.