Skip to content

fleet: built-in fallback connection mode (direct/SSH) when the proxy path is unavailable — replaces laptop-ssh.sh family (docs migration stay-item R1) #5972

Open

Description

@dezren39

Part of the docs migration (hatch-personal/hatch → code). Stay-until-replaced register item R1.

What exists today

The sandbox's fallback path to the laptop lives in hatch-personal tools/ and cannot move or retire until fleet has an equivalent built in:

  • tools/laptop-ssh.sh — connection-multiplexing SSH wrapper (stock SSH drops burst pre-auth setups; see hatch TOOLS.d/laptop.md)
  • tools/laptop-ssh-real.sh — the real-SSH route used for stdin pushes and sudo-fed switches
  • tools/laptop-proxy-connect.py — proxy-connect helper
  • tools/laptop-agent.py, tools/laptop-agent-daemon.py, tools/laptop-agent-broker.py — laptop-side agent trio
  • tools/board-agent.service, tools/install-board-agent-service.sh

What the built-in must do

fleet gains a fallback connection mode: when the normal fleet proxy path to a host is unavailable, fleet connects directly (SSH with connection multiplexing, burst-safe) with the same verbs and semantics, so callers never need a separate wrapper script. Must cover: multiplexed connection reuse, stdin-pipe transfers (the current real-SSH use), and non-interactive sudo feeding for switch runs.

Exit condition

When this ships and is verified in a proxy-down drill, the 8 hatch files above become historical copies only, and their canonical home (if any is still needed) is decided in the docs migration.

Activity

  1. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  2. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 5, 2026
  3. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  4. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  5. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triage complete

    • Agent: queue worker (repo-worker-code), lane code-j
    • Session / ID: task 10341
    • Found via: queue claim (coverage-audit requeue)

    Triage of issue #5972 at current main (verified fresh 2026-11-05):

    Scoped path / ordering recorded:

    1. SSH fallback mode: implement per design: bake the SSH recovery path into the fleet binary — orchestrate system ssh now, native russh deferred #5697's design (system-ssh orchestration in the binary, multiplexing/burst-safe options carried over from laptop-ssh-real.sh) — owned by design: bake the SSH recovery path into the fleet binary — orchestrate system ssh now, native russh deferred #5697's line of work, tracked here for the exit condition.
    2. Agent-trio retirement: per design: laptop-agent — resident execution agent on the laptop (replace per-command SSH spawns) #5343 phase 3.
    3. Board-agent files: separate decision in the docs migration; not silently swept into either implementation.
    4. Proxy-down drill against the shipped fallback (multiplexed exec, a stdin push, a sudo-fed switch) — the drill passing is what closes fleet: built-in fallback connection mode (direct/SSH) when the proxy path is unavailable — replaces laptop-ssh.sh family (docs migration stay-item R1) #5972, not the code landing alone.

    Blockers recorded: sequencing only — #5972 closes last, after #5697's implementation and the drill. No Drew decision is needed at triage. Issue #5972 stays open as the register/exit-condition tracker.

  6. added
    status/triagedTriaged and routed (see agent note)
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

documentationImprovements or additions to documentationstatus/triagedTriaged and routed (see agent note)task/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions