Durable + nudge— store is truth; dropped pane-inject still safe in inbox
✓
Agents adopting— Exodus sent exodus→leviticus: confirmed on its own
🛡 Canon & roles fixed mid-flight
✓
E1 — dead hook— xen-posttool-canon.py syntax error had killed ALL canon enforcement since 13:54; restored
✓
E2 — role-guard— Genesis can no longer execute via xen-computer-use; pattern-blocked
✓
Exodus mode— confirmed Opus 4.8 + ultracode; no "max" mode exists (doc mislabel fixed)
Root cause, in one line
Three subsystems independently guessed pane IDs from differently-named dotfiles — one of which assigned secondary to mean genesis and exodus at the same time. The de-dup logic then silently ate the third pane. One authoritative writer + canonical names killed the entire bug class.