CVH · Canonical Vocabulary Harness · Profile v0.3
Application profile (DCMI/DCAT-AP sense) for an anti-drift canonical-vocabulary harness: governance extensions over schema.org, SKOS and PROV. The vocabulary is the single source of truth; the LLM stays off the truth path; promotion is operator-gated.
Resolução das decisões 34/42
5Autoridade concêntrica
P1: A verdade tem um centro e anéis de projeção, nunca fragmentos pares. Anel 0 vocabulário; anel 1 controle; anel 2 projeções geradas; anel 3 runtime. Conflito resolve para dentro; segmentar por NATUREZA (declaração vs estado), nunca por domínio: no ssothrut o centro é o vocabulário (declaração) + o ledger/registry (estado). O anel 0 é injetado inteiro, por contrato: estado binário, sem fragmentos.
Atomicidade
P2: O que entra, entra inteiro ou não entra. O termo é o átomo semântico; o rito é transação tudo-ou-nada; o contexto é atômico.
Idempotência
P3: f(f(x)) = f(x): repetir qualquer passo converge ao mesmo estado e nunca duplica efeito. Re-submeter termo já ingerido converge, não duplica.
Determinismo
P4: Mesmo input, mesmo output no caminho da verdade. O LLM fica FORA desse caminho (driftGuard é P4 na era agêntica); fórmulas, manifests, checksums e gates ficam dentro.
Invariante de rótulo bilíngue
I2: Todo conceito declara exatamente um skos:prefLabel por idioma ativo (pt-BR, en) no ato da ingestão; o @id é neutro de idioma. O validador rejeita termo novo sem o par.
Regra da ponte semântica
I2 extension: Rótulos são pareados; sentenças são ponteadas, não duplicadas. Cada termo declara sua língua nativa e porta skos:definition no idioma OPOSTO, escrita para o leitor da outra língua, nunca tradução literal. O validador rejeita termo sem sourceLanguage ou sem a definição no idioma oposto.
Rito de ingestão
Gate único de enforcement para termos novos: classificar (ingestion-policies) -> declarar (@id + par de labels pt-BR/en + sourceLanguage + definição-ponte no idioma oposto + status proposed + creator) -> refletir nas superfícies -> validador de paridade passa -> validação externa (external-validation-gate / advisor) revisa contra as regras como PRÉ-TRIAGEM -> promoção a active SEMPRE exige confirmação explícita do operador ROOT (operator_confirmed; I8), nunca automática -> status active. Nada entra em código, payload, UI ou prompt antes de declarado (I1). Transação atômica (P2), replay-safe (P3).
Gate de validação externa
Loop de validação externa para promover proposed. adv-1: o advisor (Claude Code advisor(), ou subagente com o prompt estrutural padrao em outras plataformas) revisa a mudança/termo contra as regras pré-definidas e dá diretivas. adv-2: o agente executor itera sobre o retorno; sob a condição 'atende critérios' segue para adv-3, senão retorna a adv-1 para nova revisão (loop de convergência). adv-3: APÓS confirmação explícita do operador (operator_confirmed; nunca automática), o executor aplica proposed -> active: o advisor revisa, não escreve nem promove. Julgamento (ambiguidade, escopo ou direção) vai ao ROOT, que é a saída do loop. Subrotina do vocabulary.yaml para auto-avaliação estrutural.
Prosa derivada
F3: Policies, system prompts e READMEs são PROJEÇÕES do vocabulário, nunca fonte. Todo artefato derivado porta header generated-from: ssot:vocabulary@versao; a geração é idempotente para verificação por regeneração + byte-compare. Cópia divergente é falha de paridade, não detalhe editorial.
Contrato de evidência
I9: Toda fonte emite manifest + checksum + resumo determinístico, reconciliado mecanicamente contra a matriz original. Sem reconciliação automática, a fonte é lápide. Ruído conhecido é classificado e preservado, nunca promovido nem apagado.
Validador de paridade
I10: Checagem de máquina entre superfícies: vocabulário <-> registry <-> prosa <-> enums de código <-> docs. Roda como gate; drift é erro de build. Registrado como feature ingestion_policy EVAL: a lei se autofiscaliza.
Aprovação do operador
I8: Operações destrutivas, mudança de rota arquitetural, fuga de escopo fixado e alto impacto na engine acontecem apenas com aval explícito do operador ROOT. Termos padronizados: approve/approval (en), aprovar/aprovação (pt-BR).