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.
| Schema | Title | Description |
|---|---|---|
actor.schema.json | Actor | A 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.json | AdapterProvenance | A 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.json | AgentSessionDescriptor | Describes the identity and context of a CHP agent session: intent, model, memory scope, autonomy tier, and tool manifest. |
approval-decision.schema.json | ApprovalDecision | Payload 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.json | AssuranceMetadata | |
auth-token.schema.json | AuthToken | An 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.json | AutonomyProfile | Autonomy control surface for a CapabilityDescriptor (v0.3.4). Declares tier, budget gates, and rollback intent. |
capability-descriptor.schema.json | CapabilityDescriptor | |
certification-record.schema.json | CertificationRecord | Formal attestation that a capability meets a declared maturity level (§11.4). |
chain-witness.schema.json | ChainWitness | A 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.json | ChpApprovalGrant | chp-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.json | ChpIdentityDocument | Public 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.json | CorrelationContext | |
delegation-envelope.schema.json | DelegationEnvelope | Describes a governed work handoff between agents, services, or humans. |
denial-reason.schema.json | DenialReason | |
disclosure-receipt.schema.json | DisclosureReceipt | A 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.json | DomainEventEmitted | Payload of domain_event_emitted evidence events (v0.4.4). |
dsse-envelope.schema.json | DsseEnvelope | A 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.json | EvaluationResult | Structured outcome of an agent reflection or evaluation pass. |
evidence-bundle.schema.json | EvidenceBundle | A 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.json | ExecutionEvidence | |
execution-evidence.schema.json | ExecutionEvidence | |
graph-entity.schema.json | GraphEntityAdded | Payload of graph_entity_added evidence events (v0.4.3). |
host-descriptor.schema.json | HostDescriptor | |
in-toto-statement.schema.json | InTotoStatement | An 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.json | IngestionResult | Payload of ingestion_completed evidence events (v0.4.1). Records provenance without storing raw content. |
invariant-descriptor.schema.json | InvariantDescriptor | |
invocation-envelope.schema.json | InvocationEnvelope | |
invocation-metrics.schema.json | InvocationMetrics | Aggregated chp.invocations.* statistics for a single capability (§9.3). |
invocation-result.schema.json | InvocationResult | |
mandate-revocation.schema.json | MandateRevocation | The 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.json | Mandate | A 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.json | MemoryEntry | A single key-value record in scoped CHP agent memory. |
plan-descriptor.schema.json | PlanDescriptor | Describes an agent plan: intent, ordered steps, and optional parent session link. |
replay-query.schema.json | ReplayQuery | |
replay-result.schema.json | ReplayResult | |
retrieval-result.schema.json | RetrievalResult | Payload of retrieval_completed evidence events (v0.4.0). Records the query, ranked source references, and retrieval metadata. |
sealed-payload.schema.json | SealedPayload | The 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.json | StoreHeadAnchor | An 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.json | StoreHeadConsistency | An 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.json | StoreHeadInclusion | An 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.json | StoreHeadMonitorReport | A 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.json | TaskBundle | Cross-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.json | TransformationResult | Payload of transformation_completed evidence events (v0.4.2). Records provenance without storing raw content. |
workflow-step.schema.json | WorkflowStepCompleted | Payload of workflow_step_completed evidence events (v0.4.4). |