Autonomous Dreaming
A long-lived memory store accumulates stale ideas, duplicate phrasing, and decisions superseded by later ones. Without periodic consolidation it gets noisy, slow, and a poor signal source for the agent. Dreaming is OMEGA's solution: scheduled analyzers walk a store, propose mutations (merges, retirements, dedups), and either queue them for your review or auto-apply against per-store policy. The substrate schedules itself — no cron, no orchestrator, no outbound call.
Every applied dream lands on the same immutable memver_ version chain
as a manual edit. A regulator can verify months later: "this scheduled
dream ran at T, proposed N changes, M were applied" with cryptographic
proof (see the Signed Audit Chain guide).
The four MCP tools
| Tool | Purpose |
|---|---|
omega_dream | Run a dream analyzer over a target store (or the whole store), persist a pending drm_… job with proposed mutations |
omega_dream_diff | Show the proposed mutations for a pending or applied job — summary + each op with target_id + reason |
omega_dream_apply | Execute the proposed ops; each one routes through the regular mutation path so the memver_ chain captures it |
omega_dream_discard | Reject a pending job. Proposal is archived in place; no ops execute. Idempotent. |
A typical session
# 1. Run an analyzer over a specific store
omega_dream(target_store_id="my_engineering_notes", analyzer="content_dedup")
→ created job drm_a14f… with 12 proposed mutations
# 2. Review what it wants to change
omega_dream_diff(job_id="drm_a14f…")
→ MERGE mem-aaa + mem-bbb (Jaccard 0.94, both describe Postgres lock timeout fix)
RETIRE mem-ccc (superseded by mem-ddd 2026-04-12)
... 10 more
# 3. Approve (applies via the regular mutation path; memver_ records it)
omega_dream_apply(job_id="drm_a14f…")
→ 12 ops applied; memver_ rows 4421..4432
# Or reject without applying
omega_dream_discard(job_id="drm_a14f…")
Per-store scheduling
Each store carries its own dream policy: cadence, analyzers, auto-apply
threshold. The substrate scheduler triggers omega_dream on the cadence
you set. Pending jobs surface in the welcome briefing so you never miss
a proposed change.
The actor on each scheduled job is recorded as actor_kind=dream in
the version chain — easy to tell scheduled hygiene from manual edits
when reading the audit later.
Why this is a moat
Cloud-only memory systems can't offer this. Anthropic's managed agents memory consolidates on their schedule, in their compute, with their billing meter. OMEGA's dreaming runs on your machine, on a schedule you set, with cryptographic proof of every change. For air-gapped users (defense, healthcare, finance), it's the only viable autonomous-memory substrate.
See also
- Signed Audit Chain — every applied dream is signed and verifiable
- Tool Profiles — dreaming loads by default in the
soloprofile