> ## Documentation Index
> Fetch the complete documentation index at: https://docs-attestly.code4source.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Verdicts

> Cómo los resultados de los checks componen status + outcome.

Cada respuesta de `/v1/evaluate` lleva **dos enums en el nivel
superior**, a propósito:

| Campo     | Valores                                             | Significado                         |
| --------- | --------------------------------------------------- | ----------------------------------- |
| `status`  | `ok`, `degraded`                                    | ¿La evaluación terminó limpiamente? |
| `outcome` | `compliant`, `warning`, `non_compliant`, `degraded` | ¿La política pasó?                  |

Lees ambos. `status: ok` + `outcome: non_compliant` es una
evaluación limpia que encontró violación de política — bloquea.
`status: degraded` es una evaluación incompleta independientemente
del outcome — trátalo con cautela y considera reintentar.

## Semántica de outcome

| Outcome         | Significado                                                              |
| --------------- | ------------------------------------------------------------------------ |
| `compliant`     | Todos los checks pasaron. Seguro proceder.                               |
| `warning`       | Al menos un check de severity warning disparó. Revisa antes de proceder. |
| `non_compliant` | Al menos un check de severity error disparó. Bloquea.                    |
| `degraded`      | Resultado incompleto; algunos checks no pudieron evaluarse.              |

## Severity

Cada check declara una de cinco severities — `critical`, `high`,
`medium`, `low`, `info`. La política default mapea a outcomes más o
menos así:

* `critical` / `high` → al disparar, empuja el outcome a
  `non_compliant`.
* `medium` / `low` → al disparar, empuja el outcome a `warning` (si
  todavía no está en `non_compliant`).
* `info` → nunca afecta el outcome; aparece como check disparado
  solo para fines de reporte.

Los rulesets también pueden declarar un `verdict_policy` explícito
para sobrescribir el mapeo default. Ver la
[guía de autoría](/es/authoring/ruleset-basics).

## Evidence

Cada check disparado lleva hasta 20 features coincidentes en
`evidence[]` — los items que efectivamente hicieron disparar el
check. Úsalos para explicar al usuario ("el polígono solapa el
Territorio Indígena *Yanomami* en 0,42 km²") en vez de mostrar
flags pass/fail opacos.

Cada check también reporta `total_matched` — cuando este excede
`evidence.length`, la UI debe indicar truncamiento.
