Add Claude settings templates for autonomous roles (gt-6957)
- Create internal/claude package with embedded settings templates - settings-autonomous.json: gt prime && gt mail check --inject (SessionStart) - settings-interactive.json: gt prime only (SessionStart) - Update witness.go: EnsureSettings before session, remove broken gt prime injection - Update refinery/manager.go: EnsureSettings before session, remove broken NudgeSession - Update session/manager.go: EnsureSettings for polecats, remove broken issue injection All autonomous roles (polecat, witness, refinery) now get proper SessionStart hooks automatically when their sessions are created. No more timing-based gt prime injection.
This commit is contained in:
@@ -10,6 +10,7 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/steveyegge/gastown/internal/claude"
|
||||
"github.com/steveyegge/gastown/internal/rig"
|
||||
"github.com/steveyegge/gastown/internal/tmux"
|
||||
)
|
||||
@@ -118,6 +119,11 @@ func (m *Manager) Start(polecat string, opts StartOptions) error {
|
||||
workDir = m.polecatDir(polecat)
|
||||
}
|
||||
|
||||
// Ensure Claude settings exist (autonomous role needs mail in SessionStart)
|
||||
if err := claude.EnsureSettingsForRole(workDir, "polecat"); err != nil {
|
||||
return fmt.Errorf("ensuring Claude settings: %w", err)
|
||||
}
|
||||
|
||||
// Create session
|
||||
if err := m.tmux.NewSession(sessionID, workDir); err != nil {
|
||||
return fmt.Errorf("creating session: %w", err)
|
||||
@@ -149,12 +155,9 @@ func (m *Manager) Start(polecat string, opts StartOptions) error {
|
||||
return fmt.Errorf("sending command: %w", err)
|
||||
}
|
||||
|
||||
// If issue specified, wait a bit then inject it
|
||||
if opts.Issue != "" {
|
||||
time.Sleep(500 * time.Millisecond)
|
||||
prompt := fmt.Sprintf("Work on issue: %s", opts.Issue)
|
||||
_ = m.Inject(polecat, prompt) // Non-fatal error
|
||||
}
|
||||
// NOTE: No issue injection needed here. Work assignments are sent via mail
|
||||
// before session start, and the SessionStart hook runs gt prime + mail check
|
||||
// which shows the polecat its assignment.
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user