Repository navigation
Reuse Windows SSH connections for experiment launch and supervision (OR-543) - #699
devin-ai-integration[bot] wants to merge 7 commits into
Conversation
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
I'll fix CI failures and address comments from users with write access. I'll skip comments containing "(aside)".
|
[High impact] The latest changes appear safe to merge; no blocking issue remains. SummaryThis PR reuses Windows SSH connections for experiment launch and supervision. The latest change makes configuration-probe cleanup safe when a request is cancelled.
|
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
@greptileai Please review the latest head f55340f. Follow-up commits address the four previous findings and add native Windows framing/draining, diagnostics, effective-config, dead-child and final-log-wakeup regressions. |
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
@greptileai Please review latest head b60aac5. Only change since the previous review request: the opt-in real-SSH test explicitly disables ControlMaster on every platform instead of being excluded on Unix. This resolves Unix dead-code clippy and tests the Windows transport; production code is unchanged. |
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
@greptileai Final test-only follow-up is a65133c: keep the integration test and reconnect call on all platforms, but assert a different TCP connection only on Windows. This preserves Unix ControlMaster behavior without ineffective duplicate options. Native Windows clippy and the real-SSH test pass. Please review this exact latest head. |
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
@greptileai Please review final head cbbf45c. The remaining configuration-probe deadline finding is fixed with a native-SSH regression; Windows also terminates hung Match exec descendants before dropping SSH to release inherited pipes. All five Windows session unit tests, the opt-in real-SSH transport test, formatting and clippy pass. |
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
|
@greptileai Please review latest head d64bc70. Follow-up makes configuration-probe cleanup cancellation-safe: reuse the existing Windows kill-on-close Job Object helpers, start SSH suspended, enroll before resume, retain the job through output/deadline. Strict enrollment failure stops the probe. Native-SSH regressions cover both timer expiry and cancellation after Match exec starts; all six session tests, existing Codex wrapper teardown tests and Windows clippy pass. |
Summary
ORX_SSH_POLL_INTERVAL_SECSand completion-triggered final log draining.Test plan
orx exp run … --backend ssh --host or543-rate --no-containerfailed under the genuine Ubuntu server's 3-new-connections/minute, burst-3 kernel limiter.d64bc705039cfaacdb9c5f53fbc5bd1b328cb838: independent scope Yes, Greptile 5/5 with no findings, all eight CI checks green, including Windows and Linux x86_64/aarch64.8060faac-c8d0-4411-80fe-6c4568a77d07in 46 seconds. CLI/dashboard preserved final output without a trailing newline. Authenticated SSH count increased by exactly three (manual, launcher, supervisor), with zero drops and no per-poll churn.origin/mainfetched and merge-tree check clean; PR remains open for human review, assigned to Daniel based on related SSH sharing/recovery work.The full local Rust suite has four failures also reproduced on unchanged main (Git identity/remote fixtures and a Git Bash Python shim assertion). Changed-area tests and final-head CI pass.
Bug reproduction on main
Windows Server 2022 / native OpenSSH 9.5p2 / orx 0.2.19 against genuine Ubuntu SSH with kernel rate limiting. Main failed before detached supervision.
Post-fix functionality
Same controlled Windows environment and limiter, final PR head. Both recordings are animated WebP conversions made with ffmpeg.
Caveats and remaining limits
Codex (gpt-6.1-sol) request failed: batch file arguments are invalid. The real dashboard chat and SSH flow passed; whether this adjacent failure predates the PR was not investigated.Automation improvements
ssh -n -T/console paste. This would reduce fixture setup friction; the suggestion could not be saved because this session lacks ManageRepoBlueprints permission.Link to Devin session: https://app.devin.ai/sessions/314bfb3947db4ee88510e83379b34811
Open in Devin Desktop: https://app.devin.ai/desktop/session/314bfb3947db4ee88510e83379b34811?variant=devin