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:
- Replace
ai/scripts/maintenance/recreateGraphDb.mjs path construction with the current aiConfig.storagePaths.graph routing.
- Replace
ai/scripts/diagnostics/analyzeNlTelemetry.mjs fallback path with NEO_MEMORY_DB_PATH || aiConfig.storagePaths.graph.
- Add focused regression coverage if an existing script spec surface is present; otherwise run syntax/load checks plus a grep invariant.
Acceptance Criteria
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.
Context
This ticket was originally filed for
SessionSummarization.spec.mjsfailures caused by staleaiConfig.engines.neotest setup. That exact symptom is already fixed in current source:test/playwright/unit/ai/services/memory-core/SessionSummarization.spec.mjsnow mutatesaiConfig.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.neosurface:ai/scripts/maintenance/recreateGraphDb.mjsbuilds the graph DB path fromaiConfig.engines.neo.dataDirandaiConfig.engines.neo.filename.ai/scripts/diagnostics/analyzeNlTelemetry.mjsfalls back topath.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-shapeTypeErrorbefore 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.graphas the SQLite graph path. Do not restoreengines.neo.Recommended narrow scope:
ai/scripts/maintenance/recreateGraphDb.mjspath construction with the currentaiConfig.storagePaths.graphrouting.ai/scripts/diagnostics/analyzeNlTelemetry.mjsfallback path withNEO_MEMORY_DB_PATH || aiConfig.storagePaths.graph.Acceptance Criteria
rg "aiConfig\.engines\.neo|engines\.neo" ai test/playwright/unit/aireturns no live consumers outside historical prose or intentional fixtures.recreateGraphDb.mjsresolves the SQLite graph path throughaiConfig.storagePaths.graph.analyzeNlTelemetry.mjsresolves the SQLite graph path throughNEO_MEMORY_DB_PATHoraiConfig.storagePaths.graph, not the retiredengines.neoblock.engines.neoconfig surface is reintroduced.Out of Scope
engines.neo.storagePaths.graph.Related
SessionSummarization.spec.mjsnow resolved in current source.aiConfig.storagePaths.graph.