PT EN
Voltar ao site

Matriz de Visibilidade dos Contextos

A Matriz de Visibilidade dos Contextos governa, em uma única tabela, em quais funcionalidades os dados de cada contexto podem ser usados. Quando a plataforma acumula muitos contextos, toda tela acaba listando todos: o usuário de triagem esbarra em contextos de piloto, o time de BI vê bases que não deveria usar e ninguém sabe onde cada contexto "vale". Na matriz, cada linha é um contexto cadastrado, cada coluna é uma funcionalidade, e o checkbox na interseção diz se aquele contexto aparece naquela funcionalidade — a exposição de todos os contextos governada de um lugar só, com efeito imediato.

A matriz fica no topo da tela SistemaContextosGerenciar (screens/settings-contextos.html), entre o cabeçalho e a seção "Configurações por Contexto".

Colunas (funcionalidades cobertas)

ColunaFuncionalidadeAplicação hoje
Painel de RegrasContextos visíveis na coluna de regras da triagemAtiva (legado)
Upload PDFContextos disponíveis no envio de PDFAtiva (legado)
Upload URLContextos disponíveis no envio de URL/legislaçãoAtiva (legado)
DATTABIContextos habilitados para os painéis analíticosRegistrada (governança)
DATTA ExtractContextos habilitados para extração/pipelineRegistrada (governança)
OntologiaContextos listados na tela de Ontologia (Investigação)Ativa

As três primeiras colunas (Painel de Regras, Upload PDF e Upload URL) já existiam antes da matriz e continuam guardadas nas configurações globais da plataforma, cada uma com seu próprio endpoint. As três últimas (DATTABI, DATTA Extract e Ontologia) são a extensão mais recente.

Semântica: lista vazia = todos visíveis

A regra vale para todas as colunas:

  • Nenhum contexto marcado numa coluna → todos os contextos ficam visíveis naquela funcionalidade. Este é o estado inicial.
  • Um ou mais marcadossomente os marcados aparecem; os demais são filtrados.

Essa semântica evita que você "se tranque": desmarcar todos os contextos de uma coluna volta ao comportamento de todos-visíveis, nunca a uma tela vazia.

Como usar

  1. Acesse SistemaContextosGerenciar.
  2. Na Matriz de Visibilidade dos Contextos (topo da página), localize a linha do contexto e a coluna da funcionalidade. A linha traz o rótulo de exibição do contexto, não o nome interno — o contexto de nome interno Emprestimos aparece como "Análise de Crédito — Empréstimos". Os avisos que apontam para esta matriz nomeiam o contexto nas duas formas, Rótulo (nome-interno), justamente para você achar a linha.
  3. Marque ou desmarque o checkbox. A alteração persiste imediatamente — não existe botão "Salvar" separado — e sobrevive a um reload da página.
  4. Na coluna Painel de Regras, a matriz avisa a tela de regras de triagem na hora, e ela se atualiza em tempo real. Nas demais, recarregue a tela correspondente para conferir o efeito.

Permissão necessária. Ver a matriz exige CONFIG_VIEW; alterar um checkbox exige CONFIG_EDIT. Sem CONFIG_EDIT, a gravação é negada com mensagem em português. Veja o guia de roles e permissões.

Exemplo prático — restringir um contexto em piloto

Você acabou de criar o contexto "Consumidor" e quer que, por enquanto, ele apareça apenas na triagem — fora do envio de documentos e da Ontologia:

  1. Abra SistemaContextosGerenciar e localize a matriz no topo.
  2. Na coluna Painel de Regras, marque todos os contextos que devem seguir visíveis — incluindo "Consumidor". (Lembre: enquanto a coluna estava vazia, todos apareciam; ao marcar, só os marcados aparecem.)
  3. Nas colunas Upload PDF, Upload URL e Ontologia, marque todos os contextos exceto "Consumidor".
  4. Cada clique persiste na hora. Recarregue a tela de regras ou de Ontologia para conferir o efeito.

O que cada funcionalidade faz com a matriz

Painel de Regras, Upload PDF e Upload URL — aplicação ativa

A tela de regras da triagem recebe a lista de contextos já filtrada. As telas de envio (PDF e URL) filtram a lista ao carregar; se a consulta de visibilidade falhar por indisponibilidade transitória, elas degradam mostrando todos os contextos — você nunca fica sem opção por causa de uma oscilação.

Ontologia — aplicação ativa

A tela de Ontologia (parte da Investigação) respeita a matriz ao listar contextos: ao montar a lista de domínios, ela consulta em paralelo a lista de contextos configurados e a lista de contextos visíveis para Ontologia e, se a segunda for não-vazia, filtra os que não estão nela. Desmarcar um contexto na coluna Ontologia o remove da tela de Ontologia, com efeito imediato após recarregar a tela.

Se a consulta à matriz falhar, a tela degrada mostrando todos os contextos — mesmo padrão das telas de envio — para nunca deixar o usuário sem contexto por uma indisponibilidade transitória.

DATTABI e DATTA Extract — governança registrada

As colunas DATTABI e DATTA Extract persistem a intenção de visibilidade e expõem os flags para consumo, mas ainda não filtram as telas correspondentes. O motivo é concreto: hoje essas telas operam por conexões, datasets e referências livres, e não enumeram contextos — a extração rápida lista conexões, e o destino Neo4j do DATTABI Prep é um campo de texto livre. Assim que esses seletores passarem a enumerar contextos, poderão consumir os flags para aplicar o filtro.

Na prática: marcar ou desmarcar DATTABI e DATTA Extract registra a governança e fica disponível para consumo futuro, mas não altera o que aparece nessas telas nesta entrega. A matriz é visibilidade de interface e governança, não uma ACL de dados no servidor.

Onde a configuração fica guardada

As três funcionalidades novas ficam num arquivo dedicado, context-visibility.json, no mesmo diretório da configuração de runtime, dentro do volume de configuração da plataforma. O armazenamento usa trava de leitura/escrita mais cache em memória e aplica a semântica "lista vazia = todos visíveis".

O formato do arquivo é um mapa funcionalidade -> lista de contextos:

json
{
  "ontology": ["processos", "cnpj"],
  "dattabi": [],
  "extract": ["processos"]
}

As funcionalidades legadas (regras, envio de PDF, envio de URL) não migraram — continuam nas configurações globais, para zero risco de migração.

Consultar e gravar por integração

A plataforma expõe endpoints para ler o mapa completo de funcionalidade → contextos visíveis, ler os contextos visíveis de uma funcionalidade e gravar a lista de uma funcionalidade. A leitura exige CONFIG_VIEW; a gravação exige CONFIG_EDIT. Método e caminho de cada um estão na referência de API.

Duas regras valem para essas chamadas:

  • A funcionalidade é restrita por allowlist: dattabi, extract e ontology. Qualquer outro valor é recusado com uma mensagem em português no formato {"error": "Funcionalidade desconhecida: <feature>"}.
  • Na gravação, a lista de contextos ausente ou nula é tratada como lista vazia — ou seja, volta ao estado de todos-visíveis.

Limitações conhecidas

  • DATTABI e DATTA Extract sem filtro de tela. Os flags são persistidos e expostos, mas as telas ainda não filtram contextos. O passo seguinte é consumir os flags quando os seletores dessas telas passarem a enumerar contextos.
  • Governança de interface, não ACL de dados. A matriz não restringe acesso a dados no servidor por contexto — ela controla o que aparece nas telas. Restrição de dados por contexto é escopo de outra spec.
  • A aplicação na Ontologia é feita na tela e degrada aberta. A filtragem acontece no frontend e, se a consulta falhar, todos os contextos voltam a aparecer.

Diagnóstico

SintomaO que verificar
Contexto some ou aparece na Ontologia inesperadamenteConfira a coluna Ontologia da matriz. Lembre que lista vazia = todos visíveis; se só um contexto está marcado, apenas ele aparece.
O checkbox não persiste ou dá erroVerifique se o usuário tem CONFIG_EDIT. Em falha de gravação, a plataforma devolve a mensagem de erro em português na própria tela.
Quero conferir o estado atual sem abrir a telaConsulte o mapa completo de funcionalidade → contextos pela referência de API.