Skip to main content

Agent Evidence Protocol

v0.0.8 publishes the Agent Evidence Protocol — a vendor-neutral wire format for exchanging Fornax trust-kernel objects (starting with a proof-carrying delegation result) between two parties that don't share a Rust codebase.

The full wire specification, compatibility policy, and threat model live in fornax-core:

What it is, and isn't​

The protocol is a documented, versioned wire format — not a transport (it works equally over a file, a local socket, an HTTP body, or a message bus) and not a claim of formal standardization. No standards body has reviewed it; "protocol" here means exactly "documented, versioned wire format," nothing more, until real external adoption changes that.

A verified envelope's digest proves the bytes weren't tampered with — it never proves the wrapped claim is semantically true. Those two ideas are kept structurally distinct throughout: authenticity is a property of the message, truth is a property the message's own evidence has to earn.

Genuinely independent, not just superficially separated​

v0.0.8 ships two implementations of the wire format, and the second one (fornax-protocol-refclient) has zero dependency on any other crate in this workspace — it only knows the published JSON shape, exactly what an external consumer would have. A real conformance test (two_independent_implementations.rs) exchanges and verifies a representative delegation result between the two, and a 9-case conformance suite rejects malformed, stale, tampered, wrong-scope, and downgraded messages with typed reasons.

Running the conformance suite​

cd fornax-core
cargo test -p fornax-protocol -p fornax-protocol-refclient

See also​