DREAM

DREAM turns a window of raw RECENT-tier captures (screen, web, imported history) into one summary memory.

What it produces

The summary is deterministic (no language model is required): active time per project with top commands, what changed (commits, branches, PRs, deploys, imports), open threads and sites, in your local time zone. A DREAM summary is tagged dreamed and ranked at relevance 0.6, so it never outranks something you wrote deliberately.

Settings

FieldValuesDefault
enabledbooleantrue
interval_hours6, 12 or 2412 (or EAM_DREAM_INTERVAL_HOURS)
recent_ttl_days1–90; unconsumed RECENT items older than this are expired after a real run14
timezoneIANA name, e.g. Europe/Lisbon, or nullserver default (Europe/Lisbon)

Read with GET /api/v1/dream/settings, change with PUT /api/v1/dream/settings.

Run and status

  • POST /api/v1/dream/run — body {dry_run, since_ms, until_ms}. dry_run defaults to true: send {"dry_run":false} to write the summary.
  • GET /api/v1/dream/status — enabled, interval_hours, last_run_ms, next_due_ms, recent_pending and the last 5 runs in history.

A scheduler in the server also runs DREAM for each user on their interval when there is pending RECENT data.

Search and DREAM

Raw captures are hidden from search by default. After DREAM runs, the summary is searchable. Use include_recent to search the raw items before that.