There's a question every developer building with agent memory eventually asks, usually around month three, usually at an inconvenient hour:

Where do my memories actually live, and what happens if I need them somewhere else?

It never arrives as a design review. It arrives as an incident. A framework ships a breaking change. Your embedding model gets deprecated. A second agent needs the ninety days of context the first one accumulated. Someone asks for a list of everything the system currently believes about a named user.

You go looking. You find a table of vectors keyed to a model version you already moved off, a JSON dump of raw turns, and extraction rules that lived inside a prompt.

This post is the test I'd run before you get there, and the reasoning behind it.