> ## 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

> Como os resultados dos checks compõem status + outcome.

Toda resposta do `/v1/evaluate` carrega **dois enums no topo**, de
propósito:

| Campo     | Valores                                             | Significado                          |
| --------- | --------------------------------------------------- | ------------------------------------ |
| `status`  | `ok`, `degraded`                                    | A avaliação terminou de forma limpa? |
| `outcome` | `compliant`, `warning`, `non_compliant`, `degraded` | A política foi aprovada?             |

Você lê os dois. `status: ok` + `outcome: non_compliant` é uma
avaliação limpa que encontrou violação de política — bloqueie.
`status: degraded` é uma avaliação incompleta independentemente do
outcome — trate com cautela e considere retry.

## Semântica de outcome

| Outcome         | Significado                                                                   |
| --------------- | ----------------------------------------------------------------------------- |
| `compliant`     | Todos os checks passaram. Pode prosseguir.                                    |
| `warning`       | Pelo menos um check de severity warning disparou. Revise antes de prosseguir. |
| `non_compliant` | Pelo menos um check de severity error disparou. Bloqueie.                     |
| `degraded`      | Resultado incompleto; alguns checks não puderam ser avaliados.                |

## Severity

Cada check declara uma de cinco severities — `critical`, `high`,
`medium`, `low`, `info`. A política default mapeia para outcomes mais
ou menos assim:

* `critical` / `high` → ao disparar, empurra o outcome para
  `non_compliant`.
* `medium` / `low` → ao disparar, empurra o outcome para `warning`
  (caso ainda não esteja em `non_compliant`).
* `info` → nunca afeta o outcome; aparece como check disparado
  apenas para fins de relatório.

Rulesets também podem declarar um `verdict_policy` explícito para
sobrescrever o mapeamento default. Veja o
[guia de autoria](/pt-BR/authoring/ruleset-basics).

## Evidence

Cada check disparado carrega até 20 feições casadas em `evidence[]`
— os itens que efetivamente fizeram o check disparar. Use-os para
explicar ao usuário ("o polígono sobrepõe a Terra Indígena
*Yanomami* em 0,42 km²") em vez de mostrar flags pass/fail opacas.

Cada check também reporta `total_matched` — quando este excede
`evidence.length`, a UI deve indicar truncamento.
