58c0fae614
When slinging work to patrol agents (witness, refinery, deacon), queue via mail instead of replacing the hook. This preserves patrol continuity. New behavior: - Default: Check if patrol is running, start default patrol if not, send work via mail. Patrol processes queued work during its cycle. - --urgent: Marks mail as urgent (🚨 URGENT prefix) - --replace: Legacy behavior, explicitly terminates patrol (break-glass) New helper functions: - isPatrolRole(kind): Returns true for witness/refinery/deacon - getDefaultPatrolMolecule(role): Returns patrol template name - resolvePatrolMoleculeID(path, title): Looks up beads issue ID by title - isPatrolRunning(path, addr): Checks if patrol molecule is attached Note: Patrol spawning currently uses main DB (not wisp storage) because templates must be looked up from the main database. Wisp support for patrol instances is a future enhancement. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>