From 054ded7b02fd04439573a2e0655c9135eb76dd25 Mon Sep 17 00:00:00 2001 From: David Rudduck Date: Tue, 10 Mar 2026 02:35:21 +1000 Subject: [PATCH] fix: don't repurpose tokenCount as budget, normalize workspaceDir in hook ctx - Remove tokenCount from before_compaction in engine-owned path since we don't have actual transcript token counts (was incorrectly set to budget). tokenCount is optional in the hook type. - Resolve workspaceDir via resolveUserPath() to match the normalized path used in compactEmbeddedPiSessionDirect. --- src/agents/pi-embedded-runner/compact.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/agents/pi-embedded-runner/compact.ts b/src/agents/pi-embedded-runner/compact.ts index 12378524ae7..882cf0140fa 100644 --- a/src/agents/pi-embedded-runner/compact.ts +++ b/src/agents/pi-embedded-runner/compact.ts @@ -952,7 +952,7 @@ export async function compactEmbeddedPiSession( sessionId: params.sessionId, agentId: sessionAgentId, sessionKey: hookSessionKey, - workspaceDir: params.workspaceDir, + workspaceDir: resolveUserPath(params.workspaceDir), messageProvider: resolvedMessageProvider, }; // Engine-owned compaction doesn't load the transcript at this level, so @@ -963,7 +963,6 @@ export async function compactEmbeddedPiSession( await hookRunner.runBeforeCompaction( { messageCount: -1, - tokenCount: ceCtxInfo.tokens, sessionFile: params.sessionFile, }, hookCtx,