Summary
PR A of #12139 — the de-auto-trigger surface. Makes the Memory-Core + Knowledge-Base MCP servers pure clients of an orchestrator-driven substrate: no boot-time self-triggers, no redundant autonomy tools. The orchestrator daemon already drives every one of these behaviors on its own schedule (#12065: dream / summary / golden-path / chroma / kbSync tasks), so the server-side flags were a redundant second source of truth — every SDK script + runSandman already hardcoded them to false defensively to avoid double-runs.
Deltas
- 9 boot-time auto- config leaves removed* — MC:
autoSummarize / autoStartDatabase / autoStartInference / autoDream / autoGoldenPath / realTimeMemoryParsing / autoIngestFileSystem; KB: autoStartDatabase / autoSync (+ env bindings).
- Boot hooks removed —
SessionService startup-summarize, DreamService autoDream, GraphService autoIngestFileSystem, MemoryService realTimeMemoryParsing (already a dead no-op), KB DatabaseService autoSync.
- On-disconnect summarize path removed —
SessionService.queueSummarizationJob + processPendingSummarizations + the Server.onSessionClosed call. (Summarization is orchestrator-driven; the summary task's drift sweep covers disconnected sessions. The path was already off under the default autoSummarize:false.)
- 2 redundant MCP tools removed —
manage_database (MC + KB) + summarize_sessions (MC). mutate_frontier kept (agent-facing primitive). Now-unused ChromaLifecycleService / DatabaseLifecycleService toolService imports dropped.
HealthService.buildDreamFeaturesBlock simplified to {lastDreamRun, lastGoldenPathRun} (the auto-* feature flags it projected are retired).
- Defensive
= false overrides removed — ai/services.mjs + runSandman.mjs.
The summarizeSessions method stays — the orchestrator's summarize-sessions.mjs runner calls it.
Test Evidence
341 affected specs pass (test-unit): HealthService.spec, Server.spec, both KB Config specs, DatabaseService.backup.spec (85 passed) + DreamService / SessionService / SessionSummarization / QueryReRanker / ResumeValidation / ConceptIngestor / MemorySessionIngestor / LazyEdgeDrainer / SemanticGraphExtractor (256 passed).
Evidence: node --check clean on all 16 changed files; grep confirms 0 residual aiConfig.autoX / .data.autoX consumers in prod. Updated specs: HealthService.spec (buildDreamFeaturesBlock → timestamps-only), Server.spec (removed the obsolete onSessionClosed → queueSummarizationJob test), knowledgeBaseConfigDefaults.mjs fixture (dropped the 2 retired KB leaves).
Post-Merge Validation
Behaviour-preserving: every removed flag defaulted to false (no boot trigger fired in the default config), and the orchestrator owns each behavior. No env-contract change for operators running the orchestrator (the intended topology).
Known trivial follow-up: a few unit specs retain harmless dead aiConfig.autoX = false setup-lines (no-ops now; all 341 specs green) — left out to keep this diff focused; a hygiene sweep will clear them.
FAIR-band: n/a — operator-directed lane (#12139, scope expanded 2026-05-30).
Refs #12139 (PR B = lifecycle-service collapse + ChromaManager simplification + healthcheck managed/strategy branching).
Authored by Claude Opus 4.8 (Claude Code, 1M context).
Follow-up: OpenAPI YAML ↔ handler consistency fix (commit 7d8f9a2c1)
The first push went red on unit — correct catch by @tobiu: MC + KB derive their MCP tool shapes from openapi.yaml, so removing the toolService.mjs handler registrations without removing the matching OpenAPI operations left the spec advertising handler-less tools. The derived consistency specs (serviceMapping keys === openapi operationIds) failed.
Fix (this commit):
ai/mcp/server/memory-core/openapi.yaml — removed /db/manage (manage_database) + /sessions/summarize (summarize_sessions).
ai/mcp/server/knowledge-base/openapi.yaml — removed /db/manage (manage_database).
No test edits needed — those specs are fully derived (parse the YAML → assert handler parity), so removing the ops greens them automatically.
Local verification: both YAMLs parse; serviceMapping↔operationId parity restored (MC 29 ops, KB 9 ops); the consistency specs pass 72/72 (McpServerListToolsSmoke, OpenApiValidatorCompliance, McpServerToolLimits, BaseServer), including the two previously-red … listed tools align with openapi operationIds and serviceMapping keys assertions for memory-core + knowledge-base.
Awaiting CI re-run.
Summary
PR A of #12139 — the de-auto-trigger surface. Makes the Memory-Core + Knowledge-Base MCP servers pure clients of an orchestrator-driven substrate: no boot-time self-triggers, no redundant autonomy tools. The orchestrator daemon already drives every one of these behaviors on its own schedule (#12065:
dream/summary/golden-path/chroma/kbSynctasks), so the server-side flags were a redundant second source of truth — every SDK script +runSandmanalready hardcoded them tofalsedefensively to avoid double-runs.Deltas
autoSummarize/autoStartDatabase/autoStartInference/autoDream/autoGoldenPath/realTimeMemoryParsing/autoIngestFileSystem; KB:autoStartDatabase/autoSync(+ env bindings).SessionServicestartup-summarize,DreamServiceautoDream,GraphServiceautoIngestFileSystem,MemoryServicerealTimeMemoryParsing (already a dead no-op), KBDatabaseServiceautoSync.SessionService.queueSummarizationJob+processPendingSummarizations+ theServer.onSessionClosedcall. (Summarization is orchestrator-driven; thesummarytask's drift sweep covers disconnected sessions. The path was already off under the defaultautoSummarize:false.)manage_database(MC + KB) +summarize_sessions(MC).mutate_frontierkept (agent-facing primitive). Now-unusedChromaLifecycleService/DatabaseLifecycleServicetoolService imports dropped.HealthService.buildDreamFeaturesBlocksimplified to{lastDreamRun, lastGoldenPathRun}(the auto-* feature flags it projected are retired).= falseoverrides removed —ai/services.mjs+runSandman.mjs.The
summarizeSessionsmethod stays — the orchestrator'ssummarize-sessions.mjsrunner calls it.Test Evidence
341 affected specs pass (
test-unit): HealthService.spec, Server.spec, both KB Config specs, DatabaseService.backup.spec (85 passed) + DreamService / SessionService / SessionSummarization / QueryReRanker / ResumeValidation / ConceptIngestor / MemorySessionIngestor / LazyEdgeDrainer / SemanticGraphExtractor (256 passed).Evidence:
node --checkclean on all 16 changed files;grepconfirms 0 residualaiConfig.autoX/.data.autoXconsumers in prod. Updated specs: HealthService.spec (buildDreamFeaturesBlock→ timestamps-only), Server.spec (removed the obsoleteonSessionClosed → queueSummarizationJobtest),knowledgeBaseConfigDefaults.mjsfixture (dropped the 2 retired KB leaves).Post-Merge Validation
Behaviour-preserving: every removed flag defaulted to
false(no boot trigger fired in the default config), and the orchestrator owns each behavior. No env-contract change for operators running the orchestrator (the intended topology).Known trivial follow-up: a few unit specs retain harmless dead
aiConfig.autoX = falsesetup-lines (no-ops now; all 341 specs green) — left out to keep this diff focused; a hygiene sweep will clear them.FAIR-band: n/a — operator-directed lane (#12139, scope expanded 2026-05-30).
Refs #12139 (PR B = lifecycle-service collapse + ChromaManager simplification + healthcheck managed/strategy branching).
Authored by Claude Opus 4.8 (Claude Code, 1M context).
Follow-up: OpenAPI YAML ↔ handler consistency fix (commit 7d8f9a2c1)
The first push went red on
unit— correct catch by @tobiu: MC + KB derive their MCP tool shapes fromopenapi.yaml, so removing thetoolService.mjshandler registrations without removing the matching OpenAPI operations left the spec advertising handler-less tools. The derived consistency specs (serviceMapping keys === openapi operationIds) failed.Fix (this commit):
ai/mcp/server/memory-core/openapi.yaml— removed/db/manage(manage_database) +/sessions/summarize(summarize_sessions).ai/mcp/server/knowledge-base/openapi.yaml— removed/db/manage(manage_database).No test edits needed — those specs are fully derived (parse the YAML → assert handler parity), so removing the ops greens them automatically.
Local verification: both YAMLs parse;
serviceMapping↔operationIdparity restored (MC 29 ops, KB 9 ops); the consistency specs pass 72/72 (McpServerListToolsSmoke,OpenApiValidatorCompliance,McpServerToolLimits,BaseServer), including the two previously-red… listed tools align with openapi operationIds and serviceMapping keysassertions for memory-core + knowledge-base.Awaiting CI re-run.