Auditable dreams: why our nightly consolidation leaves receipts
Every serious memory system shipped a “dreaming” feature this year, and they all rest on the same insight: human memory does its hardest work offline. While you sleep, your brain replays the day, merges duplicates, resolves contradictions, and files experiences into the larger story of your life. A memory layer that only ever appends will drown in its own contradictions; one that consolidates gets sharper as it grows.
So we built one too. Every night at 2am, Smara sleeps. The cycle runs in sleep-phase order: a contradiction sweep first — pairs of currently-believed facts about the same entity, close enough in embedding space to smell like duplicates or conflicts, adjudicated one by one: keep both, merge, or one supersedes the other. Then temporal re-grounding: a memory recorded in June saying “going to Singapore in July” becomes “went to Singapore in July 2026” once July is over. Then the recombination phase: related entities re-cluster into communities and each community's summary is rewritten against the graph as it now stands. Since last night, the cycle also classifies untagged memories into life domains — personal, professional, family, health — so access policies have something to grip.
Here is where we split from everyone else: a Smara dream never edits anything in place.
Every change a dream makes is a supersession. The old fact's validity window closes; the new fact records what replaced it and why; the revision log records the dream itself as the actor. Merge 137 near-duplicates overnight — our first production dream did exactly that — and the morning after, you can open any affected fact's belief history and see the entire chain: what was believed, what the dream decided, what is believed now. The wake report lands in the portal as “While you slept…”, and because the report is itself a memory, you can literally ask your memory what it dreamed and it will answer, citing the dream.
Why insist on this? Because a memory that edits itself while you sleep is either the most useful feature in the product or the creepiest, and the difference is entirely in whether you can check its work. “Trust the model” is not an answer we would accept from anyone else's infrastructure, so it can't be the answer for ours. Consolidation is a judgment call made by a language model at 2am with nobody watching. The only honest way to ship that is to make every one of those judgment calls reviewable — and reversible, because a closed validity window can be reopened the way any correction happens in Smara: with another supersession.
There is a quieter benefit, too. Because dreams leave a full audit trail, we can measure them. We know our first dream adjudicated 146 candidate pairs and merged 137. We know last night's cycle chose to skip two tenants because nothing new had happened — the gate costs one query, then the tenant sleeps. When a dream misjudges — and at some point one will — the failure will be a visible, attributable record we can learn from, not a silent mutation we discover months later as an inexplicable belief.
Memory hygiene is the industry's acknowledged blind spot: systems that are excellent at saving and mediocre at maintaining. Dreaming is our answer to that — but auditable dreaming is our answer to the question that comes right after, the one every user should ask of any system that rewrites their past: who watches the editor? In Smara, you do.