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

Esquemas

A versão 1 do protocolo usa JSON Schema Draft 2020-12:

https://json-schema.org/draft/2020-12/schema

O modelo canônico tem exatamente três pilares:

  • Direção (Vision) — research, prd, context
  • Ciclo (Loop) — triage, design-document, spec, ticket
  • Evidências (Evidence) — adr, audit, record, drift

Drift é um tipo de evidência, não um pilar. Os primeiros nove tipos são famílias de documentos Markdown. Records e Drift Events são envelopes JSON.

Exportações

@langdrift/sdk/schema exporta:

  • SCHEMA_VERSION, atualmente o literal 1
  • schemas, um esquema para cada tipo de artefato
  • projectSchema
  • pillarSchemas.vision, .loop e .evidence
  • artifactPillars, o mapeamento de tipos para pilares

Cada esquema de pilar incorpora as definições e formatos de artefatos necessários, tornando o arquivo de esquema gerado autossuficiente.

Comportamento da validação

Os esquemas exigem schema_version: 1 explícito. Os IDs de artefatos não podem ser vazios nem conter espaços em branco. Os metadados Markdown exigem type, schema_version, id, title e ao menos um owner. Os campos de Record, Drift Event, referências, atores e projetos são definidos separadamente.

Os objetos rejeitam propriedades desconhecidas quando o protocolo define um formato fechado. O validador não converte tipos, aplica valores padrão, remove campos nem migra versões não compatíveis. As verificações de formato cobrem datas, datas e horas e outras strings específicas do protocolo.

x-langdrift é uma orientação do protocolo ao lado das asserções padrão de JSON Schema. Ele registra informações como tipo de documento, versão, padrão de origem definido pelo pacote, namespace e campos obrigatórios do frontmatter, relações de referência, pilar e recurso do payload. Um validador JSON Schema genérico pode ignorar essa extensão; o LangDrift a usa para descrever a interpretação.

Os esquemas descrevem entradas portáveis. Eles não definem uma fórmula de Product Vision nem comprovam que um backend, integração ou servidor MCP existe.

Editar esta página no GitHub