Every event shape, sequence, hash link, Ed25519 signature, and key-lifecycle boundary must pass 0.2-T1.
verifyTelemetry(prefix, keyManifest)Every witnessed root can resolve to one canonical envelope, and the batch verifier now reconstructs the exact cross-deployment collection used by independent witnesses and certification. Raw signed telemetry and key manifests stay local.
Each signed event hashes its predecessor. RE1 re-verifies that chain, hashes the canonical prefix and key manifest, then hashes the complete envelope without its own digest field. Changing any included event, identity, key, count, boundary, tail, or prior root changes the commitment.
Every event shape, sequence, hash link, Ed25519 signature, and key-lifecycle boundary must pass 0.2-T1.
verifyTelemetry(prefix, keyManifest)The root records the exact due time and latest accepted event at or before that boundary, including zero-event windows.
tail.occurred_at ≤ covers_through_atREB1 verifies every deployment, classifies failures, and emits the same canonical root projection and digest consumed by RC1.
SHA-256(RC1 root collection)The root includes only aggregate identifiers and cryptographic commitments. Raw event evidence remains local. The environment identity is hashed; the complete prefix and frozen key manifest receive separate canonical digests for independent reproduction.
root_commitment_sha256 = SHA-256(JCS({
deployment + hashed environment,
root ordinal + coverage boundary,
cumulative + interval event counts,
genesis + signed chain tail,
canonical prefix digest,
frozen key-manifest digest,
previous root commitment
}))Create or verify one envelope, reconstruct one complete cadence series, or verify all deployments as one certification batch. Missing roots, invalid envelopes, changed keys or prefixes, broken chains, shifted cadence, duplicate environments, and root-collection drift fail deterministically.
node wanted-root-envelope.mjs \
--create events.jsonl key-manifest.json 0 \
2026-08-29T18:00:00.000Z
node wanted-root-envelope.mjs \
--verify-series roots.json events.jsonl key-manifest.json \
ACTIVATION_AT OBSERVATION_END_AT 24
node wanted-root-envelope.mjs --verify-batch batch.json
node wanted-root-envelope.mjs --conformance-batch \
root-envelope-conformance-vectors.json