A topic cache usually begins with keyword families. That is fast and inspectable, but exact terms miss paraphrases while broad patterns such as “family” can pull many unrelated records.
The request builder also has recent history and compact local memory, so topic retrieval should complement those layers rather than repeat them. Retrieved items need relevance scores, size limits, and companion-safety filtering.
What was actually going wrong
Any keyword match was treated as equally relevant and all matches were appended.
What I tried
- Expanding every topic regex with many loose synonyms
- Returning the newest topic item only
- Using topic context without checking recent overlap
Topic candidates are scored against the current turn, capped, deduplicated against recent context, and omitted when confidence is weak.
Why it worked
Retrieval is allowed to return less instead of forcing marginal context into every prompt.
A good memory retriever knows when not to remember.
Where EACI uses this today
Main companion requests use bounded topic context after E-for-Everyone filtering.
This journal covers real engineering on EACI Companion / The Veil. Companions include Caelum, Chad, Natalia, Atreus, Luna, Roxy, and Cael. Journal articles stay family-safe in content. See Privacy and Ethics.