spawn: Use detectSender() for From field, document Deacon fallback

This commit is contained in:
Steve Yegge
2025-12-20 08:44:17 -08:00
parent c81ea13baa
commit cfb33241dd

View File

@@ -338,23 +338,27 @@ func runSpawn(cmd *cobra.Command, args []string) error {
style.Dim.Render(fmt.Sprintf("gt session at %s/%s", rigName, polecatName))) style.Dim.Render(fmt.Sprintf("gt session at %s/%s", rigName, polecatName)))
// Notify Witness about the spawn - Witness will monitor startup and nudge when ready // Notify Witness about the spawn - Witness will monitor startup and nudge when ready
// Note: If Witness is down, Deacon's health check will wake it and Witness will
// process the SPAWN message from its inbox on startup.
witnessAddr := fmt.Sprintf("%s/witness", rigName) witnessAddr := fmt.Sprintf("%s/witness", rigName)
sender := detectSender()
spawnNotification := &mail.Message{ spawnNotification := &mail.Message{
To: witnessAddr, To: witnessAddr,
From: "mayor/", From: sender,
Subject: fmt.Sprintf("SPAWN: %s starting on %s", polecatName, assignmentID), Subject: fmt.Sprintf("SPAWN: %s starting on %s", polecatName, assignmentID),
Body: fmt.Sprintf(`Polecat spawn notification. Body: fmt.Sprintf(`Polecat spawn notification.
Polecat: %s Polecat: %s
Issue: %s Issue: %s
Session: %s Session: %s
Spawned by: %s
Please monitor this polecat's startup. When Claude is ready (you can see the prompt Please monitor this polecat's startup. When Claude is ready (you can see the prompt
in the tmux session), send a nudge to start working: in the tmux session), send a nudge to start working:
tmux send-keys -t %s "Check your inbox with 'gt mail inbox' and begin working." Enter tmux send-keys -t %s "Check your inbox with 'gt mail inbox' and begin working." Enter
The polecat has a work assignment in its inbox.`, polecatName, assignmentID, sessMgr.SessionName(polecatName), sessMgr.SessionName(polecatName)), The polecat has a work assignment in its inbox.`, polecatName, assignmentID, sessMgr.SessionName(polecatName), sender, sessMgr.SessionName(polecatName)),
} }
if err := router.Send(spawnNotification); err != nil { if err := router.Send(spawnNotification); err != nil {