ReferenceSpec
Wire Protocol
Chio wire protocol 1.0: native frame format and message catalog, hosted MCP session rules, trust-control endpoints, and the schema contract.
Source
This page normatively reflects spec/WIRE_PROTOCOL.md in the chio repository. Status: Normative shipped surface. Version 1.0, dated 2026-04-13. The keywords MUST, SHOULD, and MAY are normative.
Where the specification defers to shipped code, the page reflects that code at the pin: the native message catalog and framing in crates/core/chio-core-types/src/message.rs and crates/kernel/chio-kernel/src/transport.rs, the hosted edge in crates/protocol/chio-mcp-remote/src/remote_mcp/http_service.rs, the trust-control routes and request types under crates/platform/chio-control-plane/src/trust_control/, the schema files under spec/schemas/chio-wire/v1/, and the validation harness crates/core/chio-core-types/tests/wire_protocol_schema.rs.
Synopsis
Wire version chio-wire-v1: a frame is a length prefix and one canonical JSON object whose type, status, or code field selects the variant.
+----------------------+---------------------------+
| 4-byte length prefix | canonical JSON payload |
+----------------------+---------------------------+| Object | Discriminator | Variants |
|---|---|---|
AgentMessage | type | tool_call_request, list_capabilities, heartbeat |
KernelMessage | type | tool_call_chunk, tool_call_response, capability_list, capability_revoked, heartbeat |
ToolCallResult | status | ok, stream_complete, cancelled, incomplete, err |
ToolCallError | code | capability_denied, capability_expired, capability_revoked, policy_denied, tool_server_error, internal_error |
Surface model
Chio ships these cooperating protocol surfaces:
| Surface | Transport | Purpose |
|---|---|---|
| Native Chio transport | Length-prefixed canonical JSON | Direct agent-to-kernel messaging |
| Hosted MCP edge | JSON-RPC over HTTP POST plus SSE | Remote session admission and MCP-compatible runtime traffic |
| Trust-control lifecycle APIs | JSON over HTTP | Capability issuance, delegated issuance, receipt lookup, and revocation |
| HTTP substrate | JSON over HTTP (localhost sidecar) | Evaluation and receipt signing for arbitrary HTTP API requests |
The native Chio transport does not define a session-initialization message. Initialization in the shipped stack happens on the hosted MCP surface. Native direct peers obtain capability material out of band and then begin sending AgentMessage frames immediately.
Native Chio transport
Framing
Each native Chio frame is a 4-byte length prefix followed by the canonical JSON payload. Normative rules:
- The length prefix MUST be an unsigned 32-bit integer in big-endian byte order.
- The length value MUST count only the payload bytes that follow the prefix.
- The payload MUST be canonical JSON as produced by RFC 8785-style canonicalization.
- The maximum permitted payload length is
16,777,216bytes (16 MiB). - A sender MUST NOT emit a larger frame.
- A receiver MUST reject any frame whose advertised length exceeds that maximum.
Example: a payload length of 256 bytes is encoded as 00 00 01 00.
Sender requirements
- Senders MUST serialize native messages as canonical JSON before writing the frame.
- Senders MUST emit exactly one top-level JSON object per frame.
- Senders MUST use the discriminators and field names defined in the message catalog.
Receiver behavior and error recovery
Native receiver behavior is defined by the shipped transport implementation in crates/kernel/chio-kernel/src/transport.rs.
- If EOF occurs before the 4-byte prefix is fully read, the receiver MUST treat the connection as closed and deliver no partial message.
- If EOF occurs after the prefix but before the full payload is read, the receiver MUST treat the connection as closed and deliver no partial message.
- If the advertised length is greater than 16 MiB, the receiver MUST reject the frame as
message_too_large. - If the payload is not valid JSON for the expected message family, the receiver MUST reject the frame as a deserialization failure.
Recovery rules:
- Chio defines no in-band resynchronization marker for the native framed lane.
- After
connection_closed,message_too_large, or deserialization failure, an implementation SHOULD close the current transport and establish a new connection before continuing. - Serialization failure on send is terminal for the attempted message; no partial frame is defined.
Native message catalog
The native message catalog is defined by crates/core/chio-core-types/src/message.rs and crates/kernel/chio-kernel/src/transport.rs.
AgentMessage
All agent-to-kernel frames are JSON objects with a type discriminator.
type | Required fields | Meaning |
|---|---|---|
tool_call_request | id, capability_token, server_id, tool, params | Invoke one tool under one signed capability |
list_capabilities | none | Ask the kernel for the caller's currently valid capabilities |
heartbeat | none | Liveness probe |
tool_call_request required fields:
| Field | Type | Meaning |
|---|---|---|
id | string | Correlation identifier echoed by kernel responses |
capability_token | CapabilityToken object | Signed authority for this call |
server_id | string | Target tool server identifier |
tool | string | Tool name within the target server |
params | JSON value | Tool arguments |
tool_call_request optional fields, from the Rust type and the schema spec/schemas/chio-wire/v1/agent/tool_call_request.schema.json:
| Field | Type | Meaning |
|---|---|---|
governed_intent | GovernedTransactionIntent object | Governed transaction the agent asks the kernel to authorize |
approval_token | GovernedApprovalToken object | Single approval covering the governed intent |
approval_tokens | array of GovernedApprovalToken | Approvals collected for a threshold proposal |
threshold_approval_proposal | ThresholdApprovalProposal object | Threshold policy the collected approvals are counted against |
supplemental_authorization | OpaqueSupplementalAuthorization object | Opaque authorization extension carried through to the kernel |
execution_nonce | SignedExecutionNonce object | Kernel-issued nonce from a strict execution preflight for this request |
The schema closes the object with "additionalProperties": false, so a peer sends no other field. AgentMessage::authorization_conflict names the combinations the native session handler refuses before evaluation: approval_token together with a non-empty approval_tokens; a threshold_approval_proposal with an empty approval_tokens; and a non-empty approval_tokens without a threshold_approval_proposal.
KernelMessage
All kernel-to-agent frames are JSON objects with a type discriminator.
type | Required fields | Meaning |
|---|---|---|
tool_call_chunk | id, chunk_index, data | Streaming chunk emitted before the final response |
tool_call_response | id, result, receipt | Terminal result plus signed receipt |
capability_list | capabilities | Reply to list_capabilities |
capability_revoked | id | Notification that a capability identifier is no longer valid |
heartbeat | none | Liveness reply |
tool_call_chunk fields:
| Field | Type | Meaning |
|---|---|---|
id | string | Parent request identifier |
chunk_index | integer | Zero-based arrival index |
data | JSON value | Stream payload |
tool_call_response fields:
| Field | Type | Meaning |
|---|---|---|
id | string | Parent request identifier |
result | ToolCallResult object | Terminal execution status |
receipt | ChioReceipt object | Signed receipt for the evaluated action |
execution_nonce | SignedExecutionNonce object, optional | Kernel-issued nonce that must be presented on the exact retry |
capability_list fields:
| Field | Type | Meaning |
|---|---|---|
capabilities | array of CapabilityToken | Capabilities currently considered valid |
capability_revoked fields:
| Field | Type | Meaning |
|---|---|---|
id | string | Revoked capability identifier |
ToolCallResult
KernelMessage.tool_call_response.result is a tagged object with a status discriminator.
status | Required fields | Meaning |
|---|---|---|
ok | value | Tool completed and returned a value |
stream_complete | total_chunks | Tool completed after streaming chunks |
cancelled | reason, chunks_received | Explicit cancellation |
incomplete | reason, chunks_received | Non-terminal interruption or upstream truncation |
err | error | Denial or failure |
ToolCallError
ToolCallResult.status = "err" carries a tagged error object with a code discriminator.
code | Required fields | Meaning |
|---|---|---|
capability_denied | detail string | Capability was malformed, invalid, or bound to the wrong subject |
capability_expired | none | Capability is outside its validity window |
capability_revoked | none | Capability identifier is revoked |
policy_denied | detail.guard, detail.reason | A policy guard denied the action |
tool_server_error | detail string | Upstream tool server failed |
internal_error | detail string | Kernel-side internal failure |
Signed artifact requirements
These nested signed Chio objects appear directly on the native wire:
CapabilityTokenChioReceipt
Preserve nested signed objects
Hosted MCP HTTP session transport
The hosted edge is implemented by chio mcp serve-http in crates/protocol/chio-mcp-remote/src/remote_mcp/http_service.rs.
Endpoint shape
POST /mcpcarries JSON-RPC requests and notifications.GET /mcpis the notification replay and live stream.DELETE /mcpterminates an existing session.
Session headers:
MCP-Session-IdMCP-Protocol-Version
Initialization rules
- An
initializerequest MUST be sent toPOST /mcp. - An
initializerequest MUST be a JSON-RPC request and therefore include anid. - An
initializerequest MUST NOT includeMCP-Session-Id. - A successful initialize response MUST return an SSE stream and include
MCP-Session-Idon the HTTP response. - After successful initialize, the client MUST send
notifications/initializedbefore relying on ready-state operations.
Established-session rules
- Non-initialize requests MUST include
MCP-Session-Id. - If the session has a bound protocol version and the client sends
MCP-Protocol-Version, that header MUST match the stored session value. - POST requests MUST use
Content-Type: application/json. - GET notification streams MUST include
MCP-Session-Id. - Ready-state methods such as
tools/listandtools/callMUST not run until the session has receivednotifications/initialized.
The shipped edge checks request headers in crates/protocol/chio-mcp-remote/src/remote_mcp/oauth/bearer_auth.rs before it reads a body. A POST must advertise both application/json and text/event-stream in Accept, and a GET must advertise text/event-stream; otherwise the edge answers 406 Not Acceptable. A POST whose Content-Type does not start with application/json gets 415 Unsupported Media Type. An MCP-Protocol-Version that differs from the session's bound version gets 400 Bad Request, and an unknown MCP-Session-Id gets 404 Not Found.
Notification stream and replay
- At most one active GET notification stream is allowed per session.
- Notification replay uses the
Last-Event-IDrequest header. - Event identifiers are encoded as
{session_id}-{sequence}. - Replay requests outside the retained event window fail with
409 Conflict. - Hosted deployments that reuse one upstream owner across multiple sessions MUST keep late notifications and task handles scoped to the originating session. They MUST NOT fan out unattributed notifications or allow a different session to act on a foreign task id.
Hosted session lifecycle
Hosted sessions move through these states:
initializingreadydrainingdeletedexpiredclosed
Requests against draining, deleted, expired, or closed sessions MUST not silently resume prior state. Clients encountering those terminal states MUST re-run initialization.
Version negotiation
The machine-readable negotiation artifact for the shipped stack is spec/versions/chio-protocol-negotiation.v1.json. Hosted MCP negotiation rules:
- Clients MAY send
initialize.params.protocolVersion. - The server compares that value against its supported version set.
- The current shipped implementation supports one MCP protocol version:
2025-11-25. - Compatibility determination is therefore an exact-match test against that supported set.
- The current implementation has no downgrade path; unsupported requested versions are rejected rather than silently downgraded.
- On success, the selected version is echoed in
result.protocolVersionand exposed again underresult.capabilities.experimental.chioProtocol.selectedProtocolVersion. - On failure, initialize is rejected with JSON-RPC
-32600plus a structured Chio protocol error descriptor inerror.data.chioError.
Model metadata admission
- Hosted
tools/callrequests MAY carry model metadata under either_meta.modelMetadataor_meta.chioModelMetadata. - The hosted edge normalizes that payload into Chio request
model_metadata. - Caller-supplied metadata MUST be treated as
assertedprovenance at admission time even if the caller marks itverified. - Receipts and downstream exports MUST preserve the effective provenance class instead of silently upgrading caller assertions into verified runtime truth.
Native direct transport versioning
- Native Chio framed transport is currently
chio-wire-v1. - Native direct peers do not negotiate in-band; compatibility is an exact-match, out-of-band requirement.
- Because no in-band downgrade exists, incompatible native peers MUST close or reset the transport instead of attempting best-effort interop.
Trust-control capability lifecycle
The trust-control service is implemented by chio trust serve. The route constants live in crates/platform/chio-control-plane/src/trust_control/service_types/paths.rs; the issuance, federated issuance, and receipt query types in crates/platform/chio-control-plane/src/trust_control/service_types/requests.rs; and the revocation types RevokeCapabilityRequest and RevokeCapabilityResponse in crates/platform/chio-control-plane/src/trust_control/config_and_public.rs.
Capability issuance
Endpoint: POST /v1/capabilities/issue.
Request body:
| Field | Type | Meaning |
|---|---|---|
subjectPublicKey | string | Ed25519 subject key in hex |
scope | ChioScope | Capability scope to issue |
ttlSeconds | integer | Requested lifetime |
runtimeAttestation | object, optional | Attestation evidence used by issuance policy |
Success response:
| Field | Type | Meaning |
|---|---|---|
capability | CapabilityToken | Signed issued capability |
Federated and delegated issuance
Endpoint: POST /v1/federation/capabilities/issue.
Delegation-relevant request fields:
| Field | Meaning |
|---|---|
presentation | Passport presentation proving federated subject identity |
expectedChallenge | Challenge the presentation must satisfy |
capability | Requested issued capability body |
delegationPolicy | Optional signed ceiling for delegated issuance |
upstreamCapabilityId | Optional imported parent capability anchor for multi-hop lineage |
Success response fields relevant to delegation:
| Field | Meaning |
|---|---|
capability | Newly issued child capability |
delegationAnchorCapabilityId | Optional lineage anchor persisted by trust-control |
subjectPublicKey | Resolved subject key used for issuance |
Normative delegation rules from the shipped service:
- If
upstreamCapabilityIdis supplied, the request MUST also carry a delegation policy bound to that exact parent capability id. - If a delegation policy is supplied, the requested child capability MUST NOT exceed the policy ceiling.
- The trust-control service MUST reject untrusted delegation-policy signers.
Receipt query
Endpoint: GET /v1/receipts/query.
Supported query parameters:
| Parameter | Type | Meaning |
|---|---|---|
capabilityId | string | Filter by capability identifier (exact match) |
toolServer | string | Filter by tool server name (exact match) |
toolName | string | Filter by tool name (exact match) |
outcome | string | Filter by decision outcome: allow, deny, cancelled, or incomplete |
since | integer | Receipts with timestamp at or after this Unix second |
until | integer | Receipts with timestamp at or before this Unix second |
minCost | integer, u64 minor units | Receipts whose charged cost is at least this amount; receipts without financial metadata are excluded when set |
maxCost | integer, u64 minor units | Receipts whose charged cost is at most this amount; receipts without financial metadata are excluded when set |
costCurrency | string | Currency for the cost bounds |
cursor | integer | Forward pagination: receipts with a sequence greater than the cursor |
limit | integer | Maximum receipts per page, capped by the service |
agentSubject | string | Filter by agent subject public key, hex-encoded Ed25519 |
minCost and maxCost are unsigned 64-bit minor-unit values. Supplying either requires costCurrency as exactly three uppercase ASCII letters. When both bounds are present, minCost must not exceed maxCost. The service validates these rules in ReceiptQuery::validated_cost_currency (crates/kernel/chio-kernel/src/receipt_query.rs).
Response body:
| Field | Type | Meaning |
|---|---|---|
totalCount | integer | Total matched receipts |
nextCursor | integer or null | Cursor for the next page |
receipts | array | Receipt rows serialized as JSON values |
Revocation
Endpoint: POST /v1/revocations.
Request body:
| Field | Type | Meaning |
|---|---|---|
capabilityId | string | Capability identifier to revoke |
Success response:
| Field | Type | Meaning |
|---|---|---|
capabilityId | string | Revoked identifier |
revoked | boolean | Current revocation state |
newlyRevoked | boolean | Whether this call changed state |
Error taxonomy
The machine-readable error registry for the shipped stack is spec/errors/chio-error-registry.v1.json. Registry guarantees:
- every Chio error entry has a unique numeric code
- every entry names one category
- every entry is marked
transient: true|false - every entry carries explicit retry guidance
The current registry categories: protocol, auth, capability, guard, budget, tool, internal, transaction.
Surface mapping rules:
- Native Chio
ToolCallErrordiscriminators map deterministically to registry entries such ascapability_denied,capability_expired,capability_revoked,policy_denied,tool_server_error, andinternal_error. - Hosted MCP initialize-time protocol rejection communicates the numeric Chio protocol code under JSON-RPC
error.data.chioError.code. - Trust-control remains HTTP-status-driven; registry codes define the stable cross-surface classification and retry semantics.
Sequence diagrams
The specification carries these diagrams; each one is reproduced from its source text.
Hosted initialization
spec/WIRE_PROTOCOL.md:456-471at fe56570Capability issuance
spec/WIRE_PROTOCOL.md:475-485at fe56570Delegated issuance
spec/WIRE_PROTOCOL.md:489-508at fe56570Native tool invocation with receipt
spec/WIRE_PROTOCOL.md:512-528at fe56570Revocation propagation
spec/WIRE_PROTOCOL.md:532-550at fe56570Error handling
spec/WIRE_PROTOCOL.md:554-571at fe56570HTTP substrate surface
The HTTP substrate is a cooperating protocol surface alongside the native Chio transport, the hosted MCP edge, and the trust-control lifecycle APIs. It lets Chio evaluate and sign receipts for arbitrary HTTP API requests, not only agent-protocol traffic. The normative specification is spec/HTTP-SUBSTRATE.md, which defines the sidecar evaluation protocol, the typed request and receipt models, and the deterministic mapping from HttpReceipt to the core ChioReceipt type. The HTTP Transport page documents it in full.
Sidecar evaluation protocol
The HTTP substrate uses a sidecar model. A Chio kernel runs as a local process and exposes these HTTP endpoints on localhost; the routes are registered in crates/products/chio-api-protect/src/proxy/router.rs:
| Endpoint | Method | Purpose |
|---|---|---|
/chio/evaluate | POST | Evaluate an HTTP request against loaded policy |
/chio/verify | POST | Verify a receipt signature |
/chio/health | GET | Sidecar health check |
Language-specific middleware (chio-tower for Rust, chio-spring-boot for the JVM, ChioMiddleware for .NET, and the Python, TypeScript, and Go substrate SDKs) intercepts incoming HTTP requests, constructs a ChioHttpRequest, sends it to POST /chio/evaluate, and enforces the returned verdict.
Relationship to language SDKs
The language-specific SDKs consume this surface as HTTP clients over the sidecar evaluation protocol; they do not evaluate policy on their own. The kernel remains the single trust anchor for capability validation, guard evaluation, and receipt signing. Platform-level SDK documentation lives in docs/sdk/PLATFORM.md.
Schemas and conformance
Versioned native message schemas live under spec/schemas/chio-wire/v1/, one directory per message family. The validation harness loads these files:
| Family | Directory | Schema files the harness exercises |
|---|---|---|
AgentMessage | agent/ | tool_call_request, list_capabilities, heartbeat |
KernelMessage | kernel/ | tool_call_chunk, tool_call_response, capability_list, capability_revoked, heartbeat |
ToolCallResult | result/ | ok, stream_complete, cancelled, incomplete, err |
ToolCallError | error/ | capability_denied, capability_expired, capability_revoked, policy_denied, tool_server_error, internal_error |
Normative requirements:
- Schema files in that directory are the machine-readable contract for the native Chio message families.
- Implementations MUST continue to serialize the native message variants in a form accepted by those schemas.
- Schema validation MUST be exercised against live Rust serialization, not handwritten examples alone.
The shipped validation harness for this document is crates/core/chio-core-types/tests/wire_protocol_schema.rs. It serializes live Rust values of each variant and validates them against the schema files named in the table.
The signed-artifact registry, spec/schemas/registry.json, registers 13 schema ids under the same tree. It covers the signed objects the wire carries; the message-family directories are not in it.
| Directory | Registered | Schema ids |
|---|---|---|
v1/ | 13 | chio.admission-receipt.v1, chio.aggregate-budget-root.v1, chio.anchor_batch.v1, chio.bilateral-signature-slice.v1, chio.budget-snapshot-anchor-provenance.v1, chio.capabilities.v1, chio.capability.v1, chio.cumulative-approval-root.v1, chio.delivery-contract.v1, chio.finding.delivery.v1, chio.receipt.v1, chio.receipt_lineage_statement.v1, chio.threshold-approval-proposal.v1 |
| file | title | registry id | version |
|---|---|---|---|
chio-wire/v1/agent/active-response-governed-intent.schema.json | Chio Governed Active Response Intent Body | unregistered | v1 |
chio-wire/v1/agent/governed-transaction-intent.schema.json | Chio Governed Transaction Intent | unregistered | v1 |
chio-wire/v1/agent/heartbeat.schema.json | Chio AgentMessage heartbeat | unregistered | v1 |
chio-wire/v1/agent/list_capabilities.schema.json | Chio AgentMessage list_capabilities | unregistered | v1 |
chio-wire/v1/agent/tool_call_request.schema.json | Chio AgentMessage tool_call_request | unregistered | v1 |
chio-wire/v1/anchor/batch.schema.json | Chio anchor batch v1 | chio.anchor_batch.v1 | v1 |
chio-wire/v1/capability/aggregate-budget-root.schema.json | Chio Aggregate Budget Root Binding | chio.aggregate-budget-root.v1 | v1 |
chio-wire/v1/capability/aggregate-invocation-budget.schema.json | Chio Aggregate Invocation Budget | unregistered | v1 |
chio-wire/v1/capability/capabilities.schema.json | Chio capability negotiation v1 | chio.capabilities.v1 | v1 |
chio-wire/v1/capability/cumulative-approval-root.schema.json | Chio Cumulative Approval Root Binding | chio.cumulative-approval-root.v1 | v1 |
chio-wire/v1/capability/governed-approval-token.schema.json | Chio Governed Approval Token | unregistered | v1 |
chio-wire/v1/capability/grant.schema.json | Chio Capability Grant | unregistered | v1 |
chio-wire/v1/capability/revocation.schema.json | Chio Capability Revocation Entry | unregistered | v1 |
chio-wire/v1/capability/supplemental-authorization.schema.json | Chio Opaque Supplemental Authorization | unregistered | v1 |
chio-wire/v1/capability/threshold-approval-proposal.schema.json | Chio Threshold Approval Proposal | chio.threshold-approval-proposal.v1 | v1 |
chio-wire/v1/capability/token.schema.json | Chio CapabilityToken | chio.capability.v1 | v1 |
chio-wire/v1/capability/verified-approval-set.schema.json | Chio Verified Approval Set Body | unregistered | v1 |
chio-wire/v1/error/capability_denied.schema.json | Chio ToolCallError capability_denied | unregistered | v1 |
chio-wire/v1/error/capability_expired.schema.json | Chio ToolCallError capability_expired | unregistered | v1 |
chio-wire/v1/error/capability_revoked.schema.json | Chio ToolCallError capability_revoked | unregistered | v1 |
chio-wire/v1/error/internal_error.schema.json | Chio ToolCallError internal_error | unregistered | v1 |
chio-wire/v1/error/policy_denied.schema.json | Chio ToolCallError policy_denied | unregistered | v1 |
chio-wire/v1/error/tool_server_error.schema.json | Chio ToolCallError tool_server_error | unregistered | v1 |
chio-wire/v1/federation/bilateral-signature-slice-envelope.schema.json | Chio bilateral DSSE signature-slice envelope | chio.bilateral-signature-slice.v1 | v1 |
chio-wire/v1/federation/bilateral-signature-slice.schema.json | Chio bilateral DSSE signature-slice statement | unregistered | v1 |
chio-wire/v1/jsonrpc/notification.schema.json | Chio JSON-RPC 2.0 Notification | unregistered | v1 |
chio-wire/v1/jsonrpc/request.schema.json | Chio JSON-RPC 2.0 Request | unregistered | v1 |
chio-wire/v1/jsonrpc/response.schema.json | Chio JSON-RPC 2.0 Response | unregistered | v1 |
chio-wire/v1/kernel/capability_list.schema.json | Chio KernelMessage capability_list | unregistered | v1 |
chio-wire/v1/kernel/capability_revoked.schema.json | Chio KernelMessage capability_revoked | unregistered | v1 |
chio-wire/v1/kernel/combined-capture-metadata.schema.json | Chio Combined Admission Capture Metadata | unregistered | v1 |
chio-wire/v1/kernel/execution_nonce.schema.json | Chio signed execution nonce | unregistered | v1 |
chio-wire/v1/kernel/heartbeat.schema.json | Chio KernelMessage heartbeat | unregistered | v1 |
chio-wire/v1/kernel/tool_call_chunk.schema.json | Chio KernelMessage tool_call_chunk | unregistered | v1 |
chio-wire/v1/kernel/tool_call_response.schema.json | Chio KernelMessage tool_call_response | unregistered | v1 |
chio-wire/v1/provenance/attestation-bundle.schema.json | Chio Provenance Attestation Bundle | unregistered | v1 |
chio-wire/v1/provenance/context.schema.json | Chio Provenance Call-Chain Context | unregistered | v1 |
chio-wire/v1/provenance/stamp.schema.json | Chio Provenance Stamp | unregistered | v1 |
chio-wire/v1/provenance/verdict-link.schema.json | Chio Provenance Verdict Link | unregistered | v1 |
chio-wire/v1/receipt/admission-metadata.schema.json | Chio Durable Admission Receipt Metadata | chio.admission-receipt.v1 | v1 |
spec/schemas/registry.jsonat fe56570Related
- Protocol Reference: capability, receipt, and manifest field semantics.
- HTTP Transport: the sidecar evaluation protocol, the typed request model, and the receipt mapping in full.
- IETF Internet-Draft: the standards-track document over the same surfaces.
- Schemas and Errors: the negotiation artifact and the error registry field by field.
- Bridges
- Bilateral Federation