Skip to content

Orbit: agent asks "Shall I proceed?" instead of pointing at the plan card's Approve/Edit/Reject buttons #400

Description

@dannon

Reported via beta feedback (v0.5.1, Linux).

The agent proposed a plan, and Orbit rendered it as a plan draft card with Approve / Edit / Reject buttons -- but the agent's prose ignored the card entirely and closed with "Shall I proceed with the plan?". The user is left with two competing affordances (type "yes", or click a button) and no signal about which one the app actually wants.

Why it happens: extensions/loom/context.ts tells the model that the buttons exist ("Orbit renders ```plan fences as an interactive card with Approve / Edit / Reject buttons"), but the approval-gate guidance right below it is written entirely in terms of typed replies -- "The user must signal approval with words like 'yes', 'go', 'approve'...". Nothing steers the closing sentence toward the card, so the model defaults to conversational phrasing.

There's also a plain-drift problem: the card is attached to the fence, so once a long plan scrolls past, the buttons scroll away with it and the user has no way back to them short of scrolling.

The ask: make the plan-approval interaction structurally consistent instead of leaving it to the model's phrasing. Two directions, not mutually exclusive:

  1. Shell-side (preferred, and shell-neutral for the brain): when a message contains a plan card, Orbit always renders the action row -- Approve / Edit / Reject plus a "Scroll to plan" button -- pinned at the end of that message (or sticky while the plan is the open gate). The affordance stops depending on what the model chose to say.
  2. Prompt-side nudge: in the plan-lifecycle block in context.ts, steer the closing line to point at the card ("use the Approve / Edit / Reject buttons below") rather than asking an open question. Should stay conditional on a UI shell being present so the CLI wording doesn't reference buttons that don't exist there.

Typed approval should keep working either way -- this is about making the buttons the obvious path, not the only one.

(Beta tester feedback; details anonymized.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions