Retrieval is the part you already got working.
The problem starts after the agent acts on what it found.The file has hard limits, and a growing project hits all of them
.

A row that caused an incident and a row that shipped clean keep the same score forever.
Similarity ranks on how the text reads. Whether acting on it worked never enters the number.

The row you wrote in January about a service you have since rewritten still comes back at full weight.
Recency is a column you sort by. It says nothing about whether the row is still true.

When a fact changes you overwrite the row, and what the agent believed last month is gone.
After a bad run there is no way to reconstruct what it actually read at the time.


Everything past similarity search is code you own forever.
Re-embedding
You change model or dimension and the whole corpus needs re-embedding with the index kept in sync. It comes back every time the embedding stack moves.
More than one agent
The moment two agents write, you need attribution, conflict handling and scoped access. That is schema and migrations, not a query.

Decay and pruning
Without a policy the table grows and old rows keep ranking. You end up writing a scoring job and a cron to hold it back.







Across agents, models, and teams.