From fd993c8a54a7f89852cfcbb391a8725969f56da3 Mon Sep 17 00:00:00 2001 From: Brennan Benson <79079362+brennanb2025@users.noreply.github.com> Date: Sun, 16 Aug 2026 16:07:02 -0700 Subject: [PATCH] docs(ssh): cite the live restoreRequired site after it moved The throw now lives in reattachSshPtySessionForSpawn; ssh-pty-provider.ts no longer contains it. Caught by the worker fixing it, against a newer main than the audit ran on. --- docs/reference/ssh-execution-boundary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/reference/ssh-execution-boundary.md b/docs/reference/ssh-execution-boundary.md index c4fa9166fd8..1ad4e09b8eb 100644 --- a/docs/reference/ssh-execution-boundary.md +++ b/docs/reference/ssh-execution-boundary.md @@ -73,7 +73,7 @@ Fixed (PRs open): client-git fallback in `src/main/github/client.ts` (#14945), r Outstanding, roughly by impact on reaching a wrong conclusion: -- **`restoreRequired` is relabeled `SSH_SESSION_EXPIRED`** (`src/main/providers/ssh-pty-provider.ts:104-108`). A delivery-layer "cannot resume your output stream" becomes a claim the session died; the lease is marked `expired`, filtered from all future reattaches, and a duplicate agent is cold-started over the same worktree while the original may still be running. Highest-impact open item. `abandonPtySourceRecovery` (`src/main/ssh/ssh-relay-session.ts:3006-3008`) handles the same relay answer correctly and is the model to copy. +- **`restoreRequired` is relabeled `SSH_SESSION_EXPIRED`** in `reattachSshPtySessionForSpawn` (`src/main/providers/ssh-pty-session-reattach.ts:276`). A delivery-layer "cannot resume your output stream" becomes a claim the session died; the lease is marked `expired`, filtered from all future reattaches, and a duplicate agent is cold-started over the same worktree while the original may still be running. Highest-impact open item. `abandonPtySourceRecovery` (`src/main/ssh/ssh-relay-session.ts:3006-3008`) handles the same relay answer correctly and is the model to copy. - **No `unverifiable` verdict** in the signals table above. Necessary but not sufficient on its own — the lease is often already destroyed before any verdict is rendered. - **`orca terminal list` has no host field**, and a runtime-scoped listing does not mark itself partial. - **No way to observe a target's effective grace period.** At 17 hours since last output, "unlimited" and "24h with 7 hours left" demand opposite actions, and nothing reports which applies.