Ir para o conteúdo
Explorar a documentação

Determinístico primeiro

O LangDrift raciocina sobre mudanças, não sobre repositórios. Os arquivos do repositório são entradas estruturadas; eventos normalizados e suas relações explícitas são as unidades usadas para descrever a evolução do produto.

Trabalho determinístico

Os pacotes atuais implementam operações reproduzíveis:

  • validar dados de projetos, artefatos, registros (Record) e desvios (Drift) com JSON Schemas versionados;
  • analisar frontmatter langdrift explícito, preservando o corpo Markdown como texto;
  • descobrir apenas os locais .drifts declarados pelo pacote, em ordem, sem seguir links simbólicos;
  • derivar identidades estáveis de Record quando identidades imutáveis da origem são fornecidas a recordId;
  • resolver referências locais e registradas explícitas sem consultas remotas;
  • construir envelopes de payload com roteamento, proveniência, referências e conteúdo validado;
  • planejar a configuração como create, preserve ou conflict, sem sobrescrever conteúdo existente.

A validação não converte valores, remove campos desconhecidos, preenche fatos ausentes nem migra versões não compatíveis. A configuração não faz solicitações de rede.

Trabalho interpretativo

Aplicações ou pessoas ainda decidem:

  • com qual alvo de direção (Vision Target) comparar a mudança observada;
  • se essa mudança é expected ou unexpected;
  • quais evidências (Evidence) sustentam a interpretação;
  • quais unidade e valores de impacto são adequados;
  • se o raciocínio é human, deterministic ou llm;
  • como Product Vision é calculado e apresentado.

O SDK registra e valida essas decisões fornecidas. Ele não as torna canônicas.

Sem dependência de LLM

@langdrift/sdk não inclui, chama nem exige um LLM. Um evento de desvio (Drift Event) pode declarar raciocínio human, deterministic ou llm. Quando llm é fornecido, o esquema exige um identificador de modelo e ao menos um ID de evidência vinculado; quem chama a API continua responsável por executar o modelo e fornecer uma saída fundamentada.

O transporte segue o mesmo limite. As aplicações injetam um transporte em sendPayload; o SDK não fornece um backend em execução, endpoint, fila, novas tentativas automáticas ou envio automático.

Editar esta página no GitHub