Repository navigation
Make experiment launches recoverable and network delivery explicit - #467
Merged
Merged
Conversation
added 10 commits
November 4, 2026 13:22
ctfbruce
marked this pull request as ready for review
November 5, 2026 09:51
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.
Coordinated experiments could lose queued TCP messages during close, and canceled uploads or queued runs could leave incomplete cancellation evidence. This change makes those paths bounded and recoverable while improving how experiments are authored and inspected.
Validation: focused package tests and race checks passed. Two-executor live checks covered 512 message frames, bounded canceled-peer failure, and 14 byte/network cases per executor with independent receiver verification. The generated DNS comparison also ran successfully: both executors exchanged their selected addresses, all four TCP connections succeeded, and both reported the correctly ordered timing difference. Provider-backed TCP, DNS and coordinated drafts all compiled; observed generation times were 2.8 seconds, 3.9 seconds and 40.2 seconds respectively. The coordinated draft used 17 blocks per participant and required one correction. All 17 checks on the final pull-request head passed, including normal tests, race, kernel, package/install, compatibility and the required aggregate. The complete console candidate also passed 423 unit tests and 49 browser tests. A real SDK reset regression found during integration was fixed without weakening its assertion. Locally, the API package needed 252.961 seconds and exceeded the four-minute advisory run; the isolated 779-test run and the final GitHub normal-test check passed.
Limits: model output still requires review, and these measurements do not establish a latency guarantee. Manual Go cannot be converted back into blocks; destination and capability hints still come from the retained graph. Run policies accept explicit IP addresses and DNS names, not CIDRs; a resolver-selected address outside the executor's allowed resolved set remains blocked. TCP acknowledgment establishes transport delivery, not peer application processing. Event timestamps use each guest's clock and do not establish cross-machine ordering.
Closes #466.