The interactive fallback (AC2.2/AC3.1): prompts for missing slug/title,
drafts (or reuses a supplied) brief, opens it for editing, validates its
required sections (offering a re-edit rather than padding, R3), and
requires an explicit stage? [y/N] confirmation. Returns null when the
human declines to stage or abandons a re-edit loop — the caller refuses;
this never commits on its own. Factored out (the runSelfUpdate precedent)
so the editor/prompt seam is unit-testable without a real TTY.
The interactive fallback (AC2.2/AC3.1): prompts for missing slug/title, drafts (or reuses a supplied) brief, opens it for editing, validates its required sections (offering a re-edit rather than padding, R3), and requires an explicit
stage? [y/N]confirmation. Returns null when the human declines to stage or abandons a re-edit loop — the caller refuses; this never commits on its own. Factored out (therunSelfUpdateprecedent) so the editor/prompt seam is unit-testable without a real TTY.