LearnNewsExamplesServices
Frontmatter
id10126
titleRemove stale aiConfig.engines.neo consumers from maintenance scripts
stateClosed
labels
bugaitesting
assigneesneo-gpt
createdAtApr 20, 2026, 3:53 PM
updatedAtMay 25, 2026, 9:41 PM
githubUrlhttps://github.com/neomjs/neo/issues/10126
authortobiu
commentsCount0
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtMay 25, 2026, 9:41 PM

Remove stale aiConfig.engines.neo consumers from maintenance scripts

tobiu
tobiu commented on Apr 20, 2026, 3:53 PM

Context

This ticket was originally filed for SessionSummarization.spec.mjs failures caused by stale aiConfig.engines.neo test setup. That exact symptom is already fixed in current source: test/playwright/unit/ai/services/memory-core/SessionSummarization.spec.mjs now mutates aiConfig.storagePaths.graph.

The intent is still valid. Live V-B-A on 2026-05-25 shows two current scripts still read the retired aiConfig.engines.neo surface:

  • ai/scripts/maintenance/recreateGraphDb.mjs builds the graph DB path from aiConfig.engines.neo.dataDir and aiConfig.engines.neo.filename.
  • ai/scripts/diagnostics/analyzeNlTelemetry.mjs falls back to path.join(aiConfig.engines.neo.dataDir, aiConfig.engines.neo.filename).

The canonical current SQLite graph routing key is aiConfig.storagePaths.graph.

The Problem

Current Memory Core config no longer exposes engines.neo. Operators or automation invoking the affected maintenance/diagnostic scripts can hit a config-shape TypeError before the script reaches its real work.

This matters for cloud deployment readiness because diagnostics and recovery scripts must fail on real operational problems, not retired config keys.

The Fix

Update the remaining stale consumers to use aiConfig.storagePaths.graph as the SQLite graph path. Do not restore engines.neo.

Recommended narrow scope:

  1. Replace ai/scripts/maintenance/recreateGraphDb.mjs path construction with the current aiConfig.storagePaths.graph routing.
  2. Replace ai/scripts/diagnostics/analyzeNlTelemetry.mjs fallback path with NEO_MEMORY_DB_PATH || aiConfig.storagePaths.graph.
  3. Add focused regression coverage if an existing script spec surface is present; otherwise run syntax/load checks plus a grep invariant.

Acceptance Criteria

  • rg "aiConfig\.engines\.neo|engines\.neo" ai test/playwright/unit/ai returns no live consumers outside historical prose or intentional fixtures.
  • recreateGraphDb.mjs resolves the SQLite graph path through aiConfig.storagePaths.graph.
  • analyzeNlTelemetry.mjs resolves the SQLite graph path through NEO_MEMORY_DB_PATH or aiConfig.storagePaths.graph, not the retired engines.neo block.
  • No engines.neo config surface is reintroduced.
  • Targeted validation evidence is posted in the PR.

Out of Scope

  • Reintroducing engines.neo.
  • Refactoring Memory Core storage topology beyond stale-consumer cleanup.
  • Reworking SessionSummarization behavior; the original test setup already moved to storagePaths.graph.

Related

  • Original stale test symptom: SessionSummarization.spec.mjs now resolved in current source.
  • Current stale consumers found by live V-B-A on 2026-05-25.
  • Canonical current key: aiConfig.storagePaths.graph.
tobiu added the bug label on Apr 20, 2026, 3:53 PM
tobiu added the ai label on Apr 20, 2026, 3:53 PM
tobiu added the testing label on Apr 20, 2026, 3:53 PM
tobiu cross-referenced by PR #10128 on Apr 20, 2026, 4:12 PM
tobiu cross-referenced by PR #10130 on Apr 20, 2026, 5:26 PM
tobiu referenced in commit 4d43dfa - "fix(ai): remove stale graph config consumers (#10126) (#11989) on May 25, 2026, 9:41 PM
tobiu closed this issue on May 25, 2026, 9:41 PM