Le standard de preuve · evidence.v1

La preuve qu'une action a vraiment eu lieu.

RootBlocks transforme chaque action gouvernée (un merge, une release, une métrique mesurée) en un reçu signé et append-only. N'importe qui peut le vérifier hors ligne, sans compte et sans nous faire confiance.

ed25519 signé 56 schémas vérification hors ligne Apache‑2.0
verify
$ npx rootblocks-verify receipts.jsonl --key pubkey.pem

Ledger:  4 entries
Key:     ed25519:199aa76…

   [0] attest.people-served-unique…   observed
   [1] attest.transactions-processed      observed
   [2] attest.data-points-managed         observed
   [3] attest.decisions-on-record         observed

4/4 verified
✓ VERIFIED · evidence.v1
Commencez ici

Vérifiez un reçu en 30 secondes

Donnez un reçu et une clé publique au vérificateur. Il vérifie trois choses, toutes hors ligne : la signature, la conformité à ce standard et (pour un registre) que chaque entrée tienne.

Signature

Rien n'a été altéré

La signature ed25519 détachée est vérifiée contre la clé publique du signataire. Changez un seul caractère et elle échoue.

Schéma

C'est un vrai reçu

Le document est conforme à evidence.v1, le schéma de ce site, dont l'$id est l'URL où vous le lisez.

Inclusion

Tout le registre tient

Pour un registre append-only, chaque entrée passe. Pour un paquet, les octets archivés correspondent aussi au manifeste.

$ npx rootblocks-verify receipts.jsonl --key pubkey.pem
Anatomie

Ce que contient un reçu

Une attestation réelle : un fondateur déclarant qu'une métrique publiée est authentique. Elle enregistre comment le nombre a été mesuré, jamais la donnée elle-même, et accompagne une signature détachée.

{
  "schemaVersion": "rootblocks.evidence/v1",
  "operationType": "attest",
  "status": "passed",
  "assurance": "observed",
  "actor": { "type": "human", "id": "DV-P33F…" },
  "provenance": {
    "attestor_datta_dv": "DV-P33F…",
    "subject": {
      "metric": "people_served…",
      "value": 1001465,
      "sourceSystem": "insttantt-db-prod",
      "method": "SELECT COUNT(DISTINCT…)"
    } }
  },
  "redaction": { "status": "not-needed" }
} + signature { ed25519, keyId, value }

operationType

Ce qui s'est passé : run, code.merge, release ou attest. Un vocabulaire pour tout le cycle.

actor · attestor_datta_dv

Qui en répond, nommé par une identité Datta : une personne, une organisation ou un agent.

subject

La déclaration elle-même : la valeur, le système de référence et la méthode exacte, pour qu'un tiers puisse la reproduire.

signature

Une signature ed25519 détachée sur les octets canoniques. C'est ce qui rend le tout inviolable.

Assurance

Quelle est la force de la garantie ?

Une signature prouve qu'un reçu n'a pas été altéré, pas que sa déclaration est vraie. Chaque reçu porte un sceau du niveau de garantie. Les blocs se remplissent à mesure que la preuve se renforce.

observedC'est arrivé et a été observé. Un enregistrement de première main, le socle le plus faible et le plus honnête.
provenUn contrôle déterministe l'a prouvé. Un test ou une régression a rétabli la propriété.
tracedÉtayé par une trace auditable. Une chaîne de provenance complète soutient la déclaration.
enforcedUne barrière l'a activement imposé. La propriété n'a pas pu être violée, le sceau le plus fort.
Référence · 56 schémas

La spécification lisible par machine

Chaque schéma est servi à l'URL exacte qu'il déclare comme son $id, donc les outils le résolvent directement. Chaque reçu épingle la version majeure rootblocks.evidence/v1 : les mineures ne font qu'ajouter, donc un reçu signé aujourd'hui se vérifie encore dans dix ans.

architecture

attestation

audit

buildpacks

bundle

cache

cicd

compatibility

components

construction

data

decisions

distribution

domains

evidence

evolution

extensions

golden

infra

observability

organization

predicates

project

recipes

registry

regression

release

security

semantic-engines

slices

source-audit

source-maps

source-projects

templates

testing

workflow