Bound incremental agent input and preserve warm conversation history - #63
Merged
Conversation
added 16 commits
September 8, 2026 22:56
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Large tool results can stall interactive agents before they can consume steering. Add an opt-in incremental text budget: 1,024 UTF-8 bytes per new user/tool message and 4,096 bytes per admitted batch, with durable full-text references and bounded pagination/search. Preserve existing provider history and immutable projections across restart so deployment does not invalidate the cached prefix. Keep trusted handoff controls intact while ordinary tools are paused.
New user turns carry answer-before-memory guidance, allowing conversational text to stream before optional housekeeping. This is model guidance, not a claimed execution guarantee. The branch also includes the pending compact prompt/progress and handoff fixes already under review, including serialization of explicit compaction with interactive turns.
Validation: typecheck; input-budget regression tests (220,032-byte fixture reduced to 1,024 bytes, lossless Unicode pagination, aggregate bounds, reference validation, prefix/restart stability); compact-tool-surface and compact-prompt tests; handoff-runner tests with the budget disabled and enabled; compiled build; public-safety check. No live model prompts were used for validation.