- Reject a control line that does not start with "{", so another
release's length-prefixed frame fails as a protocol error instead of
waiting for a newline until the deadline.
- Bump SSH_PROTOCOL_VERSION to 3: executable helpers embed the PTC
worker, so an older helper is now rejected while connecting.
- Send a small error instead of a late binding result from a finished
persistent evaluation, so it cannot overflow the pipe shared with
the next evaluation.
- Leave per-call binding waits pending after the result instead of
rejecting them; unawaited calls crashed the child and leaked the
trace into the result logs.
- Pin birpc to 4.2.0 so the host and the bundled child agree, and
regenerate THIRD_PARTY_NOTICES.md.
- Update stale frame wording.
description, kind
| description | kind |
|---|---|
| The POSIX SSH provider family: shared connection, remote filesystem, managed subprocesses and file-effect sandbox. | package-group |
ssh/ — POSIX remote execution providers
English | 中文
Summary
This family runs files, ordinary processes, terminals and sandbox enforcement on one POSIX SSH host while the Harness stays local. A shared OpenSSH connection and installed helper support the existing filesystem, subprocess and sandbox interfaces. Use it in headless or custom profiles whose consumers honor provider-owned paths.
Table of Contents
Packages
| Package | Responsibility | Service |
|---|---|---|
ssh |
Connection, helper identity and transport lifecycle | ctx.ssh |
ssh-helper-runtime |
Private Node-free executable distribution | — |
fs-ssh |
Remote file identity, reads and guarded atomic mutations | ctx.fs |
subprocess-ssh |
Executable lookup, processes, control streams and terminals | ctx.subprocess |
sandbox-ssh |
Remote file-effect confinement and enforcement facts | ctx.sandbox |
Related documentation
- SSH subsystem — shared execution coordinates and transport ownership.
- POSIX SSH decision — alternatives, consequences and verification requirements.
Dev Note
Working context for maintainers — click to expand
Remote capability implementations retain the shared asynchronous terminal and cancellation interfaces. Local path access must never be inferred from a remote path string.