Chio/Docs
LOGIN · JOIN

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.

spec/WIRE_PROTOCOL.mdtext
+----------------------+---------------------------+
| 4-byte length prefix | canonical JSON payload    |
+----------------------+---------------------------+
ObjectDiscriminatorVariants
AgentMessagetypetool_call_request, list_capabilities, heartbeat
KernelMessagetypetool_call_chunk, tool_call_response, capability_list, capability_revoked, heartbeat
ToolCallResultstatusok, stream_complete, cancelled, incomplete, err
ToolCallErrorcodecapability_denied, capability_expired, capability_revoked, policy_denied, tool_server_error, internal_error

Surface model

Chio ships these cooperating protocol surfaces:

SurfaceTransportPurpose
Native Chio transportLength-prefixed canonical JSONDirect agent-to-kernel messaging
Hosted MCP edgeJSON-RPC over HTTP POST plus SSERemote session admission and MCP-compatible runtime traffic
Trust-control lifecycle APIsJSON over HTTPCapability issuance, delegated issuance, receipt lookup, and revocation
HTTP substrateJSON 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,216 bytes (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.

typeRequired fieldsMeaning
tool_call_requestid, capability_token, server_id, tool, paramsInvoke one tool under one signed capability
list_capabilitiesnoneAsk the kernel for the caller's currently valid capabilities
heartbeatnoneLiveness probe

tool_call_request required fields:

FieldTypeMeaning
idstringCorrelation identifier echoed by kernel responses
capability_tokenCapabilityToken objectSigned authority for this call
server_idstringTarget tool server identifier
toolstringTool name within the target server
paramsJSON valueTool arguments

tool_call_request optional fields, from the Rust type and the schema spec/schemas/chio-wire/v1/agent/tool_call_request.schema.json:

FieldTypeMeaning
governed_intentGovernedTransactionIntent objectGoverned transaction the agent asks the kernel to authorize
approval_tokenGovernedApprovalToken objectSingle approval covering the governed intent
approval_tokensarray of GovernedApprovalTokenApprovals collected for a threshold proposal
threshold_approval_proposalThresholdApprovalProposal objectThreshold policy the collected approvals are counted against
supplemental_authorizationOpaqueSupplementalAuthorization objectOpaque authorization extension carried through to the kernel
execution_nonceSignedExecutionNonce objectKernel-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.

typeRequired fieldsMeaning
tool_call_chunkid, chunk_index, dataStreaming chunk emitted before the final response
tool_call_responseid, result, receiptTerminal result plus signed receipt
capability_listcapabilitiesReply to list_capabilities
capability_revokedidNotification that a capability identifier is no longer valid
heartbeatnoneLiveness reply

tool_call_chunk fields:

FieldTypeMeaning
idstringParent request identifier
chunk_indexintegerZero-based arrival index
dataJSON valueStream payload

tool_call_response fields:

FieldTypeMeaning
idstringParent request identifier
resultToolCallResult objectTerminal execution status
receiptChioReceipt objectSigned receipt for the evaluated action
execution_nonceSignedExecutionNonce object, optionalKernel-issued nonce that must be presented on the exact retry

capability_list fields:

FieldTypeMeaning
capabilitiesarray of CapabilityTokenCapabilities currently considered valid

capability_revoked fields:

FieldTypeMeaning
idstringRevoked capability identifier

ToolCallResult

KernelMessage.tool_call_response.result is a tagged object with a status discriminator.

statusRequired fieldsMeaning
okvalueTool completed and returned a value
stream_completetotal_chunksTool completed after streaming chunks
cancelledreason, chunks_receivedExplicit cancellation
incompletereason, chunks_receivedNon-terminal interruption or upstream truncation
errerrorDenial or failure

ToolCallError

ToolCallResult.status = "err" carries a tagged error object with a code discriminator.

codeRequired fieldsMeaning
capability_denieddetail stringCapability was malformed, invalid, or bound to the wrong subject
capability_expirednoneCapability is outside its validity window
capability_revokednoneCapability identifier is revoked
policy_denieddetail.guard, detail.reasonA policy guard denied the action
tool_server_errordetail stringUpstream tool server failed
internal_errordetail stringKernel-side internal failure

Signed artifact requirements

These nested signed Chio objects appear directly on the native wire:

  • CapabilityToken
  • ChioReceipt

Preserve nested signed objects

Implementations MUST preserve all fields on those nested objects exactly as received. A native sender MUST NOT rewrite or recanonicalize nested signed object fields prior to forwarding. Receivers SHOULD verify signatures before treating capability or receipt content as authoritative.

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 /mcp carries JSON-RPC requests and notifications.
  • GET /mcp is the notification replay and live stream.
  • DELETE /mcp terminates an existing session.

Session headers:

  • MCP-Session-Id
  • MCP-Protocol-Version

Initialization rules

  • An initialize request MUST be sent to POST /mcp.
  • An initialize request MUST be a JSON-RPC request and therefore include an id.
  • An initialize request MUST NOT include MCP-Session-Id.
  • A successful initialize response MUST return an SSE stream and include MCP-Session-Id on the HTTP response.
  • After successful initialize, the client MUST send notifications/initialized before 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/list and tools/call MUST not run until the session has received notifications/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-ID request 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:

  • initializing
  • ready
  • draining
  • deleted
  • expired
  • closed

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.protocolVersion and exposed again under result.capabilities.experimental.chioProtocol.selectedProtocolVersion.
  • On failure, initialize is rejected with JSON-RPC -32600 plus a structured Chio protocol error descriptor in error.data.chioError.

Model metadata admission

  • Hosted tools/call requests MAY carry model metadata under either _meta.modelMetadata or _meta.chioModelMetadata.
  • The hosted edge normalizes that payload into Chio request model_metadata.
  • Caller-supplied metadata MUST be treated as asserted provenance at admission time even if the caller marks it verified.
  • 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:

FieldTypeMeaning
subjectPublicKeystringEd25519 subject key in hex
scopeChioScopeCapability scope to issue
ttlSecondsintegerRequested lifetime
runtimeAttestationobject, optionalAttestation evidence used by issuance policy

Success response:

FieldTypeMeaning
capabilityCapabilityTokenSigned issued capability

Federated and delegated issuance

Endpoint: POST /v1/federation/capabilities/issue.

Delegation-relevant request fields:

FieldMeaning
presentationPassport presentation proving federated subject identity
expectedChallengeChallenge the presentation must satisfy
capabilityRequested issued capability body
delegationPolicyOptional signed ceiling for delegated issuance
upstreamCapabilityIdOptional imported parent capability anchor for multi-hop lineage

Success response fields relevant to delegation:

FieldMeaning
capabilityNewly issued child capability
delegationAnchorCapabilityIdOptional lineage anchor persisted by trust-control
subjectPublicKeyResolved subject key used for issuance

Normative delegation rules from the shipped service:

  • If upstreamCapabilityId is 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:

ParameterTypeMeaning
capabilityIdstringFilter by capability identifier (exact match)
toolServerstringFilter by tool server name (exact match)
toolNamestringFilter by tool name (exact match)
outcomestringFilter by decision outcome: allow, deny, cancelled, or incomplete
sinceintegerReceipts with timestamp at or after this Unix second
untilintegerReceipts with timestamp at or before this Unix second
minCostinteger, u64 minor unitsReceipts whose charged cost is at least this amount; receipts without financial metadata are excluded when set
maxCostinteger, u64 minor unitsReceipts whose charged cost is at most this amount; receipts without financial metadata are excluded when set
costCurrencystringCurrency for the cost bounds
cursorintegerForward pagination: receipts with a sequence greater than the cursor
limitintegerMaximum receipts per page, capped by the service
agentSubjectstringFilter 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:

FieldTypeMeaning
totalCountintegerTotal matched receipts
nextCursorinteger or nullCursor for the next page
receiptsarrayReceipt rows serialized as JSON values

Revocation

Endpoint: POST /v1/revocations.

Request body:

FieldTypeMeaning
capabilityIdstringCapability identifier to revoke

Success response:

FieldTypeMeaning
capabilityIdstringRevoked identifier
revokedbooleanCurrent revocation state
newlyRevokedbooleanWhether 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 ToolCallError discriminators map deterministically to registry entries such as capability_denied, capability_expired, capability_revoked, policy_denied, tool_server_error, and internal_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

rendering
The hosted initialize exchange: the initialize request on POST /mcp, the SSE response carrying MCP-Session-Id, the initialized notification, and the optional GET notification stream. Ready-state calls and session teardown are outside the exchange.
sourcespec/WIRE_PROTOCOL.md:456-471at fe56570

Capability issuance

rendering
Capability issuance through chio trust serve: one request to POST /v1/capabilities/issue and the CapabilityToken it returns. Issuance policy over runtimeAttestation is not drawn.
sourcespec/WIRE_PROTOCOL.md:475-485at fe56570

Delegated issuance

rendering
Delegated issuance on POST /v1/federation/capabilities/issue: the presentation and challenge checks, the delegationPolicy and upstreamCapabilityId checks, and the optional lineage store steps. The rejection paths are not drawn.
sourcespec/WIRE_PROTOCOL.md:489-508at fe56570

Native tool invocation with receipt

rendering
A native governed call: tool_call_request in, optional tool_call_chunk frames, then tool_call_response carrying the result and the signed ChioReceipt. Capability and policy checks appear as one kernel step.
sourcespec/WIRE_PROTOCOL.md:512-528at fe56570

Revocation propagation

rendering
Revocation through POST /v1/revocations and its two paths to the agent: a capability_revoked notification, or a capability_revoked error on the next request. Revocation store replication is not drawn.
sourcespec/WIRE_PROTOCOL.md:532-550at fe56570

Error handling

rendering
Receiver handling for an oversized frame, a truncated frame, and a policy denial. Deserialization failure is not drawn.
sourcespec/WIRE_PROTOCOL.md:554-571at fe56570

HTTP 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:

EndpointMethodPurpose
/chio/evaluatePOSTEvaluate an HTTP request against loaded policy
/chio/verifyPOSTVerify a receipt signature
/chio/healthGETSidecar 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:

FamilyDirectorySchema files the harness exercises
AgentMessageagent/tool_call_request, list_capabilities, heartbeat
KernelMessagekernel/tool_call_chunk, tool_call_response, capability_list, capability_revoked, heartbeat
ToolCallResultresult/ok, stream_complete, cancelled, incomplete, err
ToolCallErrorerror/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.

DirectoryRegisteredSchema ids
v1/13chio.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
55 files in chio-wire · 13 registered · registry 1.0.0
filetitleregistry idversion
chio-wire/v1/agent/active-response-governed-intent.schema.jsonChio Governed Active Response Intent Bodyunregisteredv1
chio-wire/v1/agent/governed-transaction-intent.schema.jsonChio Governed Transaction Intentunregisteredv1
chio-wire/v1/agent/heartbeat.schema.jsonChio AgentMessage heartbeatunregisteredv1
chio-wire/v1/agent/list_capabilities.schema.jsonChio AgentMessage list_capabilitiesunregisteredv1
chio-wire/v1/agent/tool_call_request.schema.jsonChio AgentMessage tool_call_requestunregisteredv1
chio-wire/v1/anchor/batch.schema.jsonChio anchor batch v1chio.anchor_batch.v1v1
chio-wire/v1/capability/aggregate-budget-root.schema.jsonChio Aggregate Budget Root Bindingchio.aggregate-budget-root.v1v1
chio-wire/v1/capability/aggregate-invocation-budget.schema.jsonChio Aggregate Invocation Budgetunregisteredv1
chio-wire/v1/capability/capabilities.schema.jsonChio capability negotiation v1chio.capabilities.v1v1
chio-wire/v1/capability/cumulative-approval-root.schema.jsonChio Cumulative Approval Root Bindingchio.cumulative-approval-root.v1v1
chio-wire/v1/capability/governed-approval-token.schema.jsonChio Governed Approval Tokenunregisteredv1
chio-wire/v1/capability/grant.schema.jsonChio Capability Grantunregisteredv1
chio-wire/v1/capability/revocation.schema.jsonChio Capability Revocation Entryunregisteredv1
chio-wire/v1/capability/supplemental-authorization.schema.jsonChio Opaque Supplemental Authorizationunregisteredv1
chio-wire/v1/capability/threshold-approval-proposal.schema.jsonChio Threshold Approval Proposalchio.threshold-approval-proposal.v1v1
chio-wire/v1/capability/token.schema.jsonChio CapabilityTokenchio.capability.v1v1
chio-wire/v1/capability/verified-approval-set.schema.jsonChio Verified Approval Set Bodyunregisteredv1
chio-wire/v1/error/capability_denied.schema.jsonChio ToolCallError capability_deniedunregisteredv1
chio-wire/v1/error/capability_expired.schema.jsonChio ToolCallError capability_expiredunregisteredv1
chio-wire/v1/error/capability_revoked.schema.jsonChio ToolCallError capability_revokedunregisteredv1
chio-wire/v1/error/internal_error.schema.jsonChio ToolCallError internal_errorunregisteredv1
chio-wire/v1/error/policy_denied.schema.jsonChio ToolCallError policy_deniedunregisteredv1
chio-wire/v1/error/tool_server_error.schema.jsonChio ToolCallError tool_server_errorunregisteredv1
chio-wire/v1/federation/bilateral-signature-slice-envelope.schema.jsonChio bilateral DSSE signature-slice envelopechio.bilateral-signature-slice.v1v1
chio-wire/v1/federation/bilateral-signature-slice.schema.jsonChio bilateral DSSE signature-slice statementunregisteredv1
chio-wire/v1/jsonrpc/notification.schema.jsonChio JSON-RPC 2.0 Notificationunregisteredv1
chio-wire/v1/jsonrpc/request.schema.jsonChio JSON-RPC 2.0 Requestunregisteredv1
chio-wire/v1/jsonrpc/response.schema.jsonChio JSON-RPC 2.0 Responseunregisteredv1
chio-wire/v1/kernel/capability_list.schema.jsonChio KernelMessage capability_listunregisteredv1
chio-wire/v1/kernel/capability_revoked.schema.jsonChio KernelMessage capability_revokedunregisteredv1
chio-wire/v1/kernel/combined-capture-metadata.schema.jsonChio Combined Admission Capture Metadataunregisteredv1
chio-wire/v1/kernel/execution_nonce.schema.jsonChio signed execution nonceunregisteredv1
chio-wire/v1/kernel/heartbeat.schema.jsonChio KernelMessage heartbeatunregisteredv1
chio-wire/v1/kernel/tool_call_chunk.schema.jsonChio KernelMessage tool_call_chunkunregisteredv1
chio-wire/v1/kernel/tool_call_response.schema.jsonChio KernelMessage tool_call_responseunregisteredv1
chio-wire/v1/provenance/attestation-bundle.schema.jsonChio Provenance Attestation Bundleunregisteredv1
chio-wire/v1/provenance/context.schema.jsonChio Provenance Call-Chain Contextunregisteredv1
chio-wire/v1/provenance/stamp.schema.jsonChio Provenance Stampunregisteredv1
chio-wire/v1/provenance/verdict-link.schema.jsonChio Provenance Verdict Linkunregisteredv1
chio-wire/v1/receipt/admission-metadata.schema.jsonChio Durable Admission Receipt Metadatachio.admission-receipt.v1v1
The chio-wire family of the signed-artifact registry, one row per registered schema id with its kind and file. The native message schemas under agent, kernel, result, and error are not registered there.
sourcespec/schemas/registry.jsonat fe56570