• v2.0.1 3d6055518b

    v2.0.1: ACP dispatch + PTY fallback + worktree management

    indifferentketchup released this 2026-05-25 04:10:46 +00:00 | 68 commits to main since this release

    Phase 5 of v2.0. External agent dispatch via SSH to host.

    ACP dispatch (acp-dispatch.ts): spawns agent via SSH with JSON-RPC
    stdio pipe. Wraps opencode/goose in ACP mode. Captures structured
    events (file operations, tool calls) mapped to parts taxonomy.
    Falls back to PTY if ACP handshake fails.

    PTY dispatch (pty-dispatch.ts): raw SSH spawn for agents without ACP
    support (claude, pi). Captures stdout/stderr as plain text. Simpler
    but less structured than ACP.

    SSH helper (ssh.ts): shared spawn wrapper for SSH commands to
    samkintop@100.114.205.53 (Tailscale IP, same as booterm). Uses
    openssh-client installed in the runtime Dockerfile stage.

    Worktree management (worktrees.ts): createWorktree (git worktree add
    via SSH), diffWorktree (git diff HEAD...task-branch), cleanupWorktree
    (git worktree remove --force). One worktree per task at
    /tmp/booworktrees/.

    Dispatcher updated: checks available_agents.supports_acp to pick
    transport. Path B flow: create worktree → dispatch agent → diff
    worktree → queue diff into pending_changes → cleanup worktree →
    mark task complete.

    Agent probe updated: probes via SSH to find host-installed agents
    (which opencode && opencode --version over SSH).

    Dockerfile: openssh-client added to runtime stage.
    Config: SSH_HOST env var (default 100.114.205.53).

    Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com

    Downloads