Pular para o conteúdo principal

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.

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.

Visão geral

O playground divide a tela em três áreas:
Layout do playground: mapa à esquerda, canvas do builder no centro, painel de resultados à direita
  1. Mapa — desenhe ou cole uma geometria. Ela vira o $input de todo set ancorado nela.
  2. Canvas do builder — o ruleset visual. Cada nó é um set, projection, check ou verdict; arestas representam referências (ex.: um check apontando para um set).
  3. 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:
  1. Desenhe um polígono no mapa (ou cole GeoJSON).
  2. Escolha um ponto de partida — canvas vazio ou um template.
  3. Adicione nós da paleta e conecte-os.
  4. Clique em Run para avaliar contra o polígono.
  5. Inspecione o verdict e a evidence por check.
  6. Itere.

A paleta

A paleta na sidebar tem os tipos de nó que você pode soltar no canvas:
Paleta do builder com os cinco tipos de nó
O que produz
source_setUm set ancorado em um source espacial (ex.: br:icmbio:conservation-units).
subject_setUm set ancorado em um subject register (ex.: ofac:sdn).
setop_setUm set construído via union / intersection / difference de outros sets.
projectionUm valor escalar ou geométrico computado sobre um set (count, total_area_m2, …).
checkUm predicate booleano com uma severity. Alimenta o verdict.
Solte um nó, depois clique nele para abrir o editor dele na sidebar direita.

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.
Editor de source set: seletor de source, op de join, target, filter opcional
Para um source_set, você escolhe:
  • O source do catálogo (auto-sugerido via GET /v1/sources).
  • O joinintersects, dwithin, contains, within, disjoint, subject_match.
  • O target$input ou outro set do grafo.
  • Um filter opcional (ex.: temporal, property-equals).
Para um check, você escolhe:
  • A severitycritical, high, medium, low, info.
  • O predicateexists (set não-vazio) ou threshold (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.
Dois source sets alimentando um setop set, que alimenta um check

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 o outcome (compliant, warning, non_compliant, degraded) no topo.
  • Cada check: triggered, severity, lista de evidence.
  • Cada projection: valor computado.
Painel de resultado mostrando um outcome non_compliant com a evidence destacada no mapa
As feições de evidence ficam destacadas no mapa para você ver exatamente quais polígonos provocaram o verdict.

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 em POST /v1/evaluate, ou cole um ruleset para carregá-lo no canvas.
Modal JSON mostrando o body canônico do ruleset

Templates

A sidebar oferece pontos de partida prontos cobrindo padrões comuns:
TemplateO que mostra
overlap_ratio_tiersChecks em camadas sobre razões de sobreposição (majority vs partial).
distance_tiersCamadas de severity baseadas em distância (very close / close / far).
distance_bandMatch de feições em uma faixa de distância [min, max].
chained_setsUm set cruzado contra outro set em vez de $input.
dynamic_buffer_appBuffer cuja distância é lida de uma propriedade da feição.
merged_hazard_zoneProjection merge unificando geometrias de um set numa camada de hazard.
temporal_recencyFiltra feições mais novas/velhas que uma janela relativa.
multi_joinMúltiplos sources em um único ruleset.
Templates carregam no canvas; a partir daí você adapta nomes, sources, severities e thresholds à sua política.

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.
Os dois são intercambiáveis — a visualização JSON é canônica e o builder é só uma renderização sobre ela.