You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Should the probe and transfer move onto dl's OpenSSH transport? #424
Should the probe and the transfer move onto dl's own OpenSSH transport too?
This is where the cold path's remaining trip floor gets decided. #390 put the terminal-borne dl <spec> -- <cmd> trip on a reusable OpenSSH connection, because dl was
already running OpenSSH there. The probe and the transfer still go through devpod ssh --command, and they are two of the three cold trips.
#390 measured parity for this in passing, and that measurement is the reason this
ticket exists rather than being assumed either way: same user, same cwd, --workspace-env values arriving, and 100MB at 4.6s over OpenSSH against 7.4s
through devpod.
Against that sits the objection that has governed this map repeatedly, and it has
to be met rather than noted: this would make two mechanisms for reaching a
container where there is currently one plus one, and this map has consistently
preferred one mechanism over a fast path with a fallback. Weigh in particular:
What the probe depends on that devpod currently provides. The three-state probe
(#151, three review rounds)
reports resolved paths as marked lines and names no state; ProbeResult::parse
decides on the host. Does moving transport touch that at all, or is it genuinely
orthogonal?
The transfer's arch/libc gate, which runs the lent binaries in a staging
directory and only then moves them into place. It must keep failing closed.
StderrFilter and interpret, which exist to recover the remote exit
status from devpod's stderr. What a devpod ssh trip costs per connection, and whether it can be reused #389 measured that remote exit status propagates
exactly over ssh (3 to 3, 130 to 130), so a direct-ssh path needs neither —
which means moving these trips would let both be deleted for those paths,
not merely bypassed. Deleting a mechanism is the strongest argument available
here under principle 2; check whether it actually holds for these two callers.
Triage note: correctly blocked on #422, which is now in build, so this becomes decidable when that PR lands. Preserving the argument that should decide it: not the measured speed parity (100MB at 4.6s over OpenSSH vs 7.4s through devpod) but the simplicity one, since #389 measured that remote exit status propagates exactly over ssh, so moving the probe and transfer lets StderrFilter and interpret be deleted for those paths rather than bypassed. Smaller and faster pointing the same way is rare. The objection to grill when deciding: one mechanism, not a fast path plus a fallback, which this map has upheld repeatedly.
Activity
blooop commentedon Aug 29, 2026
Triage note: correctly blocked on #422, which is now in build, so this becomes decidable when that PR lands. Preserving the argument that should decide it: not the measured speed parity (100MB at 4.6s over OpenSSH vs 7.4s through devpod) but the simplicity one, since #389 measured that remote exit status propagates exactly over ssh, so moving the probe and transfer lets
StderrFilterandinterpretbe deleted for those paths rather than bypassed. Smaller and faster pointing the same way is rare. The objection to grill when deciding: one mechanism, not a fast path plus a fallback, which this map has upheld repeatedly.