diff --git a/experimental/papyrus/client/src/components/Sidebar.tsx b/experimental/papyrus/client/src/components/Sidebar.tsx index 1d450c9..7762866 100644 --- a/experimental/papyrus/client/src/components/Sidebar.tsx +++ b/experimental/papyrus/client/src/components/Sidebar.tsx @@ -284,42 +284,6 @@ export function Sidebar() { } }; - // Doctor + conditionally delete a session that failed to resume. The server runs - // `silverwood session doctor` and only removes the session if no conversation exists - // on disk; a removed tab vanishes on the next reconcile. - const doctorSession = async (tab: SessionTab) => { - if (!selectedNodeId) return; - setBusy(true); - setConnectError(null); - try { - const res = await fetch(`/api/sessions/${selectedNodeId}/sessions/${tab.sessionId}/doctor`, { - method: "POST", - }); - const data = await res.json().catch(() => ({})); - if (!res.ok) { - setConnectError(data.error || "Failed to check session"); - return; - } - if (data.removed) { - setPending((p) => { - const n = { ...p }; - delete n[tab.sessionId]; - return n; - }); - } else { - setConnectError( - data.conversationExists - ? "A saved conversation exists — try Connect again." - : "Session left in place.", - ); - } - } catch (e: any) { - setConnectError(e.message); - } finally { - setBusy(false); - } - }; - const displayColor = editColor || session?.customColor || session?.color || "#888"; // Workstream-level indicator: silverwood's algebraic state, plus the N/M-connected // agent count for a Ready Basic workstream. @@ -685,7 +649,7 @@ export function Sidebar() {

{activeTab.kind === "plain-shell" ? "Disconnected — connecting opens a new shell in the checkout." - : "Disconnected — connecting resumes this Claude Code conversation."} + : "Disconnected — connecting resumes this Claude Code conversation (or starts it fresh if none was saved)."}

{activeTab.lock && !activeTab.lock.mine ? ( @@ -713,23 +677,6 @@ export function Sidebar() { Connect )} - {activeTab.disconnectReason === "no-conversation" && - activeTab.doctorKind === "claude-code" && ( -
-

- No saved conversation was found on disk for this session. -

- -
- )} {activeTab.kind === "plain-shell" && (