Schemas: os contratos publicados
Todo artefato que a codafort emite segue um contrato público e versionado, cujo $id aponta para esta página. Quem recebe um laudo ou uma declaração contra-assinada valida o arquivo contra o contrato, sem depender de quem o gerou.
Os contratos
O nome coda-<modalidade>/1 diz o tipo de análise; a ferramenta que emitiu o arquivo vem no campo tool.
Declaração contra-assinada (Ed25519) sobre o resultado de um scan, com as evidências de cada análise em
evidence[] e os artefatos em artifacts[] (formato in-toto).
coda-finding/1O Finding canônico, comum à análise de código (src) e à de execução (run). coda-fort/1
Envelope da análise de código-fonte. coda-dast/1
Envelope DAST (app viva, por fora). coda-iast/1
Laudo IAST: quais findings estáticos a execução confirmou e quais não mediu. coda-vet/1
Veredito do
vet sobre uma mudança (código gerado por IA), com os eixos que rodaram e os que não rodaram.
coda-crash/1Análise de crash, heap e
hs_err do codacrash; o campo kind diz qual.
coda-profile/1Perfil de desempenho do codacrash. codafort-interaction/1
O uso do codafort por um agente num repositório conectado à plataforma.
Exemplos capturados de execuções reais em /schemas/fixtures/. Como os artefatos se ligam: A cadeia de evidência.
Versionamento
Campo novo é opcional e só aparece quando usado. Mudança incompatível vira tag nova (/2). Artefato assinado nunca é reassinado: tokens já emitidos continuam verificáveis, inclusive os do formato antigo codafort-attestation/1.
O que estes artefatos não provam
Uma declaração contra-assinada prova a integridade e a autoria do resultado, não a ausência de vulnerabilidade. artifacts[] é declarado por quem emite e não prova o vínculo entre build e fonte (isso é provenance de build, SLSA L2+). O laudo diz o que não foi medido (unreached, axes_skipped), e não medido nunca quer dizer seguro. A verificação (/verify, offline) é grátis para qualquer parte, para sempre.