Skip to content

Give the dream service and heartbeat patrol the memory conventions they were missing#457

Merged
rockfordlhotka merged 1 commit into
mainfrom
fix/dream-and-patrol-active-plans
May 29, 2026
Merged

Give the dream service and heartbeat patrol the memory conventions they were missing#457
rockfordlhotka merged 1 commit into
mainfrom
fix/dream-and-patrol-active-plans

Conversation

@rockfordlhotka

Copy link
Copy Markdown
Member

Problem

Two related gaps where memory-organization conventions weren't reaching the components that need them:

  1. Dream service — the memory-consolidation pass is fed memory-rules.md but never directives.md, which is where the long-term memory category vocabulary and the active-plans lifecycle actually lived. dream.md even tells the LLM to "refer to the memory rules for the category vocabulary" — but that vocabulary wasn't in its context. directives.md and memory-rules.md also contradicted each other about where categories lived.

  2. Heartbeat patrol — its job is to move active plans forward, but it had no deterministic way to find them. Its LTM context is top-8 BM25 recall against the task description (AgentContextBuilder, no category filter), with no special-case active-plans/ injection — so a live plan could be invisible to a given run. The live directive checklist was also empty.

Changes (docs-only, no code)

  • Move the LTM category vocabulary (category table, content style, what-belongs, subject-time) from directives.md into memory-rules.md — the file already shared by the primary agent, subagents, and the dream. directives.md keeps a pointer and the (primary-specific) active-plans lifecycle. This resolves the dangling dream.md reference and also gives subagents the vocabulary they previously lacked.
  • Add a dream.md critical rule: leave active-plans/ entries untouched during consolidation — they are live artifacts the primary agent manages.
  • Heartbeat patrol seed (heartbeat-patrol.md): find active plans deterministically via an explicit active-plans/ category search rather than relying on auto-recall.

The live cluster's scheduled-tasks.json heartbeat directive and the profile .md files were already updated to match; the dream and patrol pick these up on their next cycle/fire with no restart.

🤖 Generated with Claude Code

…ey were missing

The memory dream pass is fed memory-rules.md but never directives.md, where the long-term memory category vocabulary and the active-plans lifecycle actually lived. dream.md even instructed the LLM to "refer to the memory rules for the category vocabulary" — but that vocabulary was not in its context, and directives.md/memory-rules.md contradicted each other about where it lived.

- Move the LTM category vocabulary (category table, content style, what-belongs, subject-time) from directives.md into memory-rules.md, the file already shared by the primary agent, subagents, and the dream. directives.md keeps a pointer and the (primary-specific) active-plans lifecycle. Fixes the dangling dream.md reference and also gives subagents the vocabulary they lacked.

- Add a dream.md critical rule: leave active-plans/ entries untouched during consolidation — they are live artifacts the primary agent manages.

- Heartbeat patrol: find active plans deterministically via an explicit search of the active-plans/ category instead of relying on top-8 BM25 recall (which could miss plans entirely). Updates the seed checklist wording.

Docs-only; no code changes. Cluster files already updated to match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rockfordlhotka rockfordlhotka merged commit 2475158 into main May 29, 2026
2 checks passed
@rockfordlhotka rockfordlhotka deleted the fix/dream-and-patrol-active-plans branch May 29, 2026 18:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant