Capability Host Protocol — Docs
Reference

Schema reference

JSON Schemas for every CHP protocol object, synced from chp-core/schemas.

45 schemas. Canonical JSON lives in chp-core/schemas/ — each row links to the source.

SchemaTitleDescription
actor.schema.jsonActorA first-class actor identity (chp-application-contract.md section 3.1, proposal 0034). An OPTIONAL, structured, caller-asserted identity enriching an invocation beyond the free-form subject (which stays the host's verified accountability record). Every field but id is omit-when-empty.
adapter-provenance.schema.jsonAdapterProvenanceA publisher's signed claim that they built an exact adapter artifact (chp-v0.2.md section 9, proposal 0001). The signature covers the canonical header {kind, package, version, wheel_sha256, created_at, canonicalization}; the publisher's host-identity attestation (with optional anchors) rides inside, so 'who published this' resolves through the same trust roots as evidence bundles.
agent-session-descriptor.schema.jsonAgentSessionDescriptorDescribes the identity and context of a CHP agent session: intent, model, memory scope, autonomy tier, and tool manifest.
approval-decision.schema.jsonApprovalDecisionPayload for approval_granted and approval_denied evidence events (v0.3.5). Records the capability URI and the identity of the actor who made the decision.
assurance-metadata.schema.jsonAssuranceMetadata
auth-token.schema.jsonAuthTokenAn ed25519-signed, short-lived, audience-bound bearer token a caller presents for transport authentication instead of (or beside) the static X-CHP-Key (chp-v0.2.md section 5, proposal 0027). The signature covers the canonical header {kind, sub, aud, iat, exp, canonicalization}; the caller block is the same self-attested host identity a mandate principal carries. A host verifies the token is internally valid (signature, attestation binds host_id==sub, iat<=now<exp, aud matches) AND authorizes the caller by pinning sub's public key. Any failure is a transport 401, never a governance denial.
autonomy-profile.schema.jsonAutonomyProfileAutonomy control surface for a CapabilityDescriptor (v0.3.4). Declares tier, budget gates, and rollback intent.
capability-descriptor.schema.jsonCapabilityDescriptor
certification-record.schema.jsonCertificationRecordFormal attestation that a capability meets a declared maturity level (§11.4).
chain-witness.schema.jsonChainWitnessA peer's signed countersignature over another host's evidence-store head (chp-v0.2.md section 12, proposal 0005): 'at global sequence N, HOST's store digested to ROOT' under the chp-store-head-v1 scheme (sha256 over sorted correlation_id\x00head_hash\n lines). The witness signs only the root — no correlation ids leak. Because chains are append-only, the witnessed history at sequence <= N is committed: a later rewrite recomputes to a different root. The statement's value is that it lives with the WITNESS — the witnessed operator cannot delete it.
chp-approval-grant.schema.jsonChpApprovalGrantchp-approval-grant-v1 (chp-v0.2.md section 19, proposal 0037): an approver's ed25519-signed grant authorizing a specific invocation (bound to invocation_id + payload_commitment) to resume past an approval_required gate and execute exactly once. Verified offline like a mandate.
chp-identity.schema.jsonChpIdentityDocumentPublic host identity document served unauthenticated at /.well-known/chp-identity (chp-v0.2.md §3.1). Its authority comes from the TLS origin serving it.
correlation-context.schema.jsonCorrelationContext
delegation-envelope.schema.jsonDelegationEnvelopeDescribes a governed work handoff between agents, services, or humans.
denial-reason.schema.jsonDenialReason
disclosure-receipt.schema.jsonDisclosureReceiptA recipient's ed25519-signed record that it unsealed a specific sealed event (chp-v0.2.md section 16.1, proposal 0030). The signature covers the canonical header {kind, who, content_hash, payload_commitment, unsealed_at, canonicalization}; the recipient block is the self-attested identity that signs. A non-repudiable disclosure trail over a confidential payload WITHOUT revealing the plaintext. Verification checks structure, the signature against the recipient's key, and who==signing key_id; a caller cross-checks content_hash / payload_commitment against the bundle.
domain-event.schema.jsonDomainEventEmittedPayload of domain_event_emitted evidence events (v0.4.4).
dsse-envelope.schema.jsonDsseEnvelopeA DSSE (Dead Simple Signing Envelope) wrapping an in-toto Statement (chp-v0.2.md section 15, proposal 0021). CHP exports a signed evidence bundle as this envelope for portability into the Sigstore/in-toto/SLSA ecosystem. The signature is ed25519 over the DSSE PAE: DSSEv1 SP LEN(payloadType) SP payloadType SP LEN(body) SP body, where body is the raw base64-decoded payload. Conforms to the upstream DSSE spec.
evaluation-result.schema.jsonEvaluationResultStructured outcome of an agent reflection or evaluation pass.
evidence-bundle.schema.jsonEvidenceBundleA portable, offline-verifiable export of a correlation's evidence (CHP v0.2). Signed bundles are tamper-evident; hash-chain bundles detect mutation/reordering.
evidence-event.schema.jsonExecutionEvidence
execution-evidence.schema.jsonExecutionEvidence
graph-entity.schema.jsonGraphEntityAddedPayload of graph_entity_added evidence events (v0.4.3).
host-descriptor.schema.jsonHostDescriptor
in-toto-statement.schema.jsonInTotoStatementAn in-toto Statement/v1 carrying a CHP evidence bundle as its predicate (chp-v0.2.md section 15, proposal 0021). The subject is the correlation, digested by the bundle root_hash; the predicate is the full signed CHP bundle (lossless round-trip). This is the base64-decoded DSSE payload.
ingestion-record.schema.jsonIngestionResultPayload of ingestion_completed evidence events (v0.4.1). Records provenance without storing raw content.
invariant-descriptor.schema.jsonInvariantDescriptor
invocation-envelope.schema.jsonInvocationEnvelope
invocation-metrics.schema.jsonInvocationMetricsAggregated chp.invocations.* statistics for a single capability (§9.3).
invocation-result.schema.jsonInvocationResult
mandate-revocation.schema.jsonMandateRevocationThe principal's signed withdrawal of a mandate before its expiry (chp-v0.2.md section 10, proposal 0007) — the fifth statement-family member. Issuer-only rule: a revocation binds to a mandate by mandate_id AND by the principal public key matching the mandate's own; verifiers check the revocation signature against the MANDATE's principal key, never the statement's self-declared key, so a statement signed by any other key revokes nothing.
mandate.schema.jsonMandateA principal's signed grant of bounded authority to a delegate (chp-v0.2.md section 10, proposal 0002): 'delegate D may invoke capabilities in SCOPE on my behalf until VALID_UNTIL'. The signature covers the canonical header {kind, mandate_id, delegate_id, scope, valid_from, valid_until, created_at, canonicalization}; the principal's host-identity attestation (with optional anchors) rides inside, so 'whose authority' resolves through the same trust roots as evidence bundles. A mandate narrows and attributes - transport auth still gates the connection.
memory-entry.schema.jsonMemoryEntryA single key-value record in scoped CHP agent memory.
plan-descriptor.schema.jsonPlanDescriptorDescribes an agent plan: intent, ordered steps, and optional parent session link.
replay-query.schema.jsonReplayQuery
replay-result.schema.jsonReplayResult
retrieval-result.schema.jsonRetrievalResultPayload of retrieval_completed evidence events (v0.4.0). Records the query, ranked source references, and retrieval metadata.
sealed-payload.schema.jsonSealedPayloadThe marker that replaces an evidence event's inline payload when it is sealed (chp-v0.2.md section 16, proposal 0025). The sibling of the selective-disclosure {chp_withheld} marker: the event's payload_commitment (over the plaintext) is unchanged, so the chain, root hash, and signature verify offline over the ciphertext with no key. Only the holder of the recipient X25519 private key can unseal. The bundle verifier skips this marker exactly as it skips a withheld payload.
store-head-anchor.schema.jsonStoreHeadAnchorAn external, out-of-mesh attestation of a host's evidence-store head (chp-v0.2.md section 12 External anchoring, proposal 0013). An external did:key SSHSIG-countersigns chp-stable-v1({kind, host_id, sequence, store_head, anchored_at}) under SSHSIG namespace chp-store-head-anchor. Independent of the witnessing peer set: an anchored head survives even if every witness colludes. This is the signed-checkpoint form; real Rekor/Sigstore Merkle-inclusion proofs are a named deferral.
store-head-consistency.schema.jsonStoreHeadConsistencyAn RFC 6962 consistency proof that a later chp-store-head-v2 Merkle tree is an append-only extension of an earlier one (chp-v0.2.md section 12, proposal 0022). A party holding only the two signed/anchored roots and this proof verifies, with no leaves snapshot and no witness, that between the two heads the log only appended: recompute both the old root (first_size) and the new root (second_size) from the proof's subtree hashes and check they equal first_root and second_root. Any dropped, altered, or reordered old leaf makes the recomputed old root diverge and verification fails.
store-head-inclusion.schema.jsonStoreHeadInclusionAn RFC 6962 Merkle inclusion proof that a single correlation's leaf is committed under a chp-store-head-v2 root (chp-v0.2.md section 12, proposal 0019). A party holding only the signed/anchored root, the correlation's id and head_hash, and this proof verifies inclusion with no leaves snapshot and no witness: recompute the leaf hash from the correlation's leaf bytes up the audit_path and check it equals the root.
store-head-monitor-report.schema.jsonStoreHeadMonitorReportA monitor's signed finding that a host's externally-anchored store-head history is (or is not) faithful (chp-v0.2.md section 12, proposal 0023). For each store-head-anchor (sequence N, root R), the monitor reconstructs the head as-of N from the live store and checks it still equals R; a mismatch is a provable rewrite. The report is offline-verifiable: recompute the header and check the monitor's ed25519 signature. A 'forked' verdict carries a divergence block naming the sequence where the live store stopped reproducing the anchored root.
task-bundle.schema.jsonTaskBundleCross-host verification unit (chp-v0.2.md §8): one correlation's per-host signed bundles, canonically ordered, with a root-of-roots fingerprint.
transformation-record.schema.jsonTransformationResultPayload of transformation_completed evidence events (v0.4.2). Records provenance without storing raw content.
workflow-step.schema.jsonWorkflowStepCompletedPayload of workflow_step_completed evidence events (v0.4.4).