Memory API
How it works
Four properties that affect how to call it.
- 01Everything is a data point
One input shape: text plus a timestamp. An email, a transcript, a ticket and a note all enter the same way. There are no entities to model, no relationships to define, and no picking what is worth remembering.
- 02Send order sets the queue order
Each workspace has a sequential queue, so points apply in the order they arrive. Timestamps are backdatable, so years of history can be replayed and land on their real dates.
- 03Reads are only correct once writes settle
Ingestion returns as soon as content is accepted, but derivation continues: extraction into the graph, then maintenance, then distillation. Poll until settled before reading, or the query will hit a graph that is still being written.
- 04Answers carry their evidence
Every answer returns the exact lines the model read, each attributed to its source. When the memory does not hold an answer, the model declines to generate one and sets
abstainedto true.
Idempotency
Ingestion is idempotent by content hash. Re-sending unchanged content short-circuits and returns "status": "completed" with "unchanged": true and a null ingestionId. A crashed backfill can resume by re-running the same loop, and the part that already landed costs nothing to replay.
Changing the timestamp, the group, or the access scope of an existing point is different: those are derivation inputs, so the full cascade runs again.