Give the dream service and heartbeat patrol the memory conventions they were missing#457
Merged
Merged
Conversation
…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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Two related gaps where memory-organization conventions weren't reaching the components that need them:
Dream service — the memory-consolidation pass is fed
memory-rules.mdbut neverdirectives.md, which is where the long-term memory category vocabulary and the active-plans lifecycle actually lived.dream.mdeven tells the LLM to "refer to the memory rules for the category vocabulary" — but that vocabulary wasn't in its context.directives.mdandmemory-rules.mdalso contradicted each other about where categories lived.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-caseactive-plans/injection — so a live plan could be invisible to a given run. The livedirectivechecklist was also empty.Changes (docs-only, no code)
directives.mdintomemory-rules.md— the file already shared by the primary agent, subagents, and the dream.directives.mdkeeps a pointer and the (primary-specific) active-plans lifecycle. This resolves the danglingdream.mdreference and also gives subagents the vocabulary they previously lacked.dream.mdcritical rule: leaveactive-plans/entries untouched during consolidation — they are live artifacts the primary agent manages.heartbeat-patrol.md): find active plans deterministically via an explicitactive-plans/category search rather than relying on auto-recall.The live cluster's
scheduled-tasks.jsonheartbeat directive and the profile.mdfiles were already updated to match; the dream and patrol pick these up on their next cycle/fire with no restart.🤖 Generated with Claude Code