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

# Como funciona

> Geometria → sources → checks → verdict.

Toda chamada segue o mesmo fluxo:

```
sua geometria  ─┐
                ├─→  match contra reference sources
seu ruleset    ─┘    (áreas protegidas, sanções, registros, ...)
                          │
                          ▼
                    executa checks (count, área, distância,
                                    subject match, ...)
                          │
                          ▼
                    compõe um verdict
```

## Os quatro primitivos

### Sets

Um **set** é uma coleção de feições (polígonos, pontos, linhas ou
registros de subject). Sets são ou ancorados em um source — por
exemplo, "todas as feições em `funai_tis` que
intersectam minha geometria de input" — ou construídos via operações
de conjunto (`union`, `intersection`, `difference`) sobre outros sets.

### Projections

Uma **projection** computa um valor a partir de um set: `count`,
`total_area_m2`, `min_distance_m`, um agregado sobre uma propriedade
da feição, ou um merge de geometrias. Projections produzem números e
geometrias — não contribuem para o verdict por si só.

### Checks

Um **check** verifica algo sobre um set ou uma projection e produz um
resultado booleano com uma `severity`. Dois sabores:

* `exists` — o set é não-vazio?
* `threshold` — o valor de uma projection passa por uma comparação
  `op` + `value`? (ex.: `count >= 1`, `total_area_m2 > 50000`)

### Verdict

O verdict combina os resultados dos checks pela severity. A resposta
carrega dois enums propositadamente:

* `status` — `ok` ou `degraded`. **Saúde de execução.**
* `outcome` — `compliant`, `warning`, `non_compliant` ou
  `degraded`. **Resultado de compliance.**

Veja [Verdicts](/pt-BR/concepts/verdicts) para a semântica completa.

## Três estilos de uso

| Estilo              | Endpoint                            | Quando usar                                      |
| ------------------- | ----------------------------------- | ------------------------------------------------ |
| Descoberta crua     | `/v1/intersections`, `/v1/distance` | Exploração, debug, queries pontuais              |
| Lookup de subject   | `/v1/subjects`                      | Sanções / blacklist / registro por identificador |
| Compliance completo | `/v1/evaluate`                      | Decisões de produção contra um ruleset           |

A maioria dos clientes começa com descoberta e migra para
`/v1/evaluate` quando a política se estabiliza.
