The Problem
During the sandman_handoff.md generation logic in DreamService, escaped newlines (\\n) within the capability gaps string were not being sanitized, rendering as raw string tokens instead of proper indentation.
Additionally, the autonomous GAP architecture logic was aggressively flagging internal Neo.mjs config lifecycle hooks (e.g., beforeGetWrapperStyle, afterSetData) as "Capabilities Missing Documentation/Tests," despite them being auto-generated or intentionally internal mechanisms.
The Architectural Reality
The issue was identified in DreamService.mjs across two locations:
- When generating
docGap and testGap, the capability gap generator checked all METHOD graph nodes universally.
- During TTL markdown synthesis,
capabilityGap.replace(/\n/g, ' ') failed to target string-literal \\n entries written prior to SQLite persistence.
File fixed:
ai/mcp/server/memory-core/services/DreamService.mjs
The Fix
- Implemented a filtering constraint testing
METHOD names against the regex regex pattern /^(beforeGet|beforeSet|afterSet)[A-Z]/ to skip Neo.mjs config lifecycle hooks during capability inference.
- Augmented the formatting constraint during
synthesizeGoldenPath to explicitly target and clean \\n literal string references out of the raw node SQLite properties.
The Problem
During the
sandman_handoff.mdgeneration logic inDreamService, escaped newlines (\\n) within the capability gaps string were not being sanitized, rendering as raw string tokens instead of proper indentation. Additionally, the autonomous GAP architecture logic was aggressively flagging internal Neo.mjs config lifecycle hooks (e.g.,beforeGetWrapperStyle,afterSetData) as "Capabilities Missing Documentation/Tests," despite them being auto-generated or intentionally internal mechanisms.The Architectural Reality
The issue was identified in
DreamService.mjsacross two locations:docGapandtestGap, the capability gap generator checked allMETHODgraph nodes universally.capabilityGap.replace(/\n/g, ' ')failed to target string-literal\\nentries written prior to SQLite persistence.File fixed:
ai/mcp/server/memory-core/services/DreamService.mjsThe Fix
METHODnames against the regex regex pattern/^(beforeGet|beforeSet|afterSet)[A-Z]/to skip Neo.mjs config lifecycle hooks during capability inference.synthesizeGoldenPathto explicitly target and clean\\nliteral string references out of the raw node SQLite properties.