跳转到内容

ak.schema.agent_sidecar_exchange_projection.v1

← Schemas

Arkret Agent Sidecar Exchange Projection
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_id
pattern: ^ak:sidecar:[A-Za-z0-9_-]{44}$
* exchange_id · string · $ref #/$defs/exchange_id
Opaque 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_id
Retyped 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_id
pattern: ^ak:strand:[A-Za-z0-9_-]{44}$
* track_name · string · $ref #/$defs/track_name
pattern: ^[a-z][a-z0-9_]{0,63}$
source_event_id · string · $ref #/$defs/event_id
Optional 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/hlc
pattern: ^[0-9a-f]{12}-[0-9a-f]{4}-[0-9a-f]{8}$
* client_order_key · string
pattern: ^[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_id
Canonical 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_id
Canonical 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_id
pattern: ^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_id
Canonical 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_id
pattern: ^ak:event:[A-Za-z0-9_-]{44}$
* user_facing_response_event_ids · array<$ref #/$defs/event_id>
items · string · $ref #/$defs/event_id
pattern: ^ak:event:[A-Za-z0-9_-]{44}$
* status · string (enum)
enum: "delivered" "responding" "complete" "failed"
failure_reason_code · string
pattern: ^[a-z][a-z0-9_]{0,63}$
terminal_event_id · string · $ref #/$defs/event_id
Controller-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_id
pattern: ^ak:event:[A-Za-z0-9_-]{44}$
* event_set_digest · string · $ref #/$defs/digest
pattern: ^(sha256|blake3):[0-9a-f]{64}$
* max_hlc · string · $ref #/$defs/hlc
pattern: ^[0-9a-f]{12}-[0-9a-f]{4}-[0-9a-f]{8}$

Source