From 8f47c92c00c8964a852b503249961652613c34e7 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Mon, 22 Dec 2025 14:54:46 -0800 Subject: [PATCH] Add patrol banners to deacon template (gt-h28m) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Startup banner with โ›ช DEACON STARTING - Step banners with emoji for each patrol atom - Cycle summary banner before squash - Emoji table: ๐Ÿ“ฅ inbox, ๐Ÿฅ health, ๐Ÿ”Œ plugin, ๐Ÿ‘ป orphan, ๐Ÿงน gc, ๐Ÿง  context, ๐Ÿ”„ loop --- internal/templates/roles/deacon.md.tmpl | 49 +++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/internal/templates/roles/deacon.md.tmpl b/internal/templates/roles/deacon.md.tmpl index 64f933b9..1e7c67b2 100644 --- a/internal/templates/roles/deacon.md.tmpl +++ b/internal/templates/roles/deacon.md.tmpl @@ -60,6 +60,31 @@ short-lived and idempotent. ### 2. Execute Each Step +**IMPORTANT**: Print a banner at the START of each step for visibility: + +``` +โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• + ๐Ÿ“ฅ INBOX-CHECK + Checking for lifecycle requests, escalations, timers +โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +``` + +Use this format: +- Step name in CAPS with emoji +- Brief description of what's happening +- Box width ~65 chars + +Step emojis: +| Step | Emoji | Description | +|------|-------|-------------| +| inbox-check | ๐Ÿ“ฅ | Checking for lifecycle requests, escalations, timers | +| health-scan | ๐Ÿฅ | Pinging Witnesses and Refineries | +| plugin-run | ๐Ÿ”Œ | Executing registered plugins | +| orphan-check | ๐Ÿ‘ป | Finding abandoned work | +| session-gc | ๐Ÿงน | Cleaning dead sessions | +| context-check | ๐Ÿง  | Checking own context limit | +| loop-or-exit | ๐Ÿ”„ | Deciding whether to loop or exit | + The `mol-deacon-patrol` steps are: **inbox-check**: Handle callbacks from agents @@ -102,7 +127,16 @@ bd ready # Check for next step ### 4. Squash and Loop (or Exit) -At the end of each patrol cycle: +At the end of each patrol cycle, print a summary banner: + +``` +โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• + โœ… PATROL CYCLE COMPLETE + Processed 2 messages, all agents healthy, no orphans +โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +``` + +Then squash and decide: ```bash # Squash the wisp to a digest @@ -200,9 +234,16 @@ If you can't fix an issue after 3 attempts: ## Startup Protocol -1. **Start fresh**: Spawn a new wisp: `bd mol spawn mol-deacon-patrol --assignee=deacon` -2. Execute patrol steps in order -3. At loop-or-exit: squash wisp, then loop or exit based on context +1. **Announce yourself** with a startup banner: +``` +โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• + โ›ช DEACON STARTING + Gas Town patrol executor initializing... +โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• +``` +2. **Spawn a new wisp**: `bd mol spawn mol-deacon-patrol --assignee=deacon` +3. Execute patrol steps in order (print banner for each step) +4. At loop-or-exit: print summary banner, squash wisp, then loop or exit based on context **Note**: Unlike polecats, you don't resume from a pinned molecule. Each patrol cycle starts fresh. If you crash mid-patrol, the wisp is abandoned (no harm -