Skip to content

Close sessions from panes + review/answer plans in the reader#3

Draft
lacraig2 wants to merge 4 commits into
round-5-cockpitfrom
panes-close-and-plans
Draft

Close sessions from panes + review/answer plans in the reader#3
lacraig2 wants to merge 4 commits into
round-5-cockpitfrom
panes-close-and-plans

Conversation

@lacraig2

Copy link
Copy Markdown
Contributor

Three related cockpit asks. Builds on the current round-5-cockpit working tree
(the first commit is a snapshot of in-progress local changes, per request).

1. Prominent close (✕) on task rows — feat(panes)

Closing a session was only reachable from the row's menu (a buried danger
row) and, in the open-pane deck, from a desktop-only menu — so on a phone
there was no accessible way to close a session. Adds an always-visible on
each task row that opens the existing confirm dialog (RemoveDialog): one tap to
reach, still gated so it's never destructive by accident.

2. Answer questions without leaving the reader — feat(viewer)

Permission menus and AskUserQuestion / ExitPlanMode prompts are terminal
overlays; in reader (conversation) mode they were invisible or buried inside a
collapsed "N steps" tool run, forcing a switch to the terminal to answer.

  • ExitPlanMode now renders as the plan itself — markdown inline, expanded
    by default in the reader, collapsible.
  • AskUserQuestion renders as its question + choices inline.
  • Both are excluded from tool-run grouping so they always stand alone.

3. Review plans where you answer them — feat(options)

ExitPlanMode plans were reduced to a one-line prompt, so a plan could only be
read in the raw terminal (usually too long to scroll there). The full plan body
now rides through ParsedMenu.detail → PendingOptions.detail and renders in
OptionPicker as a scrollable, expandable block right above the choices — so the
plan is reviewable exactly where it's answered, in both the drive cockpit and the
panes reader. The plan body is folded into the selection fingerprint so a
re-issued plan can't be answered from a stale view.

Tests

  • Backend: 424 passed (adds plan-detail + fingerprint coverage in test_options.py).
  • Frontend: 102 passed (adds OptionPicker, inline plan/question render, TaskRow
    close, and tool-run exclusion tests).

Note on the base

The branch's first commit snapshots uncommitted local work that was already on
round-5-cockpit; the three feat(...) commits are the actual change. When you
commit your own WIP, reconcile as needed.

lacraig2 added 4 commits July 10, 2026 11:01
ExitPlanMode plans were reduced to a one-line prompt, so a plan could only be
reviewed in the raw terminal (where it's usually too long to read). Carry the
full plan markdown through ParsedMenu.detail -> PendingOptions.detail and render
it in OptionPicker as a scrollable, expandable block right above the choices, so
a plan is reviewable exactly where it's answered (drive cockpit + panes reader).

The detail is folded into the selection fingerprint so a re-issued plan with the
same one-line prompt can't be answered from a stale view.
Permission menus and AskUserQuestion/ExitPlanMode prompts are terminal overlays;
in reader (conversation) mode they were either invisible or buried inside a
collapsed 'N steps' tool run, so the user had to switch to the terminal to see a
question or a plan.

Render ExitPlanMode as the plan itself (markdown inline, expanded by default in
focus/reader mode, collapsible) and AskUserQuestion as its question + choices,
and exclude both from tool-run grouping so they always stand alone.
Closing a session was only reachable from the row's ⋯ menu (a danger row) and,
in the open-pane deck, from a desktop-only menu — so on a phone there was no
accessible way to close a session. Add an always-visible ✕ on each task row that
opens the existing confirm dialog (RemoveDialog), so it's one tap to reach but
never destructive by accident.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant