{"record":{"id":"663945722eb44688","repo":"mastra-ai/mastra","slug":"subconscious-remind-requires-a-configured-knowledg","errorCode":null,"errorMessage":"Subconscious remind requires a configured knowledge storage domain.","messagePattern":"Subconscious remind requires a configured knowledge storage domain\\.","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"packages/memory/src/processors/observational-memory/subconscious/remind.ts","lineNumber":121,"sourceCode":"}\n\nexport class SubconsciousRemindExtractor extends Extractor<string> {\n  constructor(config: ResolvedSubconsciousAgent, omModel?: ObservationalMemoryModel) {\n    super({\n      name: 'Remind',\n      mode: 'hook',\n      metadataKeyPath: false,\n      onExtracted: async context => {\n        if (!context.rawObservations?.trim() || !context.memory || !context.sendSignal) {\n          return;\n        }\n\n        let scope: KnowledgeScope | undefined;\n        let store: KnowledgeStorage | undefined;\n        try {\n          scope = resolveScope(context);\n          store = await context.memory.storage.getStore('knowledge');\n          if (!store) throw new Error('Subconscious remind requires a configured knowledge storage domain.');\n          const sources = await dropFreshOwnRecords(\n            store,\n            await findReminderSources(store, scope, context.rawObservations),\n            context.threadId,\n          );\n          if (sources.length === 0) return;\n          const model = await resolveSubconsciousAgentModel({\n            config,\n            omModel,\n            mainAgent: context.mainAgent,\n            requestContext: context.requestContext,\n          });\n          if (!model) return;\n          const agent = new Agent({\n            id: `subconscious-remind-${context.threadId}`,\n            name: 'Subconscious Remind',\n            instructions: [DEFAULT_INSTRUCTIONS, config.instructions?.trim()].filter(Boolean).join('\\n\\n'),\n            model,","sourceCodeStart":103,"sourceCodeEnd":139,"githubUrl":"https://github.com/mastra-ai/mastra/blob/75dd419e613fe9c39f846ffc500716141b74fda6/packages/memory/src/processors/observational-memory/subconscious/remind.ts#L103-L139","documentation":"The remind processor's execution path (packages/memory/src/processors/observational-memory/subconscious/remind.ts:121) fetches the knowledge storage domain via `context.memory.storage.getStore('knowledge')`. If the configured storage backend has no knowledge domain registered, remind cannot read or drop reminder records and throws.","triggerScenarios":"Running the observational-memory processor with a storage adapter that does not implement/enable the `'knowledge'` store, or `getStore('knowledge')` returning undefined because the knowledge domain was never created/migrated in the database.","commonSituations":"Upgrading Mastra while keeping an older storage config that predates the knowledge domain; using a minimal/legacy storage class lacking knowledge support; pointing at an existing database whose schema was never migrated to include knowledge tables.","solutions":["Use a storage adapter that supports the knowledge domain and configure it on the Memory instance.","Run the storage schema migration/install step so the knowledge store exists.","Verify with `memory.storage.getStore('knowledge')` in a script before enabling the remind processor."],"exampleFix":"// before\nnew Memory({ storage: new LegacyInMemoryStorage() });\n// after\nnew Memory({ storage: new MastraStorage({ domains: { knowledge: KnowledgeStorageDomain } }) });","handlingStrategy":"validation","validationCode":"const store = await memory.storage.getStore('knowledge');\nif (!store) throw new Error('Knowledge storage domain is not configured; enable it before using observational memory remind');","typeGuard":"function hasKnowledgeDomain(storage) {\n  return typeof storage?.getStore === 'function' && Boolean(storage.getStore('knowledge'));\n}","tryCatchPattern":"try {\n  await remind(context);\n} catch (e) {\n  if (e.message.includes('knowledge storage domain')) {\n    // fall back: disable remind for this instance or reconfigure storage\n    logger.warn('remind disabled: no knowledge storage domain');\n    return;\n  }\n  throw e;\n}","preventionTips":["Use a current storage adapter that registers the knowledge domain.","Run schema migrations after upgrading storage packages.","Startup-check getStore('knowledge') in your bootstrap and fail fast with a clear message."],"tags":["configuration","storage","missing-domain"],"backgroundTag":"storage-domain-not-configured","analyzedSha":"75dd419e613fe9c39f846ffc500716141b74fda6","analyzedAt":"2026-08-30T00:15:31.844Z","schemaVersion":2},"datasetVersion":"2026-08-30T03:17:51.788Z"}