Unify startup protocols: all roles use 'gt mol status' + RUN IT pattern
- Mayor/Crew: mol attached → RUN IT, else await instruction - Witness/Refinery/Deacon: mol attached → RUN IT, else spawn patrol - Polecat: mol attached → RUN IT, else ERROR (polecats must have work)
This commit is contained in:
@@ -414,20 +414,20 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Println()
|
||||
fmt.Println("**STARTUP PROTOCOL**: You are the Mayor. Please:")
|
||||
fmt.Println("1. Announce: \"Mayor, checking in.\"")
|
||||
fmt.Println("2. Check mail: `gt mail inbox`")
|
||||
fmt.Println("3. If there's a 🤝 HANDOFF message, read it and summarize")
|
||||
fmt.Println("4. If no mail, await user instruction")
|
||||
fmt.Println("2. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("3. Check for attached work: `gt mol status`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (no human input needed)")
|
||||
fmt.Println(" - If no mol → await user instruction")
|
||||
case RoleWitness:
|
||||
fmt.Println()
|
||||
fmt.Println("---")
|
||||
fmt.Println()
|
||||
fmt.Println("**STARTUP PROTOCOL**: You are the Witness. Please:")
|
||||
fmt.Println("1. Announce: \"Witness, checking in.\"")
|
||||
fmt.Println("2. Check for handoff: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("3. Check polecat status: `gt polecat list " + ctx.Rig + " --json`")
|
||||
fmt.Println("4. Process any lifecycle requests from inbox")
|
||||
fmt.Println("5. If polecats stuck/idle, nudge them")
|
||||
fmt.Println("6. If all quiet, wait for activity")
|
||||
fmt.Println("2. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("3. Check for attached patrol: `gt mol status`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
|
||||
fmt.Println(" - If no mol → spawn patrol: `bd mol spawn mol-witness-patrol`")
|
||||
case RolePolecat:
|
||||
fmt.Println()
|
||||
fmt.Println("---")
|
||||
@@ -435,18 +435,20 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Println("**STARTUP PROTOCOL**: You are a polecat. Please:")
|
||||
fmt.Printf("1. Announce: \"%s Polecat %s, checking in.\"\n", ctx.Rig, ctx.Polecat)
|
||||
fmt.Println("2. Check mail: `gt mail inbox`")
|
||||
fmt.Println("3. If assigned work, begin immediately")
|
||||
fmt.Println("4. If no work, announce ready and await assignment")
|
||||
fmt.Println("3. If there's a 🤝 HANDOFF message, read it for context")
|
||||
fmt.Println("4. Check for attached work: `gt mol status`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (you were spawned with this work)")
|
||||
fmt.Println(" - If no mol → ERROR: polecats must have work attached; escalate to Witness")
|
||||
case RoleRefinery:
|
||||
fmt.Println()
|
||||
fmt.Println("---")
|
||||
fmt.Println()
|
||||
fmt.Println("**STARTUP PROTOCOL**: You are the Refinery. Please:")
|
||||
fmt.Println("1. Announce: \"Refinery, checking in.\"")
|
||||
fmt.Println("2. Check mail: `gt mail inbox`")
|
||||
fmt.Printf("3. Check merge queue: `gt refinery queue %s`\n", ctx.Rig)
|
||||
fmt.Println("4. If MRs pending, process them one at a time")
|
||||
fmt.Println("5. If no work, monitor for new MRs periodically")
|
||||
fmt.Println("2. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("3. Check for attached patrol: `gt mol status`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
|
||||
fmt.Println(" - If no mol → spawn patrol: `bd mol spawn mol-refinery-patrol`")
|
||||
case RoleCrew:
|
||||
fmt.Println()
|
||||
fmt.Println("---")
|
||||
@@ -465,13 +467,10 @@ func outputStartupDirective(ctx RoleContext) {
|
||||
fmt.Println("**STARTUP PROTOCOL**: You are the Deacon. Please:")
|
||||
fmt.Println("1. Announce: \"Deacon, checking in.\"")
|
||||
fmt.Println("2. Signal awake: `gt deacon heartbeat \"starting patrol\"`")
|
||||
fmt.Println("3. cd to rig: `cd gastown/mayor/rig`")
|
||||
fmt.Println("4. Check Patrol Status above - if attached, resume from current step")
|
||||
fmt.Println("5. If naked, start wisp patrol:")
|
||||
fmt.Println(" - Find proto ID: `bd mol list` (look for mol-deacon-patrol)")
|
||||
fmt.Println(" - Spawn: `bd --no-daemon mol spawn <proto-id>`")
|
||||
fmt.Println("6. Execute patrol steps until loop-or-exit")
|
||||
fmt.Println("7. At cycle end: `bd --no-daemon mol squash <mol-id> --summary \"<cycle summary>\"`")
|
||||
fmt.Println("3. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
|
||||
fmt.Println("4. Check for attached patrol: `gt mol status`")
|
||||
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
|
||||
fmt.Println(" - If no mol → spawn patrol: `bd mol spawn mol-deacon-patrol`")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user