diff --git a/src/query/stopHooks.ts b/src/query/stopHooks.ts index 10e268dfb..73aa62df6 100644 --- a/src/query/stopHooks.ts +++ b/src/query/stopHooks.ts @@ -159,7 +159,7 @@ export async function* handleStopHooks( toolUseContext.appendSystemMessage as ((msg: import('../types/message.js').SystemMessage) => void) | undefined, ) } - if (!toolUseContext.agentId) { + if (!toolUseContext.agentId && !poorMode) { void executeAutoDream(stopHookContext, toolUseContext.appendSystemMessage) } } diff --git a/src/services/SessionMemory/sessionMemory.ts b/src/services/SessionMemory/sessionMemory.ts index 32e42af8b..7be2da4b6 100644 --- a/src/services/SessionMemory/sessionMemory.ts +++ b/src/services/SessionMemory/sessionMemory.ts @@ -6,6 +6,7 @@ import { writeFile } from 'fs/promises' import memoize from 'lodash-es/memoize.js' +import { feature } from 'bun:bundle' import { getIsRemoteMode } from '../../bootstrap/state.js' import { getSystemPrompt } from '../../constants/prompts.js' import { getSystemContext, getUserContext } from '../../context.js' @@ -280,6 +281,12 @@ const extractSessionMemory = sequential(async function ( return } + // Poor mode: skip to reduce token consumption + if (feature('POOR')) { + const { isPoorModeActive } = await import('../../commands/poor/poorMode.js') + if (isPoorModeActive()) return + } + // Check gate lazily when hook runs (cached, non-blocking) if (!isSessionMemoryGateEnabled()) { // Log gate failure once per session (ant-only)