cd /news/ai-agents/ctef-v0-3-2-the-substrate-gate-just-… · home topics ai-agents article
[ARTICLE · art-15792] src=dev.to pub= topic=ai-agents verified=true sentiment=↑ positive

CTEF v0.3.2 — the substrate gate just closed for cross-framework agent trust

The CTEF v0.3.2 specification has been released, establishing a substrate-layer canonical form that enables cross-framework agent trust without requiring shared authority or framework extensions. The release includes six normative additions driven by interop incidents, and has been validated through empirical byte-match testing across five independent JCS implementations producing 265 byte-for-byte agreements across 53 canonicalization edge cases. Ten independent implementations have reproduced the reference vectors without coordination, confirming that the substrate allows any framework to emit verifiable attestations that any consumer can verify regardless of the originating framework.

read4 min publishedMay 27, 2026

If you build agent-to-agent infrastructure, you've probably hit the cross-framework trust problem: how does an MCP agent verify a claim emitted by an x402 service, attested to by an ERC-8004 identity contract, with a behavioral history from a third-party observer? You can't ask each framework to extend the others. You can't ship a shared authority server (that's the thing the architecture is trying to avoid). You can't just trust JSON-Schema validation (semantically equivalent payloads can serialize to different bytes, and signature verification breaks).

The answer that fell out of 18 months of working-group convergence: a substrate-layer canonical form that every framework can emit and every consumer can verify, with zero cross-framework knowledge required.

CTEF v0.3.2 publishes that substrate.

Six normative additions, each driven by a partner-thread interop incident:

claim_subtype: tier_upgrade

registry first entrytier_upgrade_proof

fixture lands as the first reference implementation of the authority-claim registry pattern.The bar a substrate spec needs to clear before it's actually a substrate (and not just a proposal) is empirical byte-match across multiple independent implementations. The v0.3.2 publish window crosses two such bars:

JCS canonicalization × vector sets: 5 independent JCS implementations validated against 4 distinct vector sets — 20/20 cells byte-identical, 265 byte-for-byte agreements:

| Implementation | Lang | CTEF/APS (14) | AP2 OMH v0 (7) | privacy_class v0.1 (13) | per-chain envelope v0 (19) |
|---|---|---|---|---|---|

rfc8785@0.1.4 | Python (Trail of Bits / William Woodruff) | ✓ | ✓ | ✓ | ✓ | canonicalize@3.0.0 | JavaScript (Erdtman; Rundgren contributor) | ✓ | ✓ | ✓ | ✓ | gowebpki/jcs@v1.0.1 | Go | ✓ | ✓ | ✓ | ✓ | cyberphone/json-canonicalization | Java (Rundgren — RFC 8785 reference) | ✓ | ✓ | ✓ | ✓ | serde_jcs@0.2.0 |

Rust (seritalien) | ✓ | ✓ | ✓ | ✓ | cyberphone/json-canonicalization

is Anders Rundgren's reference implementation cited in RFC 8785 itself. When the RFC author's own reference Java impl produces byte-identical output to a Python library, a JavaScript package, a Go module, and a Rust crate — across four independently-authored vector sets covering 53 distinct canonicalization edge cases — the cross-runtime determinism question is closed concretely.

The substrate is reproducible in-tree at agentgraph-co/agentgraph/tests/cross-impl/ — single-file runner per language, run any one and get 53/53 PASS or a divergence report.

Implementations × byte-match validation: 10 independent implementations have all reproduced the CTEF v0.3.2 reference vectors:

AgentGraph (substrate maintainer) · APS · AgentID · @nobulex/crypto · HiveTrust · msaleme/red-team-blue-team-agent-fabric · Foxbook · Dominion Observatory · ArkForge · AlgoVoi (chopmob-cloud). No coordination. Each implementation built independently, validated independently, produced identical canonical bytes.

A relying-party agent in 2026 doesn't get to pick the framework its counterparty was built on. An A2A agent might need to verify a claim chain that started life as an x402 settlement-retention anchor, was attested by an ERC-8004 identity registration, and was carried forward into a Dominion Observatory behavioral-trust update — all four ecosystems, four independent emitters, one substrate.

CTEF v0.3.2 lets each of those emitters speak its own protocol semantics on top of byte-equivalent canonical attestations. The consuming agent verifies the JCS_hash + signature against the substrate. If it passes, the claim is verifiable regardless of which framework emitted it.

The architectural pattern: every framework can be a substrate emitter without any framework being authoritative.

v0.3.2 is the last byte-match-led publish. The substrate is solved — 5 implementations × 53 vectors × 4 author sets is the bar, and the bar has been cleared. What comes next composes ON TOP of that substrate, not against it.

The Consilium pass (aeoess + 8 implementers, substrate window through Jun 5, normative outputs before Jul 1) is the next coordination layer. Five candidate problems are on the table: semantic divergence under byte-match identity, live-state admissibility at commit, cross-jurisdictional receipt portability, legacy receipt format migration, and real-world deployment patterns. Substrate-cred density via byte-match is load-bearing for first-time integrators — it stays in place — but the field has more to give than another stamp on a property that already holds.

v0.3.3 (mid-June) lands the cross-extension URN-layer matrix — a row-per-URN-namespace table that binds substrate emitters to claim_type, evidenceType, and live fixture sets. Four of seven rows are already PR-accepted by maintainers (AlgoVoi, Arian, Erik Newton on Concordia, ArkForge open question). Remaining rows scaffolded for PRs:

`urn:erc8004:identity`

(cryptographic identity)`urn:mycelium:trail`

(behavioral continuity, argentum-core)`urn:x402:audit-chain`

(settlement-retention authority)`urn:nobulex:receipt`

(behavioral continuity, Nobulex AAIF)`urn:observatory:eval`

(behavioral, Dominion)`urn:foxbook:leaf`

(cryptographic identity)`urn:concordia:attestation`

(third-party authority)v0.4 (Q3 2026) opens APP↔CTEF composability and the Trust Policy Manifest.

`/.well-known/cte-test-vectors.json`

`/.well-known/interop-harness.json`

If you maintain a framework that emits trust-relevant attestations, the v0.3.3 cross-extension matrix branch is open for PRs.
── more in #ai-agents 4 stories · sorted by recency
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/ctef-v0-3-2-the-subs…] indexed:0 read:4min 2026-05-27 ·