Two disciplines on top of the `until` gate.
A user who speaks while work is in flight is either steering the work in hand or
handing over a separate task. A `UserPromptSubmit` nudge now puts that triage in
front of the agent: steering is done NOW (parking it is a way of not doing it), a
separate or explicitly-deferred task is PARKED as a condition and carried on from,
so it resurfaces at the end instead of derailing the phase or being lost. It fires
only while a plan is active or a gate already stands — an ordinary conversation is
not taxed with it — and it asks for a checkable statement, since the agent must
verify it before it may stop.
An active plan now takes precedence over the gate: PlanReminder owns the stop while
it runs, so only one hook pushes the agent back in and a long grind can never burn
the gate's release cap. The conditions take over the moment `plan done` clears the
plan — which is exactly "at the end" — and `plan done` lists what now holds the
agent, so the handover is never a surprise.
Hook gains the UserPromptSubmit moment; the two install tests that asserted we wire
nothing there now assert what is true: the legacy per-command remind is stripped and
the event carries our one stamped dispatcher.