Skip to content

feat(studio): session modes, mid-chat model switch, and debug-with-AI - #983

Closed
jtenniswood wants to merge 1 commit into
studio/S17from
studio/S18
Closed

feat(studio): session modes, mid-chat model switch, and debug-with-AI#983
jtenniswood wants to merge 1 commit into
studio/S17from
studio/S18

Conversation

@jtenniswood

Copy link
Copy Markdown

Stack 18/21 — Studio: session modes, mid-chat model switch, debug-with-AI

  • Permission modes (use-session-mode): live echo-adopt + rollback; a draft reads its pending mode at mint; the composer gains the ModeSelector.
  • Mid-chat model switch: the ModelEffortSelector + fork-based handleSwitchModel — switching models mid-conversation forks the session onto the new model, keeping the transcript.
  • Debug-with-AI (ADR 0254): the consented debug-session flow behind the session_debug capability — explicit consent dialog, sidebar debug badge, title-provenance rendering (debug.ts landed tested in PR 5).
  • The second and final allowlisted server-proxy.ts re-touch: requiresEmptyWorkspace (+15 lines) — no-fs/debug sessions skip workspace injection. The proxy reaches its final state; create-body.test.ts (PR 5) already pins the debug body shape.

Demo at this stack point: switch permission mode mid-chat, fork onto another model, spawn a consented debug session from a chat's menu.

Part of the stacked landing of #618.

🤖 Generated with Claude Code

use-session-mode drives the composer's permission-mode selector with live
echo-adopt and rollback (a draft reads its pending mode at mint). The model/
effort selector switches models mid-conversation by forking the session onto
the new model, keeping the transcript (ThreadSourceBusyError surfaces
honestly). Debug-with-AI (ADR 0254) lands behind the session_debug
capability: an explicit consent dialog, the sidebar debug badge and action,
and title-provenance rendering — over the debug transport landed with the
harness tier.

server-proxy.ts takes its second and final allowlisted re-touch:
requiresEmptyWorkspace — no-fs/debug sessions skip workspace injection — and
reaches its final state.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jtenniswood jtenniswood added enhancement New feature or request ux WebUI Applies to the WebUI interface labels Sep 2, 2026
@jhrozek jhrozek closed this Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request ux WebUI Applies to the WebUI interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants