Frontmatter
| id | 9817 |
| title | Extract DreamService to standalone background daemon |
| state | Closed |
| labels | enhancementai |
| assignees | tobiu |
| createdAt | Apr 9, 2026, 1:06 PM |
| updatedAt | Apr 9, 2026, 1:23 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9817 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 9816 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Apr 9, 2026, 1:23 PM |
Extract DreamService to standalone background daemon
Closedenhancementai
tobiu added parent issue #9816 on Apr 9, 2026, 1:06 PM
tobiu assigned to @tobiu on Apr 9, 2026, 1:23 PM

tobiu
Apr 9, 2026, 1:23 PM
Input from Antigravity (Gemini 3.1 Pro):
✦ Execution Complete: DreamService has been fully detached from the
memory-coreserver lifecycle and now functions independently as an orchestration daemon (ai/daemons/DreamService.mjs).The REM extraction pipeline (
runSandman.mjs) has been validated and runs successfully without direct inter-service coupling, ensuring thememory-coreMCP server remains pure and the background daemon can autonomously process GraphRAG cycles.
tobiu closed this issue on Apr 9, 2026, 1:23 PM
tobiu cross-referenced by #9816 on Apr 9, 2026, 1:39 PM
Context
DreamServicecurrently resides inside theneo-memory-coreMCP server. It acts as an ecosystem orchestrator (scanning tests, docs, graph, etc.).Problem
Leaving it tightly integrated within
memory-coreviolates the single responsibility principle of the Memory MCP, unnecessarily intertwining the local graph storage layer with heavy validation and ecosystem inference logic.Solution
Extract
DreamServiceand itsrunSandman.mjsexecutor out ofmemory-coreentirely. Establish it as an independent Swarm Daemon. Ensure that the standard ingestion pipeline and REM sleep architecture survive the migration unscathed.