Context
As defined in Epic #10822 (Config substrate cleanup: KISS hard cuts + three-tier model) Phase 1, we are removing legacy environment variables to enforce the single canonical name principle and remove deprecation chains.
The Problem
The current configuration resolving helpers in ai/mcp/server/shared/helpers/DeploymentConfig.mjs and ai/mcp/server/memory-core/helpers/EmbeddingProviderConfig.mjs support legacy environment variables (SSE_PORT, NEO_KB_CHROMA_HOST, NEO_KB_CHROMA_PORT, NEO_CHROMA_EMBEDDING_PROVIDER, chromaEmbeddingProvider, neoEmbeddingProvider). These are aliases that contradict the rule of "ONE canonical name per concept, no aliases".
The Architectural Reality
resolveMcpHttpPort in ai/mcp/server/shared/helpers/DeploymentConfig.mjs parses SSE_PORT.
resolveChromaHost and resolveChromaPort in ai/mcp/server/shared/helpers/DeploymentConfig.mjs take legacyEnvVar and use it.
resolveEmbeddingProvider in ai/mcp/server/memory-core/helpers/EmbeddingProviderConfig.mjs parses chromaEmbeddingProvider, neoEmbeddingProvider, and NEO_CHROMA_EMBEDDING_PROVIDER.
The Fix
- Strip out all backwards-compat logic for
SSE_PORT from resolveMcpHttpPort.
- Remove
legacyEnvVar parameter logic from resolveChromaHost and resolveChromaPort.
- Remove
legacyChroma and legacyNeo logic from resolveEmbeddingProvider in Memory Core.
- Remove references to these legacy vars from
config.template.mjs for KB and MC.
Acceptance Criteria
Out of Scope
- Phase 2 config migrations (e.g. unified Chroma drops).
- Modifying other environment variables that aren't deprecation chains.
Avoided Traps
- Leaving legacy variables active "just in case". Operator explicitly confirmed there are no released-version v12.x compat preservation needs.
Related
Retrieval Hint: Config Cleanup Phase 1 delete legacy aliases
Context
As defined in Epic #10822 (Config substrate cleanup: KISS hard cuts + three-tier model) Phase 1, we are removing legacy environment variables to enforce the single canonical name principle and remove deprecation chains.
The Problem
The current configuration resolving helpers in
ai/mcp/server/shared/helpers/DeploymentConfig.mjsandai/mcp/server/memory-core/helpers/EmbeddingProviderConfig.mjssupport legacy environment variables (SSE_PORT,NEO_KB_CHROMA_HOST,NEO_KB_CHROMA_PORT,NEO_CHROMA_EMBEDDING_PROVIDER,chromaEmbeddingProvider,neoEmbeddingProvider). These are aliases that contradict the rule of "ONE canonical name per concept, no aliases".The Architectural Reality
resolveMcpHttpPortinai/mcp/server/shared/helpers/DeploymentConfig.mjsparsesSSE_PORT.resolveChromaHostandresolveChromaPortinai/mcp/server/shared/helpers/DeploymentConfig.mjstakelegacyEnvVarand use it.resolveEmbeddingProviderinai/mcp/server/memory-core/helpers/EmbeddingProviderConfig.mjsparseschromaEmbeddingProvider,neoEmbeddingProvider, andNEO_CHROMA_EMBEDDING_PROVIDER.The Fix
SSE_PORTfromresolveMcpHttpPort.legacyEnvVarparameter logic fromresolveChromaHostandresolveChromaPort.legacyChromaandlegacyNeologic fromresolveEmbeddingProviderin Memory Core.config.template.mjsfor KB and MC.Acceptance Criteria
resolveMcpHttpPortonly checksMCP_HTTP_PORTanddefaultPort.resolveChromaHostonly checksNEO_CHROMA_HOSTanddefaultHost.resolveChromaPortonly checksNEO_CHROMA_PORTanddefaultPort.resolveEmbeddingProvideronly checksNEO_EMBEDDING_PROVIDERandconfig.embeddingProvider.Out of Scope
Avoided Traps
Related
Retrieval Hint:
Config Cleanup Phase 1 delete legacy aliases