Metricas de Deuda de Verificacion¶
Metricas para trackear la calidad del desarrollo asistido por IA.
Metricas Definidas¶
1. Tasa de paso en primera auditoria¶
Porcentaje de codigo que pasa auditoria sin correccion humana.
- Formula:
(items aprobados en 1ra revision) / (total items auditados) * 100 - Meta: >= 85%
- Frecuencia: Por planning/sprint
2. Tiempo de deteccion de regresion¶
Tiempo entre introduccion de un bug y su deteccion.
- Formula:
fecha_deteccion - fecha_commit_introdujo_bug - Meta: < 1 sprint (detectar en mismo sprint o CI)
- Frecuencia: Por bug detectado
3. Ratio correcciones/generacion¶
Cuantas correcciones humanas por cada generacion IA.
- Formula:
commits de correccion / total commits generados - Meta: < 10%
- Frecuencia: Por sprint
4. Cobertura de auditoria¶
Porcentaje del codebase auditado en los ultimos N sprints.
- Formula:
archivos auditados / total archivos src/ - Meta: 100% en cada ciclo de 5 sprints
- Frecuencia: Acumulativa
Registro por Sprint¶
S01-MVP — Auditoria F1 (2026-04-06)¶
| Metrica | Valor | Meta | Estado |
|---|---|---|---|
| Paso 1ra auditoria SDD | 93% (40/43 conformes) | >= 85% | Pass |
| Bugs encontrados post-merge | 0 | 0 | Pass |
| Correcciones humanas | 0/12 commits (0%) | < 10% | Pass |
| Archivos auditados (acum.) | 18/18 (100% core/) | 100% | Pass |
| CRITICAL corregidos | 4/4 | 0 pendientes | Pass |
| HIGH corregidos | 7/7 | 0 pendientes | Pass |
| MEDIUM diferidos | 8 (documentados) | — | Backlog |
S01-MVP — Auditoria F2+F3 (2026-04-06)¶
| Metrica | Valor | Meta | Estado |
|---|---|---|---|
| Paso 1ra auditoria SDD | 88% (62/70 conformes) | >= 85% | Pass |
| DEFECTOS corregidos | 5/5 (JWT, timing, repr, PII, update) | 0 pendientes | Pass |
| Archivos auditados (acum.) | 46/86 (application + infrastructure) | 53% | En progreso |
| MEDIUM diferidos | 13 (documentados) | — | Backlog P02 |
S01-MVP — Mini-auditoria Streamlit F4 (2026-04-06)¶
| Metrica | Valor | Meta | Estado |
|---|---|---|---|
| CRITICAL corregidos | 4/4 (cache_resource, _repo x3) | 0 pendientes | Pass |
| HIGH corregidos | 5/5 (commit, CSV, logout, spinner) | 0 pendientes | Pass |
Detalle: docs/validate/AUDIT_01_*.md, docs/validate/AUDIT_02_*.md
S02-POST-MVP — Auditoria F6 (2026-04-07)¶
| Metrica | Valor | Meta | Estado |
|---|---|---|---|
| Paso 1ra auditoria SDD | 89% (57/64 conformes) | >= 85% | Pass |
| DEFECTOS corregidos | 2/2 (list_all x3, dead code) | 0 pendientes | Pass |
| Archivos auditados (acum.) | 64/94 (+18 F6) | 68% | En progreso |
| HIGH diferidos (planificados) | 5 (PII→F7, RBAC→F7, Session→F8, Bypass→F7, Secret→F7) | — | P02 |
| MEDIUM nuevos | 7 (HTML, TZ, match, dup x2, fat port, logging) | — | Backlog |
Detalle: docs/validate/AUDIT_03_2026-04-07_GATE_F6_FUNCIONALIDAD.md
S02-POST-MVP — Auditoria F7+F8+F9 (2026-04-07)¶
| Metrica | Valor | Meta | Estado |
|---|---|---|---|
| Paso 1ra auditoria SDD | 87% (139/160 conformes) | >= 85% | Pass |
| DEFECTOS corregidos | 4/4 (session leak, secret key, DispatchJob, import) | 0 pendientes | Pass |
| Archivos auditados (acum.) | 120/120 (100%) | 100% | Completado |
| Hallazgos diferidos P03 | 12 (3 HIGH + 6 MEDIUM + 3 LOW) | — | Backlog P03 |
Detalle: docs/validate/AUDIT_04_2026-04-07_GATE_F7_F8_F9_SEGURIDAD_API_DISPATCH.md
Resultados P02 vs Targets¶
| Metrica | P01 | P02 Final | P02 Target | Estado |
|---|---|---|---|---|
| Tests | 261 | 358 | >= 400 | Parcial (GUI sin AppTest) |
| Coverage | 70.97% | 67.15% | >= 80% | Bajo (nuevo codigo GUI/API) |
| Dead code | 10 items | ~2 | 0 | Parcial (UoW+EventBus infra) |
| MEDIUM pendientes | 13 | 12 (nuevos) | 0 | Nuevos de AUDIT-04 |
| API endpoints | 0 | 11 | >= 10 | Pass |
| Canales dispatch | 0 | 2 | >= 2 | Pass |
Evolucion P01 → P07¶
| Metrica | P01 | P02 | P03 | P04 | P05 | P06 | P07 |
|---|---|---|---|---|---|---|---|
| Tests | 261 | 358 | 508 | 515 | 525 | 651 | 711 |
| Coverage | 70.97% | 67.15% | 83.30% | 83.71% | 83.24% | 85.31% | 85.40% |
fail_under |
80 | 80 | 80 | 80 | 80 | 85 | 85 |
| Archivos src/ | — | 120 | — | 127 | 130 | 142 | 153 |
| API endpoints | 0 | 11 | 12 | 12 | 12 | 12 | 13 |
| Canales operativos | 0 | 2 | 2 | 2 | 2 | 2 | 5 de 5 |
| Use cases | — | — | — | — | 9 | 10 | 14 |
| Ports | — | — | — | — | 11 | 12 | 13 |
| ruff / mypy --strict | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 | 0/0 |
Auditorias y hallazgos¶
| Auditoria | Gate | Agentes | Corregidos | Diferidos | Conformidad | Veredicto |
|---|---|---|---|---|---|---|
| AUDIT-08 | P04 | 7 | 4 | — | 92.3% | APROBADO |
| AUDIT-09 | P05 | directa | 1 | 4 | 87.5% | APROBADO C/OBS |
| AUDIT-10 | P06 | 6 | 5 | 14 | 100% | APROBADO |
| AUDIT-11 | P07 | 6 | 7 | 11 | 100% | APROBADO |
Leccion recurrente (AUDIT-11): tres de los siete defectos fueron del mismo tipo — piezas construidas sin conectar a su consumidor. Un planning deberia exigir que toda pieza nueva declare quien la consume antes de darse por completa.
Leccion de AUDIT-10: los tests que mockean el audit logger no verifican
persistencia. Solo un test contra base de datos real, consultando desde otra
sesion, detecta la ausencia de commit().
Alertas¶
- Ratio correcciones > 20%: revisar calidad de prompts/instrucciones
- Bug no detectado en > 2 sprints: revisar cobertura de tests
- Paso 1ra auditoria < 70%: revisar CLAUDE.md y agent_docs