coily dispatch: add a consult-posture axis and a third soft-stop mode #130
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Feature - add a consult-posture axis to
coily dispatch, and a third soft-stop mode.The reframing
The dispatch modes look like they are about execution surface (detached log file vs live Warp tab), but the thing that actually distinguishes them is consult posture - how readily the dispatched agent stops to involve the operator. Today only two points on that axis exist, and each conflates surface with posture.
The axis, from least to most operator involvement:
headless- never consults. Goes off into the sunset. Effectively--dangerously-skip-permissions. AFK queue work, no expectation of being watched.interactive(current) - auto mode, renders a live report in a tab, assumes the operator may be watching but does not expect to talk to them. It proceeds.Explicitly not plan mode. Plan mode is a hard read-only-until-approve stop. If the operator wanted that, they would launch Claude in plan mode by hand. This new mode is less cautious than plan mode - it is normal auto mode with the ask-propensity dialed up.
Naming - the current name is backwards
The current
interactivedoes not actually interact. It lets you watch. The new mode is the one that genuinely interacts with the operator. Proposal:interactivetowatch(orreport/observed).interactive, or if the collaboration framing should be front and center,pair/collab/consult.Naming is a decision to settle in this issue.
Mechanism - it is a prompt posture, not a permission mode
This is the key implementation reality. Claude Code's permission knobs are hard: plan mode is read-only-until-approve, default / acceptEdits just proceed. There is no built-in soft-consult dial. So "encouraged but not required to wait" cannot be a permission mode. It lives in the prompt - a per-mode posture preamble that dispatch injects ahead of the work instruction.
Today
dispatchhardcodes the prompt asWork on issue <ref>with no augmentation. The work here is:Work on issue <ref>prompt.That preamble language mirrors the auto-mode posture Claude already runs under, just with the interruption budget raised.
Why this matters
Right now the only way to force a dispatched agent to pause on a decision is to bury a decision-gate in the issue body itself (this was done for agentic-os-kai#433 - a
DECISION GATE - PAUSE FOR KAIcallout). That is a per-issue contortion. A posture mode moves the expectation into the dispatch, reusable across every issue, with no issue-body hacking.Open decisions
interactive, name of the new mode).--consult) layered on the existing surfaces? A flag would decouple surface from posture cleanly, which is the whole insight of this issue.