From cb12b286c85895694f684f8f7312d58bd4eb287e Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Tue, 24 Mar 2026 20:36:22 +0900 Subject: [PATCH] fix(todo-continuation-enforcer): arm compaction epochs on compaction Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- src/hooks/todo-continuation-enforcer/handler.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/hooks/todo-continuation-enforcer/handler.ts b/src/hooks/todo-continuation-enforcer/handler.ts index 716c1a2e8..2ee354d4a 100644 --- a/src/hooks/todo-continuation-enforcer/handler.ts +++ b/src/hooks/todo-continuation-enforcer/handler.ts @@ -7,6 +7,7 @@ import { import { log } from "../../shared/logger" import { DEFAULT_SKIP_AGENTS, HOOK_NAME } from "./constants" +import { armCompactionGuard } from "./compaction-guard" import type { SessionStateStore } from "./session-state" import { handleSessionIdle } from "./idle-event" import { handleNonIdleEvent } from "./non-idle-events" @@ -64,9 +65,9 @@ export function createTodoContinuationHandler(args: { const sessionID = (props?.sessionID ?? (props?.info as { id?: string } | undefined)?.id) as string | undefined if (sessionID) { const state = sessionStateStore.getState(sessionID) - state.recentCompactionAt = Date.now() + const compactionEpoch = armCompactionGuard(state, Date.now()) sessionStateStore.cancelCountdown(sessionID) - log(`[${HOOK_NAME}] Session compacted: marked recentCompactionAt`, { sessionID }) + log(`[${HOOK_NAME}] Session compacted: armed compaction guard`, { sessionID, compactionEpoch }) } return }