fix(deacon): add initial prompt to CLI start command
Some checks failed
CI / Check for .beads changes (push) Has been skipped
CI / Check embedded formulas (push) Successful in 20s
CI / Test (push) Failing after 1m13s
CI / Lint (push) Successful in 18s
CI / Integration Tests (push) Successful in 1m1s
CI / Coverage Report (push) Has been skipped
Windows CI / Windows Build and Unit Tests (push) Has been cancelled

The manager.go had the initial prompt fix for daemon-managed starts,
but the CLI `gt deacon start` command was missing it. This caused
the deacon to sit idle at the prompt after SessionStart hooks ran.

Now both code paths include the GUPP initial prompt:
"I am Deacon. Start patrol: check gt hook, if empty create
mol-deacon-patrol wisp and execute it."

This ensures the deacon starts working immediately regardless of
whether it's started via CLI or daemon.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-21 13:07:07 -08:00
committed by John Ogle
parent 3d1dea5949
commit 93e22595cd

View File

@@ -413,9 +413,11 @@ func startDeaconSession(t *tmux.Tmux, sessionName, agentOverride string) error {
return fmt.Errorf("creating deacon settings: %w", err)
}
// Build startup command first
// Export GT_ROLE and BD_ACTOR in the command since tmux SetEnvironment only affects new panes
startupCmd, err := config.BuildAgentStartupCommandWithAgentOverride("deacon", "", townRoot, "", "", agentOverride)
// Build startup command with initial prompt for autonomous patrol.
// The prompt triggers GUPP: deacon starts patrol immediately without waiting for input.
// This prevents the agent from sitting idle at the prompt after SessionStart hooks run.
initialPrompt := "I am Deacon. Start patrol: check gt hook, if empty create mol-deacon-patrol wisp and execute it."
startupCmd, err := config.BuildAgentStartupCommandWithAgentOverride("deacon", "", townRoot, "", initialPrompt, agentOverride)
if err != nil {
return fmt.Errorf("building startup command: %w", err)
}