ak.schema.read_cursor.v1
ak.schema.read_cursor.v1 · file: schemas/read-cursor.schema.json Actor-private multi-device read cursor. Stored in encrypted account data or actor-private stream; NEVER published into a shared Realm Event history. Bound to (actor_id, realm_id, read_scope, position, HLC, device_id) per zh/discovery/read-receipts.md §6.6. Multi-device merge is causal-first per §6.5: the position that causally dominates wins regardless of HLC; HLC max decides only causally concurrent positions, and device_id only breaks equal HLCs. The object carries NO typed id and NO update timestamp. A cursor is never updated in place: its identity is the (actor_id, realm_id, read_scope) tuple, each advance is a freshly authored ak.read_cursor.advance Event (event-kind-registry id_source=not_an_object_id), and the time of that update is that Event envelope created_at. There is no read_cursor typed ID kind, no id-addressed read surface, and capability selectors address read cursors only as read_cursor:<realm>:*. Derived views that need a time (read-cursor-operations.schema.json#/$defs/read_marker_outcome, the ak.read_cursor.update device-message content ak.schema.read_cursor_update.v1) take updated_at from the winning advance envelope.
* $ · object
const "ak.schema.read_cursor.v1""ak.schema.read_cursor.v1"* actor_id · oneOf[2] · $ref ./common-ids.schema.json#/$defs/actor_id
oneOf · oneOf[0] · object
const "account""account"$ref #/$defs/account_id · $ref #/$defs/account_idoneOf · oneOf[1] · object
const "service""service"$ref #/$defs/did_core_id · $ref #/$defs/did_core_idstring^ak:device:[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$string · $ref ./common-ids.schema.json#/$defs/realm_id^ak:realm:[A-Za-z0-9_-]{44}$* read_scope · object · $ref #/$defs/read_scope
?????string (enum)"realm" "circle" "space" "strand" "thread"string^ak:(circle|space|strand|message):[A-Za-z0-9_-]{44}$string^[a-z][a-z0-9_]{0,63}$* position · object · $ref #/$defs/position
string^ak:event:[A-Za-z0-9_-]{44}$string^[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/read-cursor.schema.json