Commerce CensusContactRequest access

Guide: agent memory

Memory exists because an index is stateless and a shopper is not. Without it every conversation re-asks about budget, brands they refuse and what they already bought.

Namespace per end user

One namespace per person, chosen by you. Nothing crosses namespaces, and you can drop one entirely when a user leaves.

HTTP
POST /v1/memory
{ "namespace": "user_9f21", "kind": "constraint",
  "body": "never recommend anything with a subscription attached",
  "ttl_days": 365 }

Type it, because types expire differently

kindLifetimeExample
constraintLongWon't buy leather.
preferenceLongPrefers matte black.
purchasePermanentBought a Baratza grinder in Feb.
rejectionMediumRejected the Ninja — too loud.
intentShortLooking for a coffee machine this week.

Recall for the decision, not the history

Ask what is relevant to what you are about to recommend. Replaying an entire history into context is expensive and makes the recommendation harder to explain, not easier.

HTTP
POST /v1/memory/query
{ "namespace": "user_9f21", "about": "recommending a coffee machine", "limit": 5 }

Write rejections

The most under-used kind. An agent that recommends the same rejected product twice loses trust permanently, and recording the rejection costs one call.