Frontmatter
| id | 10013 |
| title | [Sub-Epic] DreamService Decomposition |
| state | Closed |
| labels | epicairefactoringarchitecture |
| assignees | tobiu |
| createdAt | Apr 14, 2026, 6:43 PM |
| updatedAt | May 12, 2026, 4:10 AM |
| githubUrl | https://github.com/neomjs/neo/issues/10013 |
| author | tobiu |
| commentsCount | 0 |
| parentIssue | 9999 |
| subIssues | 10028 Finalize DreamService Decomposition: Tri-Vector & Topology Extractors |
| subIssuesCompleted | 1 |
| subIssuesTotal | 1 |
| blockedBy | [] |
| blocking | [x] 10014 [Sub-Epic] Macro Knowledge Base & Semantic Gap Inference |
| closedAt | Apr 15, 2026, 2:07 PM |
[Sub-Epic] DreamService Decomposition
tobiu added parent issue #9999 on Apr 14, 2026, 6:43 PM
tobiu marked this issue as blocking #10014 on Apr 14, 2026, 6:44 PM
tobiu cross-referenced by PR #10027 on Apr 15, 2026, 1:55 PM
tobiu closed this issue on Apr 15, 2026, 2:07 PM
tobiu added sub-issue #10028 on Apr 15, 2026, 2:18 PM
tobiu assigned to @tobiu on Apr 18, 2026, 5:22 PM
tobiu cross-referenced by #9748 on Apr 20, 2026, 1:13 PM
Objective
Decompose the monolithic
DreamService.mjs(~1400 lines) into a thin orchestrator backed by focused, independently testable services. This is a structural prerequisite for the Macro KB, Dynamic Topology, and Multi-Tenant Identity workstreams.Rationale
DreamServicecurrently owns file ingestion, tri-vector extraction, topological conflict detection, capability gap inference, garbage collection, issue/discussion/PR ingestion, and Golden Path synthesis. Adding Macro DB queries, federated ChromaClient routing, batching, and userId-scoped queries would push it past 2000 lines of mixed concerns.Proposed Extraction
IssueIngestoringestIssueStates(),ingestDiscussionStates(),ingestPullRequestFeedback()GapInferenceEngineexecuteCapabilityGapInference()GoldenPathSynthesizersynthesizeGoldenPath()+ scoring algebrasandman_handoff.mdgenerationGraphMaintenanceServicerunGarbageCollection()DreamServiceitself becomes a ~200-line orchestrator sequencing these services through the REM pipeline phases.Acceptance Criteria
Neo.core.BasewithNeo.setupClass()@summarytagsDreamServiceorchestrator delegates to extracted servicesParent Epic: #9999 Origin Session ID: 69b726ca-97c8-406c-9106-c63b6642c4c0