feat: autodream — background memory consolidation#68
Open
strix-tkellogg wants to merge 1 commit intomainfrom
Open
feat: autodream — background memory consolidation#68strix-tkellogg wants to merge 1 commit intomainfrom
strix-tkellogg wants to merge 1 commit intomainfrom
Conversation
Adds a new builtin skill that runs memory consolidation between sessions. Designed for open-strix's YAML block + journal + state file architecture. Co-Authored-By: Claude Opus 4.6 <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.
Summary
Adds
autodreamas a builtin skill for background memory consolidation. Designed specifically for open-strix's architecture (YAML blocks, journal.jsonl, session transcripts, state files) — not a port of any existing implementation.How it works
Gate check (
gate_check.py) — lightweight watcher onturn_completethat checks three conditions:Most turns it exits silently. When all gates pass, it emits a finding routed to the agent.
Dream execution (SKILL.md instructions) — the agent runs four phases:
logs/autodream.jsonl, update timestamp, release lockKey design decisions
logs/autodream.jsonl. Operators can audit what happened to their agent's memory.What's NOT in this PR
session_endtrigger firing from app.py (PR Add watchers: unified cron + event-triggered monitoring #67 / watchers-system adds the watcher infrastructure but session_end isn't wired yet). The gate usesturn_completewhich works today — it just checks conditions rather than needing to know "the session ended."Depends on
turn_completewatcher trigger. Without it, the gate script never fires. The skill docs work standalone but the automation requires watchers.Test plan
logs/autodream.jsonlcaptures all actions with reasons🤖 Generated with Claude Code