Repository navigation
Keep TCP stop commands responsive during synchronous runs - #18
Merged
Merged
Conversation
Dispatch synchronous execution on a worker, serialize complete frames, reject conflicting commands and support both void framework stop signatures. Add thirteen focused regressions. Developed and validated jointly with OpenAI Codex.
CharliePoole
self-requested a review
October 17, 2026 06:22
Member
|
Holding till after beta release |
CharliePoole
approved these changes
Oct 21, 2026
CharliePoole
left a comment
Member
There was a problem hiding this comment.
Ready to go. I like that you strengthened what we're doing and made it more robust before we move into extending what we do.
oznetmaster
marked this pull request as ready for review
October 21, 2026 05:14
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.
The synchronous TCP run blocks the command reader, preventing it from processing a cooperative stop until the run returns. Dispatch execution on a dedicated worker so the reader can deliver stop requests, serialize concurrent progress frames, and reject conflicting commands without reentering the runner. Support both the legacy boolean-parameter and current parameterless void framework stop APIs.
Updated onto Agent.Core tag
4.0.0-beta.6(bb42cb55), Engine.Api beta.101 and Extensibility beta.6. The branch includes #17's small constructor cleanup and reference-casing correction, plus an explicit NUnit.Common beta.5 pin in place of the release source's unavailable-on-NuGet.org beta.4.16 minimum. These remain identifiable commits.Validation:
Regressions use real loopback TCP for stop delivery during a blocked runner, both stop signatures, 64 concurrent progress frames, conflicting commands and failures without fabricated results. Substituted-runner protocol tests are separate from real-framework lifecycle validation.
Command/worker failures log and close the connection. This draft does not add a wire error frame, promise a nonzero process exit, redesign wire RunAsync, or implement engine ForcedStop/terminal-event synthesis. The now-resolved API beta.100 package incompatibility is not attributed to beta.101.
Acknowledgments: investigated, implemented and validated jointly by Neil Colvin (@oznetmaster) and OpenAI Codex.