47 facts. 37 contradictions.
The dream system angle. An uncurated fact store after a few weeks of active development contains facts that actively contradict each other. The pgvector version from week one was incompatible with the cosine search pattern from week three. Nobody noticed until the consolidation cycle ran.
X / Twitter
Post 1 336 / 280
47 facts in the store. 37 contradictions detected. One example: the pgvector version pinned in week one did not support the cosine search operator introduced in week three. Both facts were in the store. Neither session noticed. A memory system that captures well but never consolidates is a notebook you write in but never read back.
Hook tweet. The pgvector example is concrete and believable. Tuesday to Thursday 8-10am UK.
Post 2 341 / 280
What Hydrate does between sessions: Extract facts from the session transcript. Check them against existing facts for contradictions. Merge or retire the ones that have been superseded. Flag version conflicts. The dream reports expire after 72 hours. The goal is not perfect history. It is a store that gives correct answers when injected.
Mechanism follow-on. Can thread under or stand alone.
Post 1538 chars
A memory system that captures well but never consolidates is a notebook you write in but never read back. I discovered this through a specific failure. I had a project with 47 facts accumulated over a few weeks of active development. During a consolidation cycle, the system detected 37 contradictions. The most concrete one: a pgvector version constraint established in the first session was incompatible with a cosine search operator pattern introduced three sessions later. Both facts were in the store, injected into every session, actively contradicting each other. No individual session noticed. The problem is structural. Individual sessions do not have visibility into the full history of the fact store. Alice adds a fact. Bob adds a conflicting fact three days later. Neither knows about the conflict. The injection silently presents both. This is why Hydrate runs a consolidation cycle between sessions. It reads the full fact store, identifies contradictions (version conflicts, superseded decisions, stale constraints), and either merges or retires the losing fact. The output is a dream report: what was found, what was resolved, what needs human review. The reports expire after 72 hours. The goal is not historical completeness. It is a store that gives correct answers when injected. Without consolidation, a fact store past a certain age becomes actively harmful. It does not give you memory. It gives you confident, consistent misinformation. Full write-up: gethydrate.dev/blog/what-hydrate-does-between-sessions
The pgvector example is essential. It makes the abstract problem concrete. Worth long-form for LinkedIn because the mechanism is non-obvious. Tuesday or Wednesday.
Bluesky
Post 1 228 / 300
47 facts. 37 contradictions. The pgvector version from week one did not support the cosine search pattern from week three. Nobody noticed for two weeks. A memory system that only captures is not a memory system. It is a pile.
Short Bluesky version. The last line is the quotable part.