Dreams
Memax's background knowledge-organization engine. Clusters, deltas, and reports.
Dreams is Memax's background knowledge-organization engine. It periodically analyzes a hub's memories to group related ones into topics, surface contradictions, and emit a dream report the UI can show.
What the engine produces
For each hub with enough activity, a dream run emits:
- Topics — clusters of related memories with a shared theme. Topics are hierarchical (parent/child) and hub-scoped.
- Topic assignments — which memories belong to which topics.
- Deltas — what changed in the topic tree since the previous run (new topic, memories added/removed, topic merged or split).
- Contradictions — flagged pairs of memories that appear to disagree (surfaces as a review action in the inbox).
Topics are the user-facing output; the rest is metadata that powers the inbox + review surfaces in the web app.
Triggering
Dreams run on a server-side schedule — you don't have to invoke
them. For manual triggering (operators, debugging, memax dreams):
memax dreams trigger --hub platform-teamA hub's subscription / plan controls whether dreams are enabled and how frequently they run automatically.
Inspecting runs
memax dreams list # recent dream runs on the active hub
memax dreams list --hub <slug>
memax dreams report # latest report (topics touched, contradictions flagged)Topics
Topics are the canonical grouping. They're:
- Auto-generated by the engine on dream runs, then persisted.
- User-editable — rename, merge, pin, delete via the web app
or
memax topiccommands. - Hierarchical — topics can have parents.
- Hub-scoped — each hub has its own topic tree.
Manage topics directly from the CLI:
memax topic list
memax topic create "Auth & identity"
memax topic set <memory-id> <topic-id-or-prefix>
memax topic clear <memory-id>
memax topic delete <topic-id>Privacy and scope
Dreams run over a hub's own memories. Cross-hub analysis doesn't happen — a team hub's dream engine never reads your personal memories, and vice versa.
Contradictions show up as review actions in the inbox. Resolving one writes an
initiation_type=agent_automatic memory capturing your decision so the next
dream run doesn't re-flag it.