Files
pi-gui/docs/quick-pane-v1-implementation-plan.md
T

2.4 KiB

Quick Pane v1 Implementation Plan

1. Define persisted configuration

  • Add Quick Pane settings types, defaults, validation, serialization, and migration-safe native storage.
  • Fields: default workspace, quick model, follow-up model, supplemental prompt, maximum seconds, maximum read-only tool calls.
  • Preserve current configuration when validation or save fails.

2. Add native window and launch contract

  • Extend Tauri configuration and Rust window management with a dedicated Quick Pane window label.
  • Add command-line action used by external WM hotkey to create/show/focus pane, including cold launch.
  • Keep --toggle and ordinary --new behavior unchanged.

3. Build Quick Pane React surface

  • Add isolated state reducer/component for request, selected model/workspace, progress, final answer, partial answer, escalation, extension UI, and errors.
  • Keep pane transcript in component memory only and request best-effort runtime/session cleanup on close.
  • Add Settings controls and copyable WM launch command.

4. Add constrained bridge runtime mode

  • Extend runtime creation with Quick Pane metadata and ephemeral session lifecycle.
  • Build immutable advisory quick-agent instructions around supplemental custom prompt.
  • Use observed tool events and wall-clock cancellation for best-effort caps; document that current Pi RPC cannot trusted-enforce read-only/no-subagent policy or memory-only runtime sessions.
  • Instruct preflight escalation for mutation, subagent, multi-step, or likely-over-budget requests.

5. Route interaction and handoff

  • Reuse existing extension request/response protocol for inline Quick Pane permission and clarification dialogs.
  • On explicit continuation, create normal runtime using workspace and follow-up model.
  • Prefill it with original request plus escalation note/partial findings.

6. Test and document

  • Add unit tests for settings validation/persistence and guardrail classification.
  • Add component tests for pane states, picker behavior, inline prompts, error/retry, and cleanup.
  • Add Rust/bridge tests for window command routing, budget cancellation, ephemeral cleanup, and handoff payload.
  • Add manual WM hotkey/cold-launch instructions and smoke checklist.

Sequencing

Land configuration/runtime contract first, then native window and UI, then handoff and test coverage. Preserve existing normal-session paths throughout.