Ir para o conteúdo

Projeto independente de P&D · Colônia

Visão geral da pesquisa aplicada

Respostas de uma autoridade, ao longo do tempo

AnyValid

“A autoridade disse não”, “a autoridade não respondeu” e “não temos como perguntar” são três fatos diferentes, e um sistema que os funde transforma o seu próprio problema de rede na constatação negativa de alguém.

Estado: Conceito de pesquisa · protótipo não publicado

A pergunta de pesquisa

Uma afirmação, um identificador ou um estado pode ser validado junto a uma fonte com autoridade, e essa validação ainda está vigente?

  • O que a fonte com autoridade disse?
  • Quando disse?
  • Essa resposta ainda está vigente?
  • O que acontece quando ela não diz nada?

O modelo, de forma interativa

Um número de registro é enviado a um órgão de registro. Escolha como a troca termina e avance no tempo para ver o que o registro faz em seguida.

Como a troca termina
  • Solicitado
  • Fonte contatada
  • Resultado registrado
  • Janela de validade
  • Expirado
  • Revalidação

As durações das janelas são ilustrativas; cada adaptador de autoridade define a sua.

Estado neste dia · A

Válido

A autoridade confirmou

A resposta é guardada com o seu horário e uma janela de validade. Antes de a janela se fechar, uma tarefa de revalidação passa a ser devida.

  1. Dia 0Solicitação registrada
  2. Dia 0Adaptador chamado
  3. Dia 300Tarefa de revalidação passa a ser devida
  4. Dia 365A janela se fecha: o estado passa a expirado; a resposta em si fica intacta
  5. Dia 366Um novo caso pergunta de novo e aponta para o caso que ele substitui

O que o diferencia

AnyVerify

A pergunta dele

As fontes disponíveis concordam entre si?

Por que isto não é aquilo

O AnyValid não compara fontes. Ele pergunta à única fonte cuja resposta conta, e acompanha quanto tempo essa resposta dura.

AnyTrace

A pergunta dele

Por onde esta coisa passou?

Por que isto não é aquilo

O AnyValid acompanha uma resposta ao longo do tempo, não uma coisa de mão em mão.

As checagens de registros do AnyDPP

A pergunta dele

A evidência deste passaporte se confirma agora?

Por que isto não é aquilo

O corredor checa registros brasileiros nomeados dentro do seu próprio pipeline. O AnyValid estuda o ciclo de vida da resposta de qualquer autoridade, fora de um pipeline específico.

Um cenário, passo a passo

Um número de registro, da primeira pergunta à segunda.

Passo 1 de 6: Perguntar

  1. Uma solicitação registra o objeto, a autoridade e o horário. Se não existe adaptador para aquela autoridade, o estado é indisponível e nenhuma solicitação sai do sistema.

  2. A resposta é armazenada literalmente, com o seu horário. Válido e inválido são as palavras da autoridade; erro significa que ela não respondeu.

  3. Erro e indisponível abrem uma tarefa para uma pessoa. Uma checagem manual é um ato de autoridade com o seu motivo, nunca uma edição silenciosa do estado.

  4. Uma resposta válida traz uma janela. Antes de ela se fechar, uma tarefa de revalidação passa a ser devida.

  5. Quando a janela se fecha, o estado passa a expirado. O conteúdo da resposta não é tocado: o que a autoridade disse continua sendo o que ela disse.

  6. A revalidação abre um novo caso ligado ao caso que ele substitui, de modo que as duas respostas continuam legíveis, em sequência.

Primitivas centrais

  • Solicitação de validação

    AnyValidRequest

    O que foi perguntado, a qual autoridade, quando, quantas vezes, e o que voltou, literalmente.

  • Adaptador de fonte

    SourceAdapter

    Um por autoridade. Ou responde, ou diz que não conseguiu. Cada linha registra se o adaptador estava ativo ou era uma referência sobre um arquivo de teste.

  • Estado da validação

    ValidationState

    Pendente, válido, inválido, erro (sem resposta), indisponível (sem conector), expirado. Seis estados, porque são seis situações diferentes.

  • Janela de validade

    valid_until, revalidate_after

    Por quanto tempo uma resposta vale, e quando começar a perguntar de novo.

  • Substituição

    supersedes link

    Uma revalidação é um novo caso que aponta para o antigo. O que a autoridade disse em março fica no registro de março.

  • Recurso a uma pessoa

    fallback task

    Quando a troca não pode ser concluída, uma tarefa vai para uma pessoa. Uma checagem manual é registrada como um ato de autoridade, com o seu motivo.

O que existe, e o que não existe

No repositório

  • app/products/anyvalid/service.py: solicitar, perguntar, concluir, recorrer a uma pessoa, expirar, revalidar, checagem manual
  • Um adaptador de referência sobre um arquivo de teste, identificado como mode=reference em cada linha que escreve
  • tabela anyvalid_requests
  • 8 rotas autenticadas
  • tests/any_family/test_anyvalid.py: as três não respostas, a identificação de referência, o recurso a uma pessoa, a revalidação (20 testes)

Agenda de pesquisa, não construída

  • Qualquer adaptador ativo para uma autoridade real
  • Um agendador: expiração e revalidação podem ser chamadas e estão testadas, e nada as chama por temporizador
  • Uma visão, por autoridade, das tentativas e dos silêncios

Onde fica na AnyLAI

AnyValid

  • Application kernelSolicitações são casos do núcleo; respostas são evidências; recursos a uma pessoa são tarefas; checagens manuais são atos de autoridade.
  • ERQYOO ERQYO nomeia a mesma fronteira pelo outro lado: ASK quando falta algo, HANDOFF quando o sistema não detém autoridade. O AnyValid não tem chamador do ERQYO.
  • ligação entre casos pelo núcleo
  • uso direto de outro módulo ou sistema
  • chamada em modo sombra: registrada, nunca executada

Limites e não objetivos

  • Nenhuma autoridade real está conectada. O único adaptador lê um arquivo de teste e diz isso.
  • Ele registra o que uma autoridade disse; não interpreta o que essa resposta significa para ninguém.
  • Nada expira nem se revalida sozinho ainda.
  • Uma resposta inválida é registrada, não contestada: disputar com uma autoridade está fora do seu escopo.

Estado atual

Estado da pesquisa

  • Conceito de pesquisa · protótipo não publicado
  • Não publicado: rotas desligadas
  • Sem uso em produção, sem dados reais
  • 20 testes no repositório

Um módulo protótipo sobre o núcleo compartilhado, com um adaptador de referência. Desligado, não publicado, e nunca conectado a uma autoridade real.

Suíte de testes: python-backend/tests/any_family/test_anyvalid.py

Projeto de pesquisa · P&D independente · Não é uma oferta comercial