---
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 `augment_search` separately for each exploratory query, always passing
   the active `project_name` and 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 `augment_read_memory` 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 `augment_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
   `augment_dream_apply` with its filename. Call `augment_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.
