Estado del Proyecto
Metricas Actuales
| Metrica |
Valor |
| Tests |
358 pasando |
| Coverage |
67.15% |
| GUI |
Streamlit 10 paginas funcionales + PII masking + RBAC |
| API REST |
FastAPI 11 endpoints + JWT middleware + Pydantic v2 |
| Dispatch |
2 canales (Email SMTP + WhatsApp Meta API) + background worker |
| Calidad codigo (ruff) |
0 errores |
| Type safety (mypy --strict) |
0 errores |
| Seguridad (bandit) |
0 high/critical |
| Archivos src/ |
120 |
| Documentacion |
MkDocs Material — 23 paginas, 6 diagramas Mermaid |
Progreso
Sprint S01-MVP (P01): COMPLETADO
F0 Scaffolding: [████████████████████] 100% (6/6 SPECs)
F1 Core Domain: [████████████████████] 100% (5/5) + auditada 93% SDD
F2 Application: [████████████████████] 100% (6/6) + auditada 88% SDD
F3 Infrastructure: [████████████████████] 100% (4/4) + auditada 88% SDD
F4 GUI Streamlit: [████████████████████] 100% (8/8) + mini-auditoria
F5 Integracion: [████████████████████] 100% (3/3)
Total P01: [████████████████████] 100% (33/33 SPECs)
Sprint S02-POST-MVP (P02): COMPLETADO
F6 Funcionalidad: [████████████████████] 100% (8/8) + auditada 89% SDD
F7 Seguridad: [████████████████████] 100% (7/7) + auditada 87% SDD
F8 API REST: [████████████████████] 100% (7/7) + auditada 87% SDD
F9 Dispatch: [████████████████████] 100% (6/6) + auditada 87% SDD
Total P02: [████████████████████] 100% (28/28 SPECs)
Total proyecto: [████████████████████] 100% (61/61 SPECs)
Historial de Plannings
| Planning |
Fecha |
Tema |
Resultado |
| P01 |
2026-04-06 |
MVP (F0-F5, 33 SPECs) |
Completado — 261 tests, 70.97% cov |
| P02 |
2026-04-07 |
Post-MVP (F6-F9, 28 SPECs) |
Completado — 358 tests, 120 archivos, 11 endpoints, 2 canales |
| P03 |
2026-04-07 |
Production Readiness (F10-F15, 41 SPECs) |
Planificado — API hardening, tests, integraciones, migraciones, refactoring |
Historial de Auditorias
| Auditoria |
Fecha |
Fase |
Agentes |
Hallazgos |
Tasa SDD |
Resultado |
| AUDIT-01 |
2026-04-06 |
F1 Core |
7 |
22 (4C+7H+8M+3L) |
93% |
APROBADO |
| AUDIT-02 |
2026-04-06 |
F2+F3 |
7 |
~60 (5 DEF corregidos) |
88% |
APROBADO |
| Mini-ST |
2026-04-06 |
F4 GUI |
1 |
19 (9 corregidos) |
— |
Corregido |
| AUDIT-03 |
2026-04-07 |
F6 |
5 |
13 (2 DEF corregidos) |
89% |
APROBADO |
| AUDIT-04 |
2026-04-07 |
F7+F8+F9 |
6 |
~30 (4 DEF corregidos) |
87% |
APROBADO |
Dead Code Resuelto (P02)
De los 10 items originales de dead code, 8 fueron activados en F6:
- [x] CambiarEstadoNotificacionUseCase → GUI gestionar_notificaciones.py
- [x] Notificacion.registrar_envio() → CambiarEstadoUseCase con observacion
- [x] TransicionEstado.transiciones_desde/es_estado_terminal → GUI gestionar
- [x] AuthorizationService 5/6 metodos → RBAC checks en todas las paginas
- [x] SqlAuditLogger → IAuditLogger port + wiring en 6 use cases
- [x] configure_logging() → invocada en bootstrap
- [x] Audiencia CRUD → GestionarAudienciaUseCase + pagina
- [x] M:N juzgado_proceso/sujeto_proceso → link/unlink queries activas
- [x] CambiarEstadoRequest/Response → GUI + API endpoints
Items residuales (~2): EventBus sin consumidores, UoW sin integracion en use cases → backlog P03.
Backlog P03 (12 items de AUDIT-04)
| ID |
Hallazgo |
Prioridad |
| API-SCHEMAS |
Schemas Pydantic sin max_length/validacion |
HIGH |
| API-RATE |
Sin rate limiting HTTP en /auth/login |
HIGH |
| API-RBAC |
Sin RBAC granular en API endpoints |
HIGH |
| API-CORS |
CORS restrictivo para produccion |
MEDIUM |
| API-HEADERS |
Sin security headers (HSTS, CSP) |
MEDIUM |
| API-DOCS |
OpenAPI/Swagger expuesto por defecto |
MEDIUM |
| UOW-INTEG |
UoW sin integracion en use cases |
MEDIUM |
| EVENTBUS-INTEG |
EventBus sin consumidores |
MEDIUM |
| DISPATCH-WIRE |
DispatchNotificacionUseCase sin wiring |
MEDIUM |
| AUDIT-TRUNCATE |
TRUNCATE no bloqueado en audit_log |
LOW |
| REGISTRY-DIP |
DispatcherRegistry concreta en ports |
LOW |
| HANDLER-TYPE |
EventHandler=Any pierde type safety |
LOW |
P03 — Fases Planificadas
| Fase |
Tema |
SPECs |
Prioridad |
Estimado |
| A (F10) |
API Hardening: schemas, rate limit, RBAC, CORS, headers |
6 |
CRITICO |
2-3 dias |
| B (F11) |
Test Coverage: E2E API, AppTest GUI, Hypothesis, fixtures |
7 |
CRITICO |
3-5 dias |
| C (F12) |
Integracion Patrones: UoW, EventBus, Dispatch wiring |
5 |
HIGH |
2-3 dias |
| D (F13) |
DB Migrations: timezone, indexes, FK, Alembic |
6 |
MEDIUM |
1-2 dias |
| E (F14) |
Refactoring: VOs, ISP, duplicados, logging, escape |
11 |
MEDIUM |
3-4 dias |
| F (F15) |
Polish: Radicado factory, TransicionEstado, docstrings |
6 |
LOW |
1-2 dias |
Detalle: docs/plannings/P03_PRODUCTION_READINESS_PLAN.md
Produccion
| Entorno |
URL |
Estado |
| Local (Streamlit) |
http://localhost:8501 |
Funcional (SQLite) |
| Docker (PG+Streamlit+pgAdmin) |
http://localhost:8501 / :5050 |
Funcional |
| API REST (FastAPI) |
http://localhost:8000 |
Funcional (11 endpoints) |
| Documentacion (MkDocs) |
Docker :8080 (Nginx) |
Funcional (site/) |
| Produccion |
— |
Pendiente P03 |