event_record_expression
Record a user's exact words and atomically update an event's title, state, progress, facts, refs, or metadata, returning a receipt.
Instructions
Record words together with the changes they support, atomically: set any of title, state, progress, facts (goal, constraint, plan), refs and metadata. To fold words recorded earlier into fields, pass that Account's accountId and its exact text instead of appending new words. Each supplied field replaces the stored one, so supply its complete current content and carry over what still holds; null removes a field. Mark your own inferences inside the fact text with their basis. Verbatim rule: text is the user's actual words, trimmed and otherwise unchanged, never a summary or a third-person paraphrase such as "The user confirmed…"; when a message covers several Events, pass the part about this Event, still in the user's words. Interpretation belongs in the fields. Returns a receipt.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| set | No | Fields to replace, each with its complete current content; null removes a field. Inside facts, each supplied key replaces that fact and the others are unchanged. | |
| via | No | Where the words came from when they were not said in this conversation, e.g. "example-export". | |
| text | Yes | The user's actual words, verbatim. Never a summary or a third-person paraphrase. | |
| actor | Yes | Who is writing: your own identity, e.g. {"kind": "agent", "id": "laptop"}. Never the owner or another writer. | |
| eventId | Yes | An Event id from the directory or a receipt. | |
| accountId | No | An existing Account of this Event to ground the changes on. | |
| accountSource | No | Whose words they are: user (default), agent_response (your own sentence, such as an inference) or authorized_external (relayed from an application the user authorized). | |
| expectedVersion | No | The Event's version from your last read or receipt. On VERSION_CONFLICT, read again and reconsider. |