ak.schema.personal_productivity.v1
ak.schema.personal_productivity.v1 · file: schemas/personal-productivity.schema.json Plaintext shapes that MUST be encrypted before writing ak.profile.personal_productivity.v1 account-data values.
* $ · oneOf[4]
Plaintext shapes that MUST be encrypted before writing ak.profile.personal_productivity.v1 account-data values.
oneOf · oneOf[0] · object · $ref #/$defs/reminder
* kind ·
const "reminder"enum:
"reminder"* target_ref ·
string · $ref #/$defs/target_refpattern:
^((?:ak:realm:[A-Za-z0-9_-]{44}|ak:(circle|space|actor_profile|strand|message|morph|relation|view|event|grant|invite|call|report):[A-Za-z0-9_-]{44}|ak:(policy|blob):[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})|ak:blob:(sha256|blake3):[0-9a-f]{64}|did:[^\s]+|(sha256|blake3):[0-9a-f]{64})$* due_at ·
string (date-time) · format=date-time · $ref #/$defs/timestampCanonical Arkret-owned absolute instant. UTC Z form with exactly three millisecond digits. Whole seconds MUST use .000Z; offsets, missing/finer fractions, lowercase separators, leap seconds, and invalid Gregorian calendar dates are forbidden. Shape validation by this pattern is supplemented by semantic date validation.
pattern:
^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]\.[0-9]{3}Z$note ·
string* updated_hlc ·
string · $ref #/$defs/hlconeOf · oneOf[1] · object · $ref #/$defs/scheduled_send
* kind ·
const "scheduled_send"enum:
"scheduled_send"* scheduled_send_id ·
stringpattern:
^ak:scheduled_send:[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$* send_at ·
string (date-time) · format=date-time · $ref #/$defs/timestampCanonical Arkret-owned absolute instant. UTC Z form with exactly three millisecond digits. Whole seconds MUST use .000Z; offsets, missing/finer fractions, lowercase separators, leap seconds, and invalid Gregorian calendar dates are forbidden. Shape validation by this pattern is supplemented by semantic date validation.
pattern:
^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]\.[0-9]{3}Z$* message_payload · object · $ref ./event-payload.schema.json#/$defs/message_create_payload
Payload for ak.message.create. If content/encrypted_content contains an audience_mention AST node (for example @all or @here), reducer admission and notification dispatch MUST additionally enforce ak.message.mention.broadcast plus the audience policy / max_recipient / rate-limit rules in zh/models/strand-and-message.md §9.4.3. @here maps to audience="strand_engaged" and is not presence-filtered.
allOf · allOf[0] · oneOf[2]
oneOf · oneOf[0] ·
?oneOf · oneOf[1] ·
?allOf · allOf[1] ·
?allOf · allOf[2] ·
?allOf · allOf[3] ·
?* strand_id ·
$ref #/$defs/strand_id · $ref #/$defs/strand_id* track_name ·
$ref #/$defs/track_name · $ref #/$defs/track_namecontent ·
$ref #/$defs/content_block · $ref #/$defs/content_blockencrypted_content ·
$ref #/$defs/message_encrypted_content · $ref #/$defs/message_encrypted_contentmetadata ·
$ref #/$defs/message_metadata · $ref #/$defs/message_metadataencrypted_metadata ·
$ref #/$defs/message_encrypted_metadata · $ref #/$defs/message_encrypted_metadatablob_refs · array<$ref #/$defs/object_ref>
items ·
$ref #/$defs/object_ref · $ref #/$defs/object_refreply_to_id ·
$ref #/$defs/message_id · $ref #/$defs/message_idOptional creation convenience: the message this one replies to. The reducer records it as the message's reply linkage (lifting it onto the message content) and surfaces it as a replies_to relation in the message projection; it does not require a separate canonical ak.relation event. The materialized Message object itself carries no reply_to scalar. See strand-and-message.md §9.1.
agent_context · object
Auditable authorization context required when an Agent authors the message.
* agent_id ·
$ref #/$defs/did_core_id · $ref #/$defs/did_core_id* operator_or_controller ·
string* execution_purpose ·
string* authorization_ref ·
stringmimi_provenance ·
$ref #/$defs/mimi_message_provenance · $ref #/$defs/mimi_message_provenancepoll_response_heads · array<$ref #/$defs/poll_response_head>
Each entry binds a poll to the exact response Event being superseded.
items ·
$ref #/$defs/poll_response_head · $ref #/$defs/poll_response_head* updated_hlc ·
string · $ref #/$defs/hlconeOf · oneOf[2] · object · $ref #/$defs/snooze
* kind ·
const "snooze"enum:
"snooze"* target_ref ·
string · $ref #/$defs/target_refpattern:
^((?:ak:realm:[A-Za-z0-9_-]{44}|ak:(circle|space|actor_profile|strand|message|morph|relation|view|event|grant|invite|call|report):[A-Za-z0-9_-]{44}|ak:(policy|blob):[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})|ak:blob:(sha256|blake3):[0-9a-f]{64}|did:[^\s]+|(sha256|blake3):[0-9a-f]{64})$* snooze_expires_at ·
string (date-time) · format=date-time · $ref #/$defs/timestampCanonical Arkret-owned absolute instant. UTC Z form with exactly three millisecond digits. Whole seconds MUST use .000Z; offsets, missing/finer fractions, lowercase separators, leap seconds, and invalid Gregorian calendar dates are forbidden. Shape validation by this pattern is supplemented by semantic date validation.
pattern:
^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]\.[0-9]{3}Z$* updated_hlc ·
string · $ref #/$defs/hlconeOf · oneOf[3] · object · $ref #/$defs/saved_item
* kind ·
const "saved_item"enum:
"saved_item"* collection_title ·
string* target_ref ·
string · $ref #/$defs/target_refpattern:
^((?:ak:realm:[A-Za-z0-9_-]{44}|ak:(circle|space|actor_profile|strand|message|morph|relation|view|event|grant|invite|call|report):[A-Za-z0-9_-]{44}|ak:(policy|blob):[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})|ak:blob:(sha256|blake3):[0-9a-f]{64}|did:[^\s]+|(sha256|blake3):[0-9a-f]{64})$note ·
string* updated_hlc ·
string · $ref #/$defs/hlcSource
- registry row:
spec/v1/artifacts/registry/schema-registry.json - schema document:
spec/v1/artifacts/schemas/personal-productivity.schema.json