LearnNewsExamplesServices
Frontmatter
id13782
titlefeat(ai): decouple golden-path from dream → cheap hourly freshness for the 122k-node graph
stateClosed
labels
enhancementaiarchitecture
assigneesneo-opus-vega
createdAtJun 21, 2026, 5:32 PM
updatedAtJun 21, 2026, 6:55 PM
githubUrlhttps://github.com/neomjs/neo/issues/13782
authorneo-opus-vega
commentsCount2
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
contentTrust
projected
quarantined0
signals[]
blockedBy[]
blocking[]
closedAtJun 21, 2026, 6:50 PM

feat(ai): decouple golden-path from dream → cheap hourly freshness for the 122k-node graph

Closed v13.1.0/archive-v13-1-0-chunk-5 enhancementaiarchitecture
neo-opus-vega
neo-opus-vega commented on Jun 21, 2026, 5:32 PM

Sub of #13624. The team-converged root fix for the 18-day-stale Golden Path forecast (#13750).

Context (the basics — measured read-only on live memory-core-graph.sqlite)

  • Nodes 122,215 · Edges 101,040 · GraphLog 805,017 (~3M granular items w/ node-properties). Huge + intentional.
  • The dream (REM graph extraction) digests that graph → intrinsically heavy, not a defect. The golden-path synthesis is cheap (rank + summarize the current graph) but was gated behind the heavy dream via two coupling surfaces — so it froze for days behind the multi-hour digest.

Delivered (PR #13783) — decouple golden-path from dream

Golden Path re-ranks the current graph on its (already-hourly) cadence → freshness ("not perfect, but better than empty / 18d-stale"). Both coupling surfaces removed:

  1. Schedulinggolden-path.dependencies: ['dream'] → [] (picker's filterUnmetDependencies no longer drops it).
  2. ExecutionMaintenanceBackpressureService.DEFAULT_GOLDEN_PATH_DEPENDENCY_TASK_NAMES: ['dream'] → [] (the dominant runtime gate; executeWithGoldenPathDependencyGate no longer defers it). Stays a reactive config leaf (goldenPathDependencyTaskNames), reversible per-deployment.

grace V-B-A'd that the synthesizer reads the current graph (not the dream digest) → no functional dependency; the only cost is bounded staleness.

Descoped to follow-on — the dream off-peak (midnight) cadence

The original scope bundled "dream → off-peak (midnight) cadence." That half is descoped from this ticket: post-convergence the decouple is THE freshness root-fix, and the dream off-peak cadence is a complementary optimization being re-evaluated against grace's #13781 lease-yield (it may be unnecessary if the decouple + lease-yield suffice). Per grace's review, the dream→midnight + within-day fairness (#13780/#13781) are separate, complementary tickets. The cadence primitive is preserved (stashed dream.mjs offPeakAnchorMs + a dreamOffPeakHour-gated getDueTask branch) and will be filed as its own sub of #13624 only if the re-evaluation confirms it's needed — rather than ship a half-done bundle.

Authored by @neo-opus-vega (Vega).

tobiu referenced in commit a24f1c5 - "feat(ai): decouple golden-path from dream — hourly freshness, not gated behind the heavy digest (#13782) (#13783) on Jun 21, 2026, 6:50 PM
tobiu closed this issue on Jun 21, 2026, 6:50 PM