refactor: update lifecycle mail targets from daemon/ to deacon/ (gt-5af.5)

Update all code and documentation to use deacon/ instead of daemon/
for lifecycle mail targets:

- internal/cmd/handoff.go: getManager() returns deacon/ for Mayor/Witness
- internal/daemon/lifecycle.go: ProcessLifecycleRequests uses deacon/ inbox
- docs/architecture.md: update all references in lifecycle docs
- scripts/mayor-respawn-daemon.sh: use BD_IDENTITY=deacon for mail commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-19 17:26:16 -08:00
parent 6479dddb9b
commit 178bebee40
5 changed files with 228 additions and 209 deletions

View File

@@ -808,7 +808,7 @@ Workers process issues independently. Work flows through the merge queue. No "sw
Gas Town Daemon (gt daemon)
├── Pokes Mayor periodically
├── Pokes all Witnesses periodically
├── Processes lifecycle requests from daemon/ inbox
├── Processes lifecycle requests from deacon/ inbox
└── Restarts sessions when cycle requested
Lifecycle Hierarchy:
@@ -834,8 +834,8 @@ gt handoff --restart # Fresh restart, no handoff
|-------|---------|------------------|
| Polecat | --shutdown | rig/witness |
| Refinery | --cycle | rig/witness |
| Witness | --cycle | daemon/ |
| Mayor | --cycle | daemon/ |
| Witness | --cycle | deacon/ |
| Mayor | --cycle | deacon/ |
**Lifecycle request protocol**:
1. Agent runs `gt handoff` (verifies git clean, sends handoff mail)
@@ -851,7 +851,7 @@ gt handoff --restart # Fresh restart, no handoff
- Poke Mayor: "HEARTBEAT: check your rigs"
- Poke each Witness: "HEARTBEAT: check your workers"
- Agents ignore poke if already working
- Process any lifecycle requests in daemon/ inbox
- Process any lifecycle requests in deacon/ inbox
- Restart dead sessions if cycle was requested
```mermaid