Skip to content

Connect explicit SSH targets to supervised assignment execution #717

Open

Description

@Meta-Develop

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions