# Sprint 17 — Motor de hipótesis y evaluación explicable de confianza

## Objetivo

Permitir que el investigador compare explicaciones alternativas mediante criterios documentados a favor, en contra o de contexto, sin convertir una puntuación en prueba ni confirmar parentescos automáticamente.

## Alcance funcional

- Pantalla dedicada **Hipótesis** dentro del caso.
- Creación de hipótesis como propuestas de trabajo.
- Criterios ponderados con referencia opcional a afirmaciones, evidencias, contradicciones o pruebas existentes.
- Evaluaciones `cumplido`, `parcial`, `no_cumplido` y `desconocido`.
- Puntuación orientativa de 0 a 100 con explicación rastreable.
- Niveles de confianza: sin evaluar, muy baja, baja, media, alta y muy alta.
- Estado sugerido que nunca se aplica automáticamente.
- Revisión humana obligatoria y justificada para cambios de estado.
- Confirmación humana expresa y permiso reforzado para refutar o convertir en conclusión.
- Historial inmutable de revisiones y cálculos.
- Integración con Workspace y Evidencias.
- Modo de solo lectura para casos archivados.
- Interfaz ES/EN, tema claro/oscuro y responsive.

## Fórmula orientativa

Cada criterio activo y evaluado aporta un valor ponderado:

- Cumplido: 100.
- Parcial: 55.
- No cumplido: 0.
- Desconocido: no participa.
- Contexto: no participa.
- Un criterio en contra invierte el valor antes de ponderar.

La puntuación se calcula como promedio ponderado. El peso expresa relevancia analítica, no certeza documental.

## Reglas no negociables

- La puntuación no confirma identidad ni parentesco.
- La IA o el motor no cambia estados automáticamente.
- Toda decisión sensible exige revisión humana.
- Los criterios deben pertenecer a la misma empresa, caso e hipótesis.
- No se reemplazan silenciosamente versiones ni contradicciones.
- Toda acción queda auditada.

## Datos

Migración: `019_sprint17_hypothesis_confidence_engine.sql`.

Tablas nuevas:

- `gene_hipotesis_criterios`.
- `gene_hipotesis_revisiones`.

Campos añadidos a `gene_hipotesis`:

- `puntuacion_calculada`.
- `nivel_confianza`.
- `criterios_evaluados`.
- `peso_evaluado`.
- `ultima_evaluacion_en`.
- `ultima_revision_por`.
