# OBSERVATIONS.md — Hallazgos del desarrollo Hallazgos técnicos y decisiones ad-hoc tomadas durante el desarrollo. Actualizar cada vez que se descubra algo relevante sobre el sistema del PJ o sobre el comportamiento del bot. --- ## Sistema judicial (apps.csj.gov.py) ### Estructura del response de notificaciones — PRIMER RUN REAL 2026-05-22 **Fecha**: 2026-05-22 `CantidadNotificacionesPorRecibir` devolvió `2` (entero directo ✅). `Notificaciones/PorRecibir` devolvió lista vacía (`total: 0, nuevas: 0`) a pesar de que el contador dijo 2. Comportamiento posible: - El endpoint de cantidad cuenta algo diferente (notificaciones ya acusadas parcialmente, otro estado) - El formato del response de la lista no coincide con ninguna de las claves esperadas (`items`, `data`, `notificaciones`) → el array llega bajo otra clave que `csj_client.py` no reconoce y cae al fallback de lista vacía **Acción pendiente**: inspeccionar el response crudo de `PorRecibir` con LOG_LEVEL=DEBUG para ver la estructura exacta del JSON y ajustar el parsing en `csj_client.py`. --- ### Convención de URL en /actuaciones — corregido 19/06/2026 `listar_actuaciones()` usaba separador "/" entre codCasoJudicial y origen. El PJ espera ":" para este endpoint (igual que en descargar_documento_principal()). Bug detectado por beta tester via /pdf, confirmado en logs de producción. Afectaba: /pdf y /exp (ambos llaman listar_actuaciones()). --- ## Bot de Telegram *(agregar hallazgos acá)* --- ## Deuda técnica activa Ver `TECH_DEBT.md`.