"Pippa writes the command. Your finger presses Enter. The distance between those two is the entire safety model."
Insert and Run are two different authorities
In the Cmd+K composer you describe an intent — convert the MOVs in this folder to MP4 — and Pippa proposes a command. When you accept, Insert writes that reviewed command into the prompt without a trailing newline. It sits there, editable, unrun. Only your own Enter executes it. That missing newline is the whole boundary: the line between here's a suggestion and do it, and it belongs to the human, not the model.
A model response never auto-submits
The proposal is rendered outside the terminal's input stream — a card you read, not keystrokes already typed. Pippa never invokes the shell on its own, never appends the newline, never promotes its suggestion into a durable operation. Model text is a draft, and a draft that can submit itself isn't a draft — it's an actor you never authorized.
Stale context refuses the insert
Between the moment you asked and the moment Pippa answered, the world can move. So before inserting, the system re-checks the snapshot the proposal was written for: the same terminal session, host, connection generation, working directory, and prompt generation — plus whether any input was sent since the composer opened. If anything changed, insertion is refused. A command written for one host at one prompt must never land on another host after a reconnect.
Scary commands don't get blind-pasted
Insert is for the simple, reviewed, single-prompt case. Multiline scripts, destructive commands, privilege changes, and anything spanning multiple hosts default to a preview or a delegate as operation path instead — routed back into the typed, gated machinery rather than dropped raw into a shell. The easy path is only easy because it's also small.