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
| Field | Values | Default |
|---|---|---|
enabled | boolean | true |
interval_hours | 6, 12 or 24 | 12 (or EAM_DREAM_INTERVAL_HOURS) |
recent_ttl_days | 1–90; unconsumed RECENT items older than this are expired after a real run | 14 |
timezone | IANA name, e.g. Europe/Lisbon, or null | server 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_rundefaults totrue: send{"dry_run":false}to write the summary.GET /api/v1/dream/status—enabled,interval_hours,last_run_ms,next_due_ms,recent_pendingand the last 5 runs inhistory.
A scheduler in the server also runs DREAM for each user on their interval when there is pending RECENT data.
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.