Repository navigation
fix(vercel): bound command output and clean up running processes - #245
Merged
earakely-scale merged 2 commits intoOct 19, 2026
Merged
Conversation
erulkey
added a commit
to vercel-labs/agentenv-framework
that referenced
this pull request
Oct 19, 2026
Sync the source snapshot with scaleapi/agentenv-framework at 7ca617e and include the provider reliability fixes proposed in scaleapi#245.
earakely-scale
approved these changes
Oct 19, 2026
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.
Commands can accumulate unread output in memory, and their local stream tasks can outlive sandbox termination. Stalled SDK responses can also exceed the requested command timeout.
Spool unread output to temporary files, enforce a local deadline, and cancel and join command tasks when the sandbox is terminated, including through a fresh handle or when lookup reports that it is already gone. Completed output remains readable after
wait(), and long output lines are preserved. Consumed spool space is reclaimed when a reader catches up. This bounds queued-output memory at the cost of local disk I/O.Both task teardown paths now close the providers they construct. Shared providers remain open; a close failure or timeout is logged without replacing the termination result.
Validation: 8,401 unit/protocol tests passed with 20 skips, including 155 focused provider and teardown tests. The package builds and installs from its wheel. The Labs example also exercises the provider in a live Vercel evaluation, including saved output and termination through a fresh handle. See the example validation scope.
This PR changes provider behavior and cleanup only. The standalone example and launcher stay in the Labs repository. No configuration changes are required.
Upstream CI is waiting for maintainer approval: CodeBuild reports “Pull request approval required for starting a build.” The build has not run yet.


Confidence Score: 5/5
The PR appears safe to merge; both previous findings are addressed and no new blocking issues were found.Summary
The PR moves unread command output to temporary files, adds a local command deadline, and closes providers created for teardown.
The latest changes address both previous findings:
No new actionable issues were found. This review inspected code and tests; it did not run tests.
Reviews (2) · Last reviewed commit: "fix(vercel): finish missing-resource cle..." · Reviewed by Greptile