Wire the main-merge-gate lifecycle event into commands/ultraexecute-local.md Phase 8. Three event variants emitted via lib/stats/event-emit.mjs (S8): - main-merge-gate fired at the gate boundary - main-merge-approved fired on operator confirm - main-merge-declined fired on operator decline (run recorded as partial) The gate ALWAYS pauses regardless of gates_mode — it is the one always-on boundary that --gates does not toggle. On decline, --resume re-enters at the gate, and the wave session branches survive on the remote thanks to Hard Rule 19's push-before-cleanup. Recovery surface is documented inline. Pin in tests/lib/main-merge-gate.test.mjs locks the always-on prose, the event names, and the recovery-surface contract. |
||
|---|---|---|
| .. | ||
| ai-psychosis | ||
| config-audit | ||
| graceful-handoff | ||
| linkedin-thought-leadership | ||
| llm-security | ||
| ms-ai-architect | ||
| okr | ||
| ultraplan-local | ||