A backlog is a list a human maintains. Neo.mjs synthesizes its own — and forecasts what to build next.
Most automation executes work you queue for it. Neo's Brain does something different: it digests its own recent experience and predicts the highest-ROI work for the next cycle. The mechanism is the DreamService — a forecasting engine that runs while agents are idle, turns raw session memories into structured graph intelligence, and synthesizes a Golden Path: a mathematically ranked roadmap of what the swarm should do next.
The name is deliberate. Like biological REM sleep, the system processes the day's experience overnight and wakes with a clearer model of the world.
The system evolves by predicting its own evolution.
This is the organism's gravitational center — every part feeds the next:
- Agents work, and persist their reasoning to the Memory Core.
- The DreamService digests those sessions into the Native Edge Graph — concepts, dependencies, and conflicts.
- It scores every open issue by fusing semantic relevance (closeness to the current frontier) with structural weight (how much the rest of the graph depends on it).
- The result is the Golden Path: a ranked strategic recommendation the orchestrator reads on the next cycle.
- Completed work changes the graph — which changes the predictions — which changes what the swarm works on next.
flowchart LR
classDef work fill:#0f3460,stroke:#16c79a,stroke-width:2px,color:#fff
classDef dream fill:#3d1f00,stroke:#f39c12,stroke-width:2px,color:#eee
classDef out fill:#1a3c34,stroke:#16c79a,stroke-width:1px,color:#fff
Work["Agents work + persist memory"]:::work
Dream["DreamService digests sessions"]:::dream
Graph["Graph re-weights topology"]:::dream
Path["Golden Path ranks next work"]:::out
Work --> Dream --> Graph --> Path --> Work
Nobody hand-maintains that priority order. It emerges from the system's own model of itself. (Mechanism: the Dream Pipeline & Golden Path.)
One pipeline phase is fully deterministic — no LLM guessing. The DreamService cross-references graph nodes directly against the filesystem and flags where the codebase is under-covered: a class with no matching tests becomes a test gap; a component with no matching guide becomes a documentation gap. The system surfaces its own blind spots and routes them into the next cycle's priorities, with stale gaps pruned automatically so the signal stays fresh.
Self-evolution is not only about what to build — it is about how the team itself improves. When a workflow causes repeated friction, that friction is converted into durable substrate: a sharpened rule, a new skill, a filed ticket. This is the MX (Model Experience) loop, and it is why the same mistake tends not to recur: the organism edits the rules it runs on.
A codebase that forecasts its own highest-leverage work, finds its own missing tests and docs, and evolves its own process is a codebase that compounds instead of merely accumulating. That is the operational meaning of self-evolving software organism: not a metaphor, but a closed feedback loop you can read in the open — sandman_handoff.md, the graph, and the merged PRs that prove it ran.
- The Dream Pipeline & Golden Path — the forecasting algorithm in detail
- Agent Memory & Knowledge — the substrate the Dream Pipeline digests
- The AI Engineering Team — who acts on the Golden Path
- Architecture Overview: The Closed Loop — the full self-improving cycle