Active Memory fallback model now configurable
Active Memory previously fell back to a hardcoded GPT-5.4-mini model through OpenAI when no configured model was available. This silent behavior caused unexpected API costs and ignored provider preferences. The fix makes fallback behavior explicit, letting administrators set a custom model or opt for graceful degradation instead.
Active Memory had a problem: when no model was explicitly configured, it silently fell back to a hardcoded GPT-5.4-mini reference, routing requests through OpenAI regardless of what provider a user had configured. For teams using bring-your-own-key setups or cheaper alternatives, this meant unexpected expenses and traffic flowing to an unintended provider.
The fix removes the hardcoded default entirely. Instead of letting the extension quietly substitute an unconfigured model, the system now stops model resolution at the agent primary model and skips memory recall if nothing is found. Administrators who want a fallback can now configure one explicitly using config.modelFallback, specifying any provider and model combination they prefer.
The old modelFallbackPolicy setting is deprecated. It remains in config files without breaking anything, but the runtime no longer reads it—users will see a warning logged if they have it set. This gives teams time to migrate to the explicit configuration without requiring an immediate config change.
In the active-memory extension, the getModelRef function was simplified. Rather than returning a source indicator alongside the model reference, it now returns either a valid model object or undefined, making the calling code cleaner and the behavior more predictable.
View Original GitHub Description
Summary
- remove the built-in hardcoded Active Memory fallback model from runtime resolution
- add
plugins.entries.active-memory.config.modelFallbackas the explicit fallback path - keep
modelFallbackPolicyonly as a deprecated compatibility field with no runtime effect - update docs and extension tests to match the explicit-only fallback behavior
Why
Issue #64884 reports that Active Memory silently falls back to a hardcoded default model. That makes provider behavior surprising and can route traffic to an unintended provider/model.
This change makes fallback explicit:
config.model
-> current session model
-> agent primary model
-> config.modelFallback
-> stop
Verification
node scripts/run-vitest.mjs run --config test/vitest/vitest.extensions.config.ts extensions/active-memory/index.test.ts
Closes #64884