Fix Boot spawn: use bootDir and add initial triage prompt

Boot was spawning in deaconDir, causing it to read Deacon's CLAUDE.md
instead of its own role context. Now:
- Creates session in ~/gt/deacon/dogs/boot/
- Ensures bootDir exists with Boot's CLAUDE.md
- Passes "gt boot triage" as initial prompt for immediate execution

(gt-tc58x)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
gastown/polecats/capable
2025-12-30 22:02:00 -08:00
committed by Steve Yegge
parent 5be4255f35
commit 23ee6efd41

View File

@@ -175,8 +175,13 @@ func (b *Boot) spawnTmux() error {
_ = b.tmux.KillSession(SessionName)
}
// Create new session in deacon directory
if err := b.tmux.NewSession(SessionName, b.deaconDir); err != nil {
// Ensure boot directory exists (it should have CLAUDE.md with Boot context)
if err := b.EnsureDir(); err != nil {
return fmt.Errorf("ensuring boot dir: %w", err)
}
// Create new session in boot directory (not deacon dir) so Claude reads Boot's CLAUDE.md
if err := b.tmux.NewSession(SessionName, b.bootDir); err != nil {
return fmt.Errorf("creating boot session: %w", err)
}
@@ -184,8 +189,9 @@ func (b *Boot) spawnTmux() error {
_ = b.tmux.SetEnvironment(SessionName, "GT_ROLE", "boot")
_ = b.tmux.SetEnvironment(SessionName, "BD_ACTOR", "deacon-boot")
// Launch Claude with environment exported inline
startCmd := "export GT_ROLE=boot BD_ACTOR=deacon-boot && claude --dangerously-skip-permissions"
// Launch Claude with environment exported inline and initial triage prompt
// The "gt boot triage" prompt tells Boot to immediately start triage (GUPP principle)
startCmd := `export GT_ROLE=boot BD_ACTOR=deacon-boot && claude --dangerously-skip-permissions "gt boot triage"`
if err := b.tmux.SendKeys(SessionName, startCmd); err != nil {
return fmt.Errorf("sending startup command: %w", err)
}