O playground é um ambiente visual onde você escreve e testa rulesets sem precisar mexer em JSON na mão. Ele junta um mapa com um builder baseado em grafo: você desenha um polígono, solta nós em um canvas, conecta, e vê o verdict na mesma tela.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.
Visão geral
O playground divide a tela em três áreas:
- Mapa — desenhe ou cole uma geometria. Ela vira o
$inputde todo set ancorado nela. - Canvas do builder — o ruleset visual. Cada nó é um
set,projection,checkouverdict; arestas representam referências (ex.: um check apontando para um set). - Painel — o botão Run ao vivo, a visualização JSON, o verdict e a evidence após cada execução.
Loop de autoria
O loop típico:- Desenhe um polígono no mapa (ou cole GeoJSON).
- Escolha um ponto de partida — canvas vazio ou um template.
- Adicione nós da paleta e conecte-os.
- Clique em Run para avaliar contra o polígono.
- Inspecione o verdict e a evidence por check.
- Itere.
A paleta
A paleta na sidebar tem os tipos de nó que você pode soltar no canvas:
| Nó | O que produz |
|---|---|
source_set | Um set ancorado em um source espacial (ex.: br:icmbio:conservation-units). |
subject_set | Um set ancorado em um subject register (ex.: ofac:sdn). |
setop_set | Um set construído via union / intersection / difference de outros sets. |
projection | Um valor escalar ou geométrico computado sobre um set (count, total_area_m2, …). |
check | Um predicate booleano com uma severity. Alimenta o verdict. |
Editores
Todo nó tem um editor tipado. O editor aplica as mesmas regras que a API aplica — configurações inválidas são sinalizadas antes do run.
source_set, você escolhe:
- O source do catálogo (auto-sugerido via
GET /v1/sources). - O join —
intersects,dwithin,contains,within,disjoint,subject_match. - O target —
$inputou outro set do grafo. - Um filter opcional (ex.: temporal, property-equals).
check, você escolhe:
- A severity —
critical,high,medium,low,info. - O predicate —
exists(set não-vazio) outhreshold(projection referenciada passa por uma comparação).
Conectando nós
Arraste do handle de saída de um nó até o handle de entrada de outro. O builder rejeita conexões que criariam ciclos ou que violam tipos.
Run e inspeção
Clique em Run na topbar para avaliar o canvas contra a geometria atual do mapa. O painel atualiza com:- O
status(ok/degraded) e ooutcome(compliant,warning,non_compliant,degraded) no topo. - Cada check:
triggered,severity, lista de evidence. - Cada projection: valor computado.

Visualização JSON
Toda edição visual sincroniza nos dois sentidos com um documento JSON. Clique em Show JSON para abrir o modal — copie o body para usar direto emPOST /v1/evaluate, ou cole um ruleset para carregá-lo
no canvas.

Templates
A sidebar oferece pontos de partida prontos cobrindo padrões comuns:| Template | O que mostra |
|---|---|
overlap_ratio_tiers | Checks em camadas sobre razões de sobreposição (majority vs partial). |
distance_tiers | Camadas de severity baseadas em distância (very close / close / far). |
distance_band | Match de feições em uma faixa de distância [min, max]. |
chained_sets | Um set cruzado contra outro set em vez de $input. |
dynamic_buffer_app | Buffer cuja distância é lida de uma propriedade da feição. |
merged_hazard_zone | Projection merge unificando geometrias de um set numa camada de hazard. |
temporal_recency | Filtra feições mais novas/velhas que uma janela relativa. |
multi_join | Múltiplos sources em um único ruleset. |
Quando usar o builder vs JSON cru
- Builder: explorar políticas, demos para stakeholders, escrever uma primeira versão visualmente antes de revisar.
- JSON cru: editar um ruleset salvo de forma programática, code review em um PR, geração automática a partir de uma config de alto nível.