Skip to content

Dreaming needs supported guard to disable session transcript ingestion during QMD migrations #87689

Description

@Countermarch

Summary

During staged QMD memory migrations, session transcript indexing into dreaming/QMD may intentionally be out of scope. In that state, operators need a supported way to disable session transcript ingestion so volatile session, cron, and tool-output fragments do not enter dreaming memory.

Observed across the 2026.5.26 to 2026.5.27 update window. Current installed version observed locally:

OpenClaw 2026.5.27 (27ae826)

A local environment used sentinel files named:

memory/.dreams/disable-session-ingestion

and a local quality filter to keep volatile session/cron/tool output from entering dreaming memory. Package/runtime updates can overwrite that local installed-runtime guard. When the guard was lost, non-main workspaces regenerated memory/.dreams/session-corpus files and volatile dream stores accumulated raw cron/session snippets.

Expected behavior

OpenClaw should provide a supported configuration switch or durable sentinel mechanism to disable session transcript ingestion into dreaming/QMD during staged migrations.

When disabled:

  • Dreaming should not create active memory/.dreams/session-corpus files.
  • Dreaming should not promote raw command/status/transcript snippets into short-term recall or phase-signal stores.
  • The disable setting should survive package updates.

Actual behavior

Without the local installed-runtime guard, a Memory Dreaming Promotion run recreated active session-corpus files and volatile dream entries from raw session/cron fragments.

The fallout was not limited to the main agent. Non-main workspaces such as cron-related agents also had session-corpus material that required cleanup.

Local workaround

The local installed dreaming runtime was patched to:

  • check for memory/.dreams/disable-session-ingestion;
  • skip session transcript ingestion when present;
  • apply a local blocklist/quality filter for volatile command/status snippets.

Operational cleanup after the guard was lost:

  • quarantined generated session-corpus files;
  • scrubbed session-corpus entries from active volatile dream stores;
  • forced QMD reindex for affected agents;
  • recreated sentinel files for pilot agents.

Verification evidence

After restoring the local guard:

  • pilot agents had memory/.dreams/disable-session-ingestion;
  • active session-corpus file count was 0;
  • QMD memory status was clean for pilot agents;
  • no active volatile session-corpus files reappeared after subsequent monitor checks;
  • gateway health remained OK.

Requested upstream outcome

Please add a first-class setting or supported sentinel for disabling session transcript ingestion into dreaming/QMD, plus tests ensuring package updates do not remove the behavior. This would let staged memory migrations keep QMD clean until transcript indexing is explicitly enabled.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.clawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions