dispatch: add a consult-posture axis decoupled from execution surface #27
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?
Add a consult-posture axis to the dispatch package, decoupled from the execution surface.
This implements the cli-guard half of coilysiren/coily#130. The dispatch subsystem lives here, so the work lands here; coily picks it up via a dependency bump.
The reframing
Dispatch modes (
headless/interactive) look like they are about execution surface (detached log file vs live Warp tab), but the thing that actually distinguishes operator involvement is consult posture - how readily the dispatched agent stops to involve the operator. Surface and posture were conflated.What changed
dispatch/posture.go: aPosturetype (headless/watch/consult) orthogonal to the surface, with per-posture prompt preambles. The interruption budget lives in the prompt, not a permission mode, because Claude Code has no soft-consult flag (plan mode is a hard read-only-until-approve stop).--posture watch|consultflag on theinteractivesurface.watch(default) is byte-identical to the historical prompt;consultinjects a preamble that raises the interruption budget - encouraged to surface judgment calls to the reachable operator, a soft expectation rather than a hard stop.seedPromptnow carries an explicit complete-end-to-end, never-pause posture.Decisions settled
interactive/headless: the flag makes posture an explicit axis, so the subverb name no longer has to carry posture meaning.watch(preserves current behavior).