> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jeanmemory.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Data format

> One catalog, one event stream, explicit identifiers.

A dataset contains items and optional events. IDs are scoped to your workspace.

```json theme={"dark"}
{
  "name": "store-sample",
  "items": [{"item_id":"sku_42","text":"Merino hiking socks"}],
  "events": [{
    "event_id":"evt_1",
    "person_id":"person_7",
    "item_id":"sku_42",
    "kind":"purchase",
    "timestamp":"2026-09-01T12:00:00Z",
    "value":1
  }]
}
```

| Field       | Meaning                                                                      |
| ----------- | ---------------------------------------------------------------------------- |
| `item_id`   | Your stable item key; each event must resolve to an item in the snapshot     |
| `text`      | Item title and description used for text tokenization                        |
| `event_id`  | Unique event key within the dataset; duplicates are rejected                 |
| `person_id` | Your pseudonymous account key; identity links must come from your data       |
| `kind`      | The observed action: `view`, `click`, `purchase`, `review`, or your own name |
| `timestamp` | When that action was recorded, RFC 3339 in UTC                               |
| `value`     | Optional numeric observation; define its meaning for each event type         |

The sample import contract accepts up to 1,000 items, 5,000 events, and 1 MiB per request.
Larger imports are managed during onboarding. Inputs form an immutable snapshot.

Model calls use item IDs ordered oldest first. The initial next-item head uses sequence order;
it does not infer elapsed time or action type from bare IDs. Its model card lists supported inputs.
