# Selección de modelo y proveedor

Elige entre candidatos contra requisitos escritos, con evidencia para cada requisito — y sin una sola cifra sacada de la memoria.

## Entregable

Un documento Markdown, `model-selection-report.md`, con la estructura fijada en **Salida** más abajo. Toma los requisitos del sistema y la salida de **Diseño de conjunto de evaluación y métricas**.

## Entradas obligatorias

- **Los requisitos que debe cumplir el sistema**, tal como los enuncia quien lo pide: latencia, techo de coste, contexto, modalidad, residencia de datos, condiciones de privacidad y compromisos de disponibilidad, cada uno con el valor que hace que se apruebe.
- **Los candidatos a evaluar**, y la documentación o las condiciones contractuales que quien lo pide tiene de cada uno.
- **El conjunto de evaluación o la muestra de la tarea** sobre la que se medirán los candidatos.

Sin requisitos enunciados, detente. Nada es el mejor modelo; un modelo solo es adecuado frente a un requisito que alguien escribió. Si faltan candidatos, repórtalo y no los aportes nunca de memoria.

## Entradas opcionales

- El plan de evaluación y la métrica que define
- Mediciones que quien lo pide ya haya tomado, con las condiciones en que se tomaron
- Contratos vigentes, restricciones de compras o listas de proveedores aprobados
- El volumen y la forma del tráfico previsto
- El coste de cambio que ya lleva la arquitectura — dónde aparece el proveedor dentro del código
- Restricciones de despliegue: región, red, requisitos de instalación propia

Cuando falta una medición, el informe declara qué medir y cómo, y deja la celda como `desconocido`. Nunca se rellena con un recuerdo.

## Ejecución

**1 — Convertir los requisitos en condiciones de aprobado.** Cada requisito recibe un umbral, una unidad, la fuente que lo fijó y la declaración de si es condición dura o preferencia. Un requisito sin umbral no permite evaluar nada y se devuelve a quien lo pide.

**2 — Fijar la lista de candidatos.** Registra cada candidato que haya nombrado quien lo pide, con la versión o el identificador que piensa usar y el documento del que salen sus condiciones. No añadas candidatos que no te hayan dado, y no descartes ninguno sin registrar por qué.

**3 — Declarar qué hay que medir.** Por cada requisito que no se pueda leer de un documento — la calidad en la tarea, la latencia con la forma de tráfico prevista, la conducta con el contexto que la tarea necesita — escribe el procedimiento de medición: el arnés de evaluación, las entradas, las condiciones y quién lo ejecuta. El informe especifica la medición; quien lo pide produce el resultado.

**4 — Leer los requisitos contractuales en los documentos.** Residencia, retención, entrenamiento con los datos enviados, compromisos de disponibilidad, certificaciones y aviso de cambio. Cada uno con el documento y la cláusula de la que sale. Si quien lo pide no tiene documento para una condición, la celda dice `desconocido — sin documento aportado`, sea cual sea la reputación pública del proveedor.

**5 — Rellenar la matriz y marcar los huecos.** Requisito frente a candidato, con la evidencia de cada celda: una medición aportada por quien lo pide, una cláusula de un documento, o `desconocido`. Un `desconocido` en un requisito duro impide recomendar a ese candidato, y el informe lo dice en lugar de puntuar a su alrededor.

**6 — Recomendar contra las condiciones.** Nombra al candidato que cumple los requisitos duros con la evidencia presente, y declara qué requisitos cumple por medición, cuáles por documento y cuáles siguen desconocidos. Si ningún candidato los cumple todos, dilo, y nombra el requisito que tiene que moverse.

**7 — Escribir las condiciones de revisión y la salida.** Los cambios que reabrirían la decisión — un requisito que se mueve, una condición que cambia, una medición que no se reproduce — y el coste de cambiar: qué está acoplado a este proveedor, qué habría que volver a medir y quién es dueño de la migración.

## Salida

`model-selection-report.md`, en este orden:

- **1. Decisión y fecha** — qué se selecciona, para qué sistema, por quién y cuándo
- **2. Requisitos** — requisito, umbral, unidad, fuente, duro o preferencia
- **3. Candidatos** — cada uno tal como lo nombró quien lo pide, con versión y los documentos disponibles
- **4. Procedimientos de medición** — qué hay que medir, cómo, en qué condiciones y quién lo hace
- **5. Evidencia** — por requisito y candidato: el valor, su fuente, o `desconocido`
- **6. Huecos** — las celdas sin evidencia, y qué llenaría cada una
- **7. Recomendación** — el candidato, los requisitos que cumple y con qué evidencia
- **8. Condiciones de revisión** — qué reabriría esta decisión
- **9. Coste de cambio** — qué está acoplado a la elección, qué hay que volver a medir, quién asume el cambio
- **10. Preguntas abiertas** — qué impidió la comparación, y quién puede desbloquearlo

## Validación

El informe está listo cuando se cumple todo esto:

- Cada requisito de la sección 2 tiene umbral y fuente, o se devuelve como no evaluable
- Cada candidato de la sección 3 lo nombró quien lo pide
- Cada celda de la sección 5 lleva una medición, una referencia a un documento, o `desconocido`
- Ninguna cifra de rendimiento, precio o capacidad aparece sin la medición o el documento del que sale
- La sección 7 declara qué requisitos se apoyan en evidencia y cuáles en `desconocido`
- La sección 9 no está vacía siempre que se emita una recomendación

Falla la ejecución si alguna cifra del informe sale de un recuerdo en lugar de una medición o un documento aportados, o si se recomienda un candidato mientras un requisito duro está `desconocido`.

## Gestión de fallos

- **Sin requisitos enunciados** — detente. Informa de que no hay nada contra lo que seleccionar, y de que una comparación sin umbrales ordena a los candidatos por el atributo que fue más fácil de encontrar.
- **Sin mediciones aportadas** — entrega las secciones 1 a 4, 6 y 10: los requisitos, los candidatos, los procedimientos a ejecutar y los huecos. No entregues recomendación.
- **Sin documentos para las condiciones contractuales** — marca cada celda así como `desconocido — sin documento aportado` y lista los documentos que hay que conseguir. Lo que un proveedor dice en público no es evidencia de una condición.
- **Un requisito que no cumple ningún candidato** — dilo sin rodeos, nombra el requisito y devuélvelo a quien lo fijó. No recomiendes al candidato más cercano como si el requisito estuviera cumplido.
- **Material parcial** — evalúa lo que la evidencia sostenga, marca el resto como `INCOMPLETO — pendiente de <pregunta>` y entrega.
