Repository navigation
Connect explicit SSH targets to supervised assignment execution #717
Description
Proposal
Connect an explicitly selected, authenticated SSH target to supervised assignment execution. Keep local execution as the default and retain claim, acceptance, candidate import, and publication authority on the coordinator.
Background and evidence
On main fa0c79b9ae38eca2c59b2b1911becfe1a6b3c9ab, the standalone bounded SSH backend exists (src/executor/ssh.rs:243-258). The typed external-runtime executor foundation also exists, but its module contract explicitly excludes production transport selection and coordinator import/cleanup wiring (src/external_agent/executor/mod.rs:11-19).
ExecutorSelection can represent a credential-free SSH target (src/external_agent/executor/selection.rs:4-20), but there is no production consumer of that selection outside its defining module. The current external-runtime callback forwards through LocalExecutor (src/external_agent.rs:2449), and the verified supervisor installs the local reviewed runner (src/supervise/plan_api.rs:3971-3980). An operator therefore cannot select the implemented remote boundary for a normal supervised assignment.
The concrete use case is to run one bounded coding or validation assignment on an explicitly configured second host while keeping coordination and integration local. This is a continuation of the foundations delivered under #61 and #331; it does not request another SSH protocol implementation. No open Issue or open PR currently connects this selection to supervised execution.
Acceptance criteria
- A plan/configuration can select an explicit validated remote target for one assignment; omission retains current local behavior.
- Production construction creates the selected transport and binds translated paths, staged input, assignment/run/host identity, and cancellation to the supervised attempt.
- Remote output remains untrusted candidate evidence until bounded collection, durable local persistence, and coordinator-side import/inspection pass. Cleanup follows that persistence; uncertain effects are reconciled without duplicate launch or destructive cleanup.
- Usage/events, cancellation, failure recovery, and resume retain the same local claim and acceptance gates. An unavailable target or missing trust must refuse rather than silently run locally.
- A deterministic injected-transport test exercises the shipped supervisor route, including lost replies and cancellation. A documented opt-in two-host qualification separately proves real transport execution; transport unit tests alone must not be reported as that qualification.
Advantages
Makes the existing remote boundary usable for bounded offload without relocating coordinator authority or duplicating provider-specific transport logic.
Disadvantages and costs
Requires path translation, durable collection/import ordering, cross-host recovery, and maintenance of a real transport qualification environment. Remote latency and transfer cost may outweigh offload benefits for small assignments; this proposal makes no performance or cost-saving claim.
Affected scope
src/external_agent/executor/, src/executor/ssh.rs, supervisor plan/assignment construction and checkpoint handling, CLI/configuration schemas, and operator documentation.
Verification for this report was source-level call-site inspection of the exact main revision and comparison with existing Issues/open PRs. No live remote execution was performed.
Activity