---
name: augment-dream
description: Explore globally recalled Augment memories and propose speculative memories or links for explicit user approval. Use when the user asks to "dream" over memory, imagine hypotheses, or surface hidden connections across the current, generic, or foreign projects.
---

# Augment Dream

Dreams are hypotheses, not established facts. Discover and draft freely, but
never mutate the corpus before the user explicitly approves a named proposal.
Use a real project as the active project; `.generic` is inspiration or a link
target only.

1. Call `search` separately for each exploratory query, always passing the
   active `project_name` and the singular `query` argument. Use normal global
   results as ranked: the current project receives its normal priority, while
   generic and foreign memories remain eligible.
   Do not reserve a generic quota or add a generic fallback.
2. Call `read` with each useful result's numeric memory id, and retain its
   returned relative path for provenance. Imagine 1-5 coherent candidates:
   - dream memory: a new record in the active project, with `derived_from`
     equal to the exact inspiration paths;
   - dream link: a link from an active-project memory to any current, generic,
     or foreign memory.
   Generic-only and foreign-only inspiration are valid.
3. Call `dream_propose` for each worthwhile candidate. State the speculation
   plainly in the content and rationale; do not present it as settled truth.
4. Show each proposal to the user. Only after explicit approval call
   `dream_apply` with its filename. Call `dream_reject` when the user rejects
   it. If approval is unclear, leave the proposal pending.
5. Report the applied speculative memory or link and its `dream:` commit.

Keep evidence and conjecture distinguishable. Do not invent supporting source
paths, and do not rewrite a foreign memory: foreign projects are inspiration
and link targets only.
