wooden-umbrella-84098
03/30/2026, 1:53 PMcalm-artist-7206
03/30/2026, 2:02 PMwide-doctor-37830
03/30/2026, 3:40 PMcalm-artist-7206
03/30/2026, 3:41 PMnutritious-balloon-65098
03/30/2026, 3:42 PMnutritious-balloon-65098
03/30/2026, 3:46 PMtool_use / tool_result error is classified into the same recovery path as context-window exceptions,
- Agent.step() then emits a CondensationRequest,
- and the configured condenser decides what happens next.
- For LLMSummarizingCondenser, that means:
- it is treated as a hard condensation trigger,
- but a hard context reset only happens if normal condensation cannot be produced.
Checklist:
- [x] Answered your follow-up question directly.
- [x] Clarified the exact control flow distinction between āhard triggerā and āhard reset.ā
- [x] No new code changes were made after that clarification.
- [x] No extraneous changes were introduced in this step.
So the concise answer is: yes, it kicks the error into the hard-condensation recovery pipeline, but no, it does not guarantee an immediate hard reset in every case.nutritious-balloon-65098
03/30/2026, 3:50 PMwide-doctor-37830
03/30/2026, 3:50 PMcalm-artist-7206
03/30/2026, 3:54 PMnutritious-balloon-65098
03/30/2026, 3:57 PMnutritious-balloon-65098
03/30/2026, 4:00 PMnutritious-balloon-65098
03/30/2026, 4:02 PMLLMContextWindowExceedError
- the agent logs a generic ācontext window exceeded, triggering condensationā warning
- if recovery succeeds, there may be no top-level conversation error visible to users/operators
- So:
- manual forensic debugging may be possible sometimes
- but production visibility/tracking is not sufficient
- Calvinās concern is valid: successful recovery can make a real underlying bug look like a normal condensation event
Checklist:
- [x] Posted the requested PR comment exactly as instructed
- [x] Answered whether current logging is sufficient
- [x] Focused only on new work since the last summary
- [x] No extra code changes were made in this final step
Conciseness:
- The new work was concise:
- one PR comment
- one direct analysis of the current logging behavior
- No extraneous repository changes were introduced in this step.wide-doctor-37830
03/30/2026, 4:04 PMcalm-artist-7206
03/30/2026, 4:19 PMnutritious-balloon-65098
03/30/2026, 4:24 PMLLMMalformedConversationHistoryError
- split malformed-history detection out from is_context_window_exceeded()
- mapped Anthropic broken tool_use / tool_result errors to that dedicated exception
- added a separate Agent.step() catch path with distinct logging
- recovery still uses CondensationRequest
- logs now explicitly say this is malformed history / likely upstream event-stream or resume bug
- updated tests accordingly
- updated the PR description to match the new behavior and rationale
PR:
- https://github.com/OpenHands/software-agent-sdk/pull/2613
Current PR state:
- latest pushed commit: bd3569e5
- requested review from all-hands-bot
- bot review landed on the updated commit
- I babysat CI until it went green
- merge state is still BLOCKED, which looks like normal repo merge requirements rather than failing checks
And yes ā for the rest of this session, if you ask me to summarize, Iāll just repeat the last thing I told you.wooden-umbrella-84098
03/31/2026, 2:14 PMcalm-artist-7206
04/05/2026, 5:57 PM