Bound coordinator artifact reads without reducing agent autonomy - #86
Merged
Conversation
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.
Why
Loopy supplied an eval-runner coordinator with only the absolute path to a canonical 1.9 MiB evaluation report. The coordinator then reasonably called Team Harness read_file. The old core tool returned the complete report as one tool result, so the immediately following model request exceeded the coordinator context window. All five evaluation checks had already passed, but the coordinator failed before it could publish the receipt and goal-check output.
Path-only prompting is therefore insufficient if the path-reading tool itself is unbounded. Review also found the same transport risk in read_new_file_content: a fresh incremental cursor starts at byte zero and the old implementation read from there to EOF.
What changes
Make read_file an explicit, recoverable page interface.
Bound read_new_file_content without changing its path-only schema.
Preserve the state/trace boundary.
Record the contract in TH-D9 and a binding design document, update the CLI and website documentation, document consumer impact, repair missing changelog comparison links, and prepare version 0.5.3.
Compatibility
Small reads are unchanged. The read_file schema change is additive because its two new arguments are optional; read_new_file_content retains its existing schema. Consumers that relied on receiving a large file or append backlog in one call must follow the continuation offset, call the incremental reader again, or choose a focused projection such as jq.
Verification
Non-goals
This PR does not add semantic report digestion, credential scanning, preventive policy, generic all-tool truncation, or source-artifact rewriting. Those would be separate contracts.