feat(deacon): make deacon the system heartbeat with auto-start

Robustness improvements for the Deacon:

- Add DeaconTheme (purple/silver ecclesiastical theme)
- Apply theme to deacon sessions like mayor/witness
- Daemon now auto-starts deacon if not running
- Daemon pokes deacon instead of directly poking mayor/witnesses
- Deacon is responsible for monitoring mayor and witnesses

The daemon is a "dumb scheduler" that keeps the deacon alive.
The deacon (Claude agent) has the intelligence to understand
context and take remedial action when agents are unhealthy.

🤖 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-20 02:00:37 -08:00
parent a37fac2c3c
commit 348a7d0525
3 changed files with 125 additions and 4 deletions

View File

@@ -34,6 +34,12 @@ func MayorTheme() Theme {
return Theme{Name: "mayor", BG: "#3d3200", FG: "#ffd700"}
}
// DeaconTheme returns the special theme for the Deacon session.
// Purple/silver - ecclesiastical, distinct from Mayor's gold.
func DeaconTheme() Theme {
return Theme{Name: "deacon", BG: "#2d1f3d", FG: "#c0b0d0"}
}
// GetThemeByName finds a theme by name from the default palette.
// Returns nil if not found.
func GetThemeByName(name string) *Theme {