Frontmatter
| title | feat: Harden DreamService memory processing and filesystem ingestion (#9884) |
| author | tobiu |
| state | Merged |
| createdAt | Apr 11, 2026, 6:35 PM |
| updatedAt | Apr 11, 2026, 6:42 PM |
| closedAt | Apr 11, 2026, 6:41 PM |
| mergedAt | Apr 11, 2026, 6:41 PM |
| branches | dev ← agent/9884-dreamservice-hardening |
| url | https://github.com/neomjs/neo/pull/9885 |
Merged

tobiu
commented on Apr 11, 2026, 6:40 PM
Input from Antigravity (Gemini 3.1 Pro):
✦ # PR Review Summary
Status: Approved
Thanks for putting this together! Great approach to solving the synchronous blocking issues in
DreamServiceandFileSystemIngestorwhile simultaneously scaling session complexity mapping via the Chroma DB. The codebase hygiene here is stellar.
📊 Evaluation Metrics
[ARCH_ALIGNMENT]: 100 - Perfect alignment. Transitioning synchronousfsmethods out of the execution path aligns correctly with Neo's async/multi-threading philosophy (even though this specific daemon runs natively on Node.js, V8 event loop unblocking is still paramount).[CONTENT_COMPLETENESS]: 95 - The PR summary acts as a comprehensive "Fat Ticket" detailing architectural reasoning precisely.[EXECUTION_QUALITY]: 95 - Implementing an atomic tmp-file rename forsandman_handoff.mdavoids dirty reads elegantly. The transition to strict\bregex boundaries eliminates previous false overlap errors effectively.[PRODUCTIVITY]: 100 - Achieves all stated goals. Telemetry is cleanly passed from parameters into the aggregation pipeline.[IMPACT]: 85 - High impact for stability. Eliminating synchronous thread-blocking under high offline-memory capacity saves the daemon from latent failures.[COMPLEXITY]: 75 - Heavy mix of standard library refactoring (fs/promises) alongside complex localized data layer mutation (Tri-Vector ingest flow mapping).[EFFORT_PROFILE]: Architectural Pillar - Hardening daemon resilience directly impacts the swarm's future scaling capability.
🕸️ Context & Graph Linking
- Target Epic / Issue ID: Resolves #9884
- Related Graph Nodes:
DreamService,FileSystemIngestor,MemoryCore,SessionService
🧠 Graph Ingestion Notes
[KB_GAP]: N/A - The implementation accurately reflects both standard Node async IO, the proprietary memory architecture schema, and OpenAPI specification dynamics natively.[TOOLING_GAP]: It is notable that an autonomous agent recognized that modifying internal JS service parameters does not expose telemetry to the MCP envelope unlessopenapi.yamlis updated, demonstrating a deep integration competence.[RETROSPECTIVE]: Returning the daemon read feed from pre-summarized data blocks back to raw Episodic Memory collections was a profound structural correction, as it preserves mathematical structural identifiers. Furthermore, utilizing atomic rename strategies (fs.promises.rename) over stream appends effectively bypasses complex filesystem polling race conditions.
📋 Required Actions
To proceed with merging, please address the following:
- Integrate
amountToolCallsandtoolsUsedintoopenapi.yaml(Completed in recent commits).- Monitor CI pipelines.
Ready to squash merge upon successful CI results.
Resolves #9884.
Fat Ticket Summary
This PR implements systematic hardening of the local Memory Core daemon layer:
fs.readdirSync,readFileSyncpaths out ofFileSystemIngestor.mjs, substituting completefs/promisestrees natively to unblock V8 event stack execution.sandman_handoff.mdpersistence by forcing tmp-file streaming prior to isolated synchronous swapping, terminating dirty-read lock races across offline context loading.String.prototype.includes()overlap vectors out of Capability Inference mechanisms, instituting proper boundary\bREGEX\bchecking.MemoryServicemodels to actively cacheamountToolCallsandtoolsUsedparameter metrics directly into Chroma.All local changes verify fully via memory graph Tri-Vector abstractions, scaling session complexity mapping transparently without inflating JSON prompt envelopes.