Implement Boot: daemon entry point dog for Deacon triage (gt-rwd5j)
Boot is a watchdog that the daemon pokes instead of Deacon directly, centralizing the 'when to wake Deacon' decision in an agent that can reason about context. Key changes: - Add internal/boot package with marker file and status tracking - Add gt boot commands: status, spawn, triage - Add mol-boot-triage formula for Boot's triage cycle - Modify daemon to call ensureBootRunning instead of ensureDeaconRunning - Add tmux.IsAvailable() for degraded mode detection - Add boot.md.tmpl role template Boot lifecycle: 1. Daemon tick spawns Boot (fresh each time) 2. Boot runs triage: observe, decide, act 3. Boot cleans stale handoffs from Deacon inbox 4. Boot exits (or handoffs in non-degraded mode) In degraded mode (no tmux), Boot runs mechanical triage directly. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -91,6 +91,12 @@ func (t *Tmux) KillServer() error {
|
||||
return err
|
||||
}
|
||||
|
||||
// IsAvailable checks if tmux is installed and can be invoked.
|
||||
func (t *Tmux) IsAvailable() bool {
|
||||
cmd := exec.Command("tmux", "-V")
|
||||
return cmd.Run() == nil
|
||||
}
|
||||
|
||||
// HasSession checks if a session exists.
|
||||
func (t *Tmux) HasSession(name string) (bool, error) {
|
||||
_, err := t.run("has-session", "-t", name)
|
||||
|
||||
Reference in New Issue
Block a user