From 7913c8db59bdc9db700a66ccbcda7a99c147e334 Mon Sep 17 00:00:00 2001 From: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Date: Sat, 26 Sep 2026 23:11:33 -0500 Subject: [PATCH] feat(core): log provider rejections that trigger overflow compaction (#51582) --- packages/core/src/session/runner/step.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/core/src/session/runner/step.ts b/packages/core/src/session/runner/step.ts index be8b11547f4..f42f334d5b3 100644 --- a/packages/core/src/session/runner/step.ts +++ b/packages/core/src/session/runner/step.ts @@ -144,12 +144,19 @@ export const make = Effect.gen(function* () { if (Exit.isFailure(joined)) yield* interruptTools const tools = classifyToolExits(joined, toolRuns) + const overflow = overflowFailure ?? streamFailure if ( !publisher.record().outputStarted && - isContextOverflowFailure(overflowFailure ?? streamFailure) && + isContextOverflowFailure(overflow) && (yield* restore(input.recoverOverflow)) - ) + ) { + yield* Effect.logWarning("provider rejected the request as too long; compacting", { + sessionID: input.sessionID, + model: input.model.ref, + message: overflow?.message, + }) return Outcome.Compacted() + } if (overflowFailure) yield* publisher.publish(overflowFailure) const recorded = publisher.record()