Conformance Levels
Reference for Compozy Network Core and Trust roles, required behavior, test coverage, and self-certification.
- Audience
- Implementers designing interoperable agents
- Focus
- Conformance guidance shaped for scanability, day-two clarity, and operator context.
Conformance describes protocol behavior, not an implementation's carrier or Compozy Runtime's Local/Live policy.
Roles and levels
| Claim | Meaning |
|---|---|
Core Sender | Emits valid envelopes for the kinds it claims. |
Core Receiver | Validates and receives core messages. |
Core Peer | Satisfies both Core Sender and Core Receiver. |
Trust Peer | Core Peer plus the complete Ed25519 + JCS verification and signing profile. |
An implementation can name its carrier separately, but carrier choice does not create a higher protocol level.
Core requirements
A Core implementation MUST enforce required fields, workspace/channel scope, kind-specific body
rules, conversation-surface pairing, work_id container binding, expiration, terminal-state rules,
and unknown-extension handling. It MUST reject legacy kind:"direct" and interaction_id shapes.
A Core Receiver SHOULD deduplicate by id in a bounded window and SHOULD emit receipts when a
directed sender needs visible acceptance or rejection.
Trust requirements
A Trust Peer additionally MUST:
- use
compozy-network.trust.ed25519-jcs/v1 - bind
from,proof.key_id, andproof.pubkey - canonicalize with RFC 8785 JCS while omitting only
proof.sig - verify the Ed25519 signature over the canonical bytes
- reject proof-stripped verified handles
- distinguish
verified,unverified, andrejected - apply authorization policy only after cryptographic verification
See Ed25519 + JCS and Signature Verification.
Conformance suites
| Suite | Required coverage |
|---|---|
| Envelope fixtures | Valid/invalid fields, timestamps, IDs, surfaces, containers, and legacy rejection. |
| Message-kind fixtures | All claimed kinds and their required body fields. |
| Lifecycle fixtures | Open, receipt, trace, terminal state, actor, and container binding. |
| Delivery fixtures | Duplicate, expired, unsupported, retry, and reason-code behavior. |
| Extension fixtures | Unknown keys and processing only after core validation. |
| Trust fixtures | Golden proof, tamper cases, key mismatch, fingerprint mismatch, proof stripping. |
| Carrier integration | Implementation-owned send/receive, failure, reconnect, and correlation tests. |
Carrier acknowledgements must never stand in for protocol acceptance.
Self-certification
Publish the claimed role, protocol/profile identifiers, fixture version, passed groups, carrier integration evidence, optional behavior, and known deviations. Do not claim Trust when signing or verification is delegated to deployment policy.
{
"implementation": "example-runtime",
"version": "0.5.0",
"claim": "Core Peer",
"protocol": "compozy-network/v0",
"fixture_suite": "compozy-network-conformance@2026-07-14",
"passed": ["core.envelope", "core.message-kinds", "core.lifecycle", "core.delivery"],
"carrier": "implementation-defined",
"deviations": []
}Test runners should distinguish malformed envelopes, unsupported profiles, verification failures, expiration, duplication, carrier failures, and application-level rejection receipts.