Detect when Memory recall goes quiet across chats - #38
Merged
hamzamerzic merged 1 commit intoAug 4, 2026
Merged
Conversation
Co-authored-by: Möbius Agent <mobius-agent@users.noreply.github.com>
This was referenced Aug 10, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Reflection's nightly health handoff reports whether Memory's runs succeed, and its recall audit grades the quality of the reads that happened. Nothing watched whether reads happen at all, so a change that stops agents recalling from Memory produces a clean-looking health report while recall is silently dead.
memory_health.pynow reports arecall_activityblock and raises one new reason,recall_collapsed, when the last full day falls below a quarter of its trailing 7-day median.Why distinct chats rather than read volume
The count is of distinct chats that recalled, not read-log lines. One chat recalling ten times is a single agent deciding once, so raw volume lets a burst on either side of a quiet window mask a broad collapse — on the instance this was built against, a day whose recalls stopped for eighteen hours still logged more reads than its own median, while distinct chats moved sharply. Distinct chats also proved the tighter series across a week of ordinary use.
Keeping it quiet when it should be
Two guards stop false alarms: at least four days of read-log history, and a trailing median of at least three chats. A young log, a fresh install, or a genuinely quiet stretch raises nothing.
Zero recalls and one-out-of-twenty are the same failure, so this is one signal rather than a severity tier — there is no separate advisory threshold to tune.
Tests
Collapse against a real baseline, a lone stray recall still counting as a collapse, steady volume raising nothing, a young log staying quiet, and a missing read-log directory reporting zeroes without failing.