ak.schema.agent_sidecar_exchange_projection.v1
ak.schema.agent_sidecar_exchange_projection.v1 · file: schemas/agent-sidecar-exchange-projection.schema.json Disposable controller-device-local cache for one source-routed native Sidecar exchange. Every field is a deterministic fold of accepted Sidecar-scoped Events. This object is not wire truth, is not Account Data, is never merged across devices, and may always be deleted and rebuilt.
* $ · object
Disposable controller-device-local cache for one source-routed native Sidecar exchange. Every field is a deterministic fold of accepted Sidecar-scoped Events. This object is not wire truth, is not Account Data, is never merged across devices, and may always be deleted and rebuilt.
allOf · allOf[0] ·
?allOf · allOf[1] ·
?allOf · allOf[2] ·
?allOf · allOf[3] ·
?allOf · allOf[4] ·
?* schema ·
const "ak.schema.agent_sidecar_exchange_projection.v1"enum:
"ak.schema.agent_sidecar_exchange_projection.v1"* controller_account_id · object · $ref ./common-ids.schema.json#/$defs/account_id
Complete protocol identity for a principal at one Station, including human, Agent, Applet-managed Ghost and integration accounts. It does not imply a human login, provisioning workflow, credential class or authorization. Equality is byte-for-byte equality of both canonical did_core_id components; neither component may be inferred from a DID Document, route, session audience, current service, handle, or local database key. Accounts with the same principal_id at different station_id values are permanently distinct. Principal equality MUST NOT establish account equivalence or any permission inheritance, merging, delegation, substitution or recovery relationship. Account-scoped authority requires independent authorization for the exact AccountId. Permanent loss of a Station does not permit its accounts or PCR lineages to migrate to or revive at another Station; Realm takeover and RealmCommit recovery do not waive this boundary. See models/common-fields.md section 4.2.
* principal_id ·
$ref #/$defs/did_core_id · $ref #/$defs/did_core_id* station_id ·
$ref #/$defs/did_core_id · $ref #/$defs/did_core_id* sidecar_id ·
string · $ref ./common-ids.schema.json#/$defs/sidecar_idpattern:
^ak:sidecar:[A-Za-z0-9_-]{44}$* exchange_id ·
string · $ref #/$defs/exchange_idOpaque controller-private idempotency identity; it is not a Sidecar locator and MUST NOT be copied into shared events.
pattern:
^[A-Za-z0-9._~=-]{22,128}$* source_track_ref · object · $ref #/$defs/source_track_ref
* realm_id ·
string · $ref ./common-ids.schema.json#/$defs/realm_idRetyped ak.realm.create Event token. It therefore carries the same fixed current-v1 0x01/SHA-256 content-address identity and is not selected by Realm state.
pattern:
^ak:realm:[A-Za-z0-9_-]{44}$* strand_id ·
string · $ref #/$defs/strand_idpattern:
^ak:strand:[A-Za-z0-9_-]{44}$* track_name ·
string · $ref #/$defs/track_namepattern:
^[a-z][a-z0-9_]{0,63}$source_event_id ·
string · $ref #/$defs/event_idOptional accepted Event id copied from the request context as the source Event for this exchange. This identifies one Event, not a checkpoint or trust anchor.
pattern:
^ak:event:[A-Za-z0-9_-]{44}$* source_hlc ·
string · $ref #/$defs/hlcpattern:
^[0-9a-f]{12}-[0-9a-f]{4}-[0-9a-f]{8}$* client_order_key ·
stringpattern:
^[A-Za-z0-9._~=-]{1,128}$* addressed_agent_ids · array<$ref ./common-ids.schema.json#/$defs/did_core_id>
items ·
string · $ref ./common-ids.schema.json#/$defs/did_core_idCanonical stable DID-derived identity core. The lowercase DID method name follows ak:did_core:, and the remaining method-adapter-defined core is opaque to generic consumers. The did:web v1 adapter uses the complete canonical method-specific-id, never a digest or truncated host. Principal-core and service-core equality is byte-for-byte equality of the complete did_core_id. Event actor and Realm membership equality instead use the complete closed ActorId, and account-scoped equality uses the complete AccountId; neither may be reduced to a principal core. A did_core_id is not a DID and cannot be resolved without a did or AuthenticatedServiceResolution.
pattern:
^ak:did_core:[a-z0-9]+:[^\s/?#]+$* coordinator_agent_id ·
string · $ref ./common-ids.schema.json#/$defs/did_core_idCanonical stable DID-derived identity core. The lowercase DID method name follows ak:did_core:, and the remaining method-adapter-defined core is opaque to generic consumers. The did:web v1 adapter uses the complete canonical method-specific-id, never a digest or truncated host. Principal-core and service-core equality is byte-for-byte equality of the complete did_core_id. Event actor and Realm membership equality instead use the complete closed ActorId, and account-scoped equality uses the complete AccountId; neither may be reduced to a principal core. A did_core_id is not a DID and cannot be resolved without a did or AuthenticatedServiceResolution.
pattern:
^ak:did_core:[a-z0-9]+:[^\s/?#]+$* coordinator_assignment_event_id ·
string · $ref #/$defs/event_idpattern:
^ak:event:[A-Za-z0-9_-]{44}$* participating_agent_ids · array<$ref ./common-ids.schema.json#/$defs/did_core_id>
items ·
string · $ref ./common-ids.schema.json#/$defs/did_core_idCanonical stable DID-derived identity core. The lowercase DID method name follows ak:did_core:, and the remaining method-adapter-defined core is opaque to generic consumers. The did:web v1 adapter uses the complete canonical method-specific-id, never a digest or truncated host. Principal-core and service-core equality is byte-for-byte equality of the complete did_core_id. Event actor and Realm membership equality instead use the complete closed ActorId, and account-scoped equality uses the complete AccountId; neither may be reduced to a principal core. A did_core_id is not a DID and cannot be resolved without a did or AuthenticatedServiceResolution.
pattern:
^ak:did_core:[a-z0-9]+:[^\s/?#]+$* private_request_event_id ·
string · $ref #/$defs/event_idpattern:
^ak:event:[A-Za-z0-9_-]{44}$* user_facing_response_event_ids · array<$ref #/$defs/event_id>
items ·
string · $ref #/$defs/event_idpattern:
^ak:event:[A-Za-z0-9_-]{44}$* status ·
string (enum)enum:
"delivered" "responding" "complete" "failed"failure_reason_code ·
stringpattern:
^[a-z][a-z0-9_]{0,63}$terminal_event_id ·
string · $ref #/$defs/event_idController-authored ak.agent.sidecar.exchange.control Event that produced complete or failed.
pattern:
^ak:event:[A-Za-z0-9_-]{44}$* folded_checkpoint · object · $ref #/$defs/folded_checkpoint
Local cache coverage. event_ids are the canonical sorted maximal causal heads of all contributing accepted exchange facts. event_set_digest commits to the canonical sorted complete contributing Event-id set. max_hlc is display/cache metadata only and never proves causal dominance.
* event_ids · array<$ref #/$defs/event_id>
items ·
string · $ref #/$defs/event_idpattern:
^ak:event:[A-Za-z0-9_-]{44}$* event_set_digest ·
string · $ref #/$defs/digestpattern:
^(sha256|blake3):[0-9a-f]{64}$* max_hlc ·
string · $ref #/$defs/hlcpattern:
^[0-9a-f]{12}-[0-9a-f]{4}-[0-9a-f]{8}$Source
- registry row:
spec/v1/artifacts/registry/schema-registry.json - schema document:
spec/v1/artifacts/schemas/agent-sidecar-exchange-projection.schema.json