# Metodología de valoraciones

## Capa jugable retrospectiva

Por decisión editorial del usuario, el catálogo incorpora una capa identificada como `technical-six-pillars-3.0.0`. Se genera de manera reproducible con `js/ratings/retrospective-estimator.js` y `scripts/import-retrospective-ratings.mjs`.

Esta capa usa resultados del propio Mundial, avance de ronda, goles a favor y en contra, posición y eventos documentados de cada jugador para estimar su jerarquía. La versión 3 construye después un perfil técnico individual y calcula el GRL exclusivamente desde seis pilares ponderados según el rol. Por eso:

- siempre se rotula `status: estimated` y `estimateType: retrospective`;
- su fecha de corte es el final del torneo, no la víspera de su inicio;
- no se presenta como medición exacta ni como GRL previo respaldado;
- sirve para simulaciones, alineaciones y comparaciones exploratorias;
- es determinista: los mismos datos producen los mismos valores;
- no copia valoraciones propietarias de FIFA, EA Sports FC ni Pro Evolution Soccer/eFootball; toma como referencia solamente la familiaridad de la escala 0–100 y la idea de perfiles posicionales;
- nunca modifica la auditoría estricta de evidencia previa.

El GRL de selección es el promedio simple de todos los convocados. Los promedios de ataque, mediocampo, defensa y arqueros se calculan desde los jugadores de cada línea. Los eventos, la participación, la biografía deportiva y las distinciones introducen diferencias individuales; luego el plantel se centra para conservar el promedio colectivo.

### GRL técnico de seis pilares

Para jugadores de campo se calculan 29 subatributos y se agrupan en:

- `RIT`: aceleración y velocidad máxima;
- `TIR`: posicionamiento, definición, potencia, tiros lejanos, voleas y penales;
- `PAS`: visión, centros, tiros libres, pase corto, pase largo y efecto;
- `REG`: agilidad, equilibrio, reacciones, control, regate y compostura;
- `DEF`: intercepciones, cabezazo, conciencia defensiva, entradas y barridas;
- `FÍS`: salto, resistencia, fuerza y agresividad.

El peso de cada pilar cambia para laterales, zagueros, creadores, recuperadores, volantes mixtos, exteriores, nueves, delanteros creativos y extremos. El valor persistido en `historicalOverall` se vuelve a calcular desde esos seis pilares; no se asigna de manera independiente.

Los arqueros usan seis pilares específicos: estirada, manejo, saque, reflejos, velocidad y posicionamiento. Esto evita calcular a un arquero desde tiro o regate.

Forma, condición, fatiga, moral y confianza están expresamente excluidas de la fórmula del GRL base. Sólo pueden modificar el valor efectivo y temporal durante una partida; nunca sobrescriben `historicalOverall`.

### Diferenciación individual

Cada jugador recibe señales separadas y auditables:

- rendimiento: goles, penales, tarjetas y premios documentados;
- jerarquía en el torneo: partidos, titularidades y apariciones como suplente;
- contexto biográfico: edad al inicio y curva de plenitud por posición;
- rol sugerido por posición y dorsal, con peso moderado;
- una huella editorial determinista, derivada del identificador estable, que evita clones cuando la evidencia histórica no alcanza para separar dos convocados.

La huella editorial no cambia al recargar o resimular y tiene menos peso que los hechos documentados. Su función es representar diferencias plausibles sin fingir una exactitud inexistente.

Los arquetipos modifican atributos de manera coherente: arquero atajador o distribuidor; lateral o zaguero; creador, recuperador, volante mixto o exterior; nueve, segundo delantero creador o extremo. Dos jugadores con GRL cercano pueden, por lo tanto, rendir de manera diferente según la táctica.

## Contrato técnico

La metodología ejecutable se identifica como `positional-0.1.0`. Su contrato JSON está en `data/schemas/rating.schema.json` y el cálculo puro en `js/core/ratings.js`. Estos artefactos definen cómo calcular; no asignan valores a jugadores históricos.

La evidencia editorial previa al torneo usa `data/schemas/rating-evidence.schema.json` y `js/ratings/editorial-baseline.js`. Este segundo módulo rechaza evidencia posterior a la fecha de corte, exige al menos cuatro tipos de evidencia y dos fuentes independientes, y entrega atributos completos al cálculo posicional canónico. Los nombres y nacionalidades no participan de la fórmula.

`js/ratings/evidence-pipeline.js` vincula esa evidencia con un jugador real del plantel. Rechaza diferencias de ID o posición y crea un registro compatible con `rating.schema.json`; no escribe automáticamente sobre el catálogo histórico.

Las posiciones canónicas son `GK`, `DEF`, `MID` y `FWD`. El importador puede aceptar `DF`, `MF` y `FW` como alias, pero debe persistir la posición canónica en un registro de valoración.

### Pesos explícitos

| Atributo | GK | DEF | MID | FWD |
|---|---:|---:|---:|---:|
| Ataque | 0 % | 3 % | 8 % | 19 % |
| Defensa | 4 % | 32 % | 12 % | 2 % |
| Pase | 8 % | 10 % | 22 % | 9 % |
| Velocidad | 3 % | 10 % | 8 % | 13 % |
| Definición | 0 % | 1 % | 8 % | 24 % |
| Técnica | 4 % | 7 % | 18 % | 13 % |
| Resistencia | 4 % | 10 % | 10 % | 6 % |
| Fortaleza | 8 % | 10 % | 4 % | 5 % |
| Juego aéreo | 12 % | 10 % | 2 % | 5 % |
| Arquero | 47 % | 0 % | 0 % | 0 % |
| Experiencia | 10 % | 7 % | 8 % | 4 % |

Cada columna suma 100 %. Los atributos con peso cero no cuentan como ausentes para esa posición.

### Campos ausentes y confianza

- Un atributo sólo es válido si es numérico y está entre 0 y 100.
- No se sustituye un dato ausente por cero ni por el promedio del puesto.
- Con menos de 70 % del peso disponible, `historicalOverall` es `null` y el estado es `missing`.
- Con 70 % o más, el promedio se reescala sobre el peso disponible y se devuelve la lista `missingFields`.
- La confianza resultante nunca supera la confianza de la evidencia: cobertura completa puede conservar `high`; entre 85 % y 99 % como máximo produce `medium`; menor cobertura produce `low`.
- El resultado se redondea a un decimal, pero la evidencia original debe conservarse.

### Promedios de selección

El promedio oficial del plantel es la media aritmética de todos los convocados. También se calculan once titular, banco, arqueros, defensa, mediocampo y ataque. Un agregado queda `null` si falta el GRL de cualquiera de sus integrantes; excluir silenciosamente jugadores inflaría o reduciría el promedio.

Los agregados informan `available`, `expected` y `missingIds`. Un grupo vacío no recibe valor cero: se marca como `missing`.

## Objetivo

El GRL inicial debe representar una estimación editorial del nivel de un jugador inmediatamente antes del Mundial correspondiente. Nunca se utilizará su actuación posterior en ese torneo para justificar el valor inicial.

## Valores separados

- `historicalOverall`: GRL previo, inmutable dentro de una partida.
- `currentForm`: forma reciente dentro del universo simulado.
- `fitness`: condición física disponible.
- `morale`: confianza contextual.
- `tournamentPerformance`: rendimiento acumulado en el torneo.
- `effectiveRating`: valor contextual calculado para el próximo partido.

## Evidencia

Cuando exista y sea legalmente reutilizable, se considerará:

- rendimiento de clubes anterior a la fecha de corte;
- rendimiento internacional previo;
- minutos y continuidad;
- nivel de competencia;
- estado físico;
- edad y curva por posición;
- importancia contemporánea en la selección;
- reconocimientos y evaluaciones contemporáneas.

## Cálculo

El GRL individual surge de una combinación ponderada de atributos, con pesos distintos por posición. Los pesos, la versión de fórmula y la fecha de corte deben almacenarse. No se completarán atributos ausentes con ceros: un valor desconocido debe conservarse como desconocido.

El GRL principal de una selección será el promedio simple de los convocados, conforme a la definición del producto. Se mostrarán además el promedio del once, banco, ataque, mediocampo, defensa y arqueros para evitar interpretaciones engañosas.

## Incertidumbre

Toda valoración incluye:

- nivel de confianza (`high`, `medium`, `low`);
- estado (`sourced`, `derived`, `estimated`, `missing`);
- fecha de corte;
- versión metodológica;
- referencias utilizadas;
- explicación breve.

Para épocas con evidencia incompleta se utilizará una rúbrica explícita y revisión independiente. Un número estimado no se presenta como medición exacta.

## Piloto Argentina 1986

El primer control editorial completo se registra en `data/ratings/argentina-1986-audit.json` y `RATING_AUDIT_ARGENTINA_1986.md`. Con fecha de corte 1986-05-30, ninguno de los 22 convocados reunió cuatro clases de evidencia y dos fuentes independientes suficientes para convertir su rendimiento previo en atributos 0–100. El resultado correcto del piloto es, por tanto, conservar todos los GRL como `missing`; el rendimiento posterior dentro del Mundial quedó excluido.

## Evolución

La forma y el valor efectivo podrán cambiar por rendimiento, minutos, fatiga, lesión, moral y contexto. La variación deberá ser moderada, acotada y reversible; nunca sobrescribirá `historicalOverall`.

## Comparación generacional

Se conservarán tres modos separados:

1. nivel histórico sin adaptación;
2. normalización relativa contra contemporáneos;
3. adaptación a las condiciones de una edición elegida.

La transformación usada se mostrará al usuario y no modificará el registro original.
## Paquetes bloqueados de evidencia

Una investigación puede producir un paquete auditable aunque todavía no produzca una valoración. En ese caso debe declarar `status: blocked`, identificar el obstáculo para cada clase de evidencia y mantener tanto `ratingEvidencePayload` como `historicalOverall` en `null`. Los datos de identidad, convocatoria, dorsal, club o posición nunca se convierten por sí solos en valores 0–100.

Un paquete bloqueado no satisface `rating-evidence.schema.json` y no debe rellenarse con ceros: cero sería una valoración, no la ausencia de evidencia. Sólo después de aprobar una rúbrica de normalización y reunir la cobertura mínima puede construirse un payload validable para `estimatePreTournamentBaseline`.
