dispatch: collapse --posture into a consult surface #34

Closed
opened 2026-05-28 10:09:27 +00:00 by coilysiren · 1 comment
Owner

Consumer-driven by coilysiren/coily#144.

The dispatch package had three positional surfaces (headless, interactive, cascade) plus a separate --posture {watch,consult} axis selectable only on interactive. An axis that exists for exactly one surface is too orthogonal. Collapse it: consult becomes a fourth positional surface (interactive placement, consult preamble baked in), and --posture is removed.

  • posture.go -> preamble.go: delete the exported Posture type, its consts, interactivePostures, parseInteractivePosture, and posturePreamble. Replace with surface-keyed preamble constants headlessPreamble / consultPreamble.
  • interactive.go: add consultCommand sharing interactive's flags/placement via interactiveSurfaceCommand; drop the --posture flag and its wiring; interactivePrompt now takes a preamble string.
  • dispatch.go: list four surfaces in the umbrella help and bare-surface error; seedPrompt uses headlessPreamble.
  • Tests migrated; godoc-current.txt regenerated.
Consumer-driven by coilysiren/coily#144. The dispatch package had three positional surfaces (headless, interactive, cascade) plus a separate `--posture {watch,consult}` axis selectable only on interactive. An axis that exists for exactly one surface is too orthogonal. Collapse it: `consult` becomes a fourth positional surface (interactive placement, consult preamble baked in), and `--posture` is removed. - `posture.go` -> `preamble.go`: delete the exported `Posture` type, its consts, `interactivePostures`, `parseInteractivePosture`, and `posturePreamble`. Replace with surface-keyed preamble constants `headlessPreamble` / `consultPreamble`. - `interactive.go`: add `consultCommand` sharing interactive's flags/placement via `interactiveSurfaceCommand`; drop the `--posture` flag and its wiring; `interactivePrompt` now takes a preamble string. - `dispatch.go`: list four surfaces in the umbrella help and bare-surface error; `seedPrompt` uses `headlessPreamble`. - Tests migrated; godoc-current.txt regenerated.
Author
Owner

Landed on GitHub main as 4bf7163 (consult becomes a 4th positional surface; --posture removed; posture.go -> preamble.go; tests + godoc updated).

Note: the GitHub<->Forgejo mirror for cli-guard has drifted, so git push origin main landed on GitHub but rejected on the Forgejo URL. The closes #34 trailer therefore did not auto-fire on Forgejo. Closing manually.

Landed on GitHub main as `4bf7163` (consult becomes a 4th positional surface; `--posture` removed; posture.go -> preamble.go; tests + godoc updated). Note: the GitHub<->Forgejo mirror for cli-guard has drifted, so `git push origin main` landed on GitHub but rejected on the Forgejo URL. The `closes #34` trailer therefore did not auto-fire on Forgejo. Closing manually.
Sign in to join this conversation.
No labels
P0
P1
P2
P3
P4
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/cli-guard#34
No description provided.