Slash-command framework and the M1 command set.
Commands are routed by the TUI's prompt, the command palette,
and the non-interactive zero <command> entrypoint. All three
paths produce the same [DispatchOutput], which downstream
renders as text, JSON, or a typed widget.
The crate enforces ADR-014 (risk asymmetry) at the type level
via [risk::FrictionGate]: only Increases-classified commands
can be friction-wrapped. Risk-reducing actions (/quit,
/kill, /flatten-all, /pause-entries, /break) are
instant and cannot be gated — the compiler refuses.