fix(session): add fallback instructions to start/restart beacons
Add fallback instructions to start/restart topics in FormatStartupNudge() so agents have actionable instructions even if SessionStart hook fails. Previously, "start" and "restart" beacons only contained metadata like: [GAS TOWN] beads/crew/fang <- human • 2025-01-12 • start If the SessionStart hook failed to inject context via `gt prime`, agents would sit idle at "No recent activity" screen with no instructions. Now these topics include: Run `gt prime` now for full context, then check your hook and mail. Also warn instead of silently discarding settings provisioning errors in crew_at.go. Fixes: gt-uoc64 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
committed by
Steve Yegge
parent
3caf32f9f7
commit
605eeec84e
@@ -81,5 +81,13 @@ func FormatStartupNudge(cfg StartupNudgeConfig) string {
|
||||
beacon += "\n\nWork is on your hook. Run `gt hook` now and begin immediately."
|
||||
}
|
||||
|
||||
// For start/restart, add fallback instructions in case SessionStart hook fails
|
||||
// to inject context via gt prime. This prevents the "No recent activity" state
|
||||
// where agents sit idle because they received only metadata, no instructions.
|
||||
// See: gt-uoc64 (crew workers starting without proper context injection)
|
||||
if cfg.Topic == "start" || cfg.Topic == "restart" {
|
||||
beacon += "\n\nRun `gt prime` now for full context, then check your hook and mail."
|
||||
}
|
||||
|
||||
return beacon
|
||||
}
|
||||
|
||||
@@ -86,6 +86,35 @@ func TestFormatStartupNudge(t *testing.T) {
|
||||
"ready",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "start includes fallback instructions",
|
||||
cfg: StartupNudgeConfig{
|
||||
Recipient: "beads/crew/fang",
|
||||
Sender: "human",
|
||||
Topic: "start",
|
||||
},
|
||||
wantSub: []string{
|
||||
"[GAS TOWN]",
|
||||
"beads/crew/fang",
|
||||
"<- human",
|
||||
"start",
|
||||
"gt prime", // fallback instruction for when SessionStart hook fails
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "restart includes fallback instructions",
|
||||
cfg: StartupNudgeConfig{
|
||||
Recipient: "gastown/crew/george",
|
||||
Sender: "human",
|
||||
Topic: "restart",
|
||||
},
|
||||
wantSub: []string{
|
||||
"[GAS TOWN]",
|
||||
"gastown/crew/george",
|
||||
"restart",
|
||||
"gt prime", // fallback instruction for when SessionStart hook fails
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
|
||||
Reference in New Issue
Block a user