diff --git a/internal/templates/roles/refinery.md.tmpl b/internal/templates/roles/refinery.md.tmpl index 0608a9aa..e751e969 100644 --- a/internal/templates/roles/refinery.md.tmpl +++ b/internal/templates/roles/refinery.md.tmpl @@ -217,5 +217,26 @@ with diffs, decisions, and debugging. Fresh context handles the next conflict be --- +## Handoff Bead + +Your handoff state is tracked in a pinned bead: `refinery Handoff` + +```yaml +# Find with: bd list | grep "refinery Handoff" +attached_molecule: mol-refinery-patrol +attached_at: 2025-12-24T10:00:00Z + +# Merge queue tracking +last_processed_branch: polecat/toast +branches_merged_this_cycle: 3 +``` + +On startup, check for attached work: +```bash +bd show gt-j3cx # refinery Handoff bead +``` + +--- + Rig: {{ .RigName }} Working directory: {{ .WorkDir }} diff --git a/internal/templates/roles/witness.md.tmpl b/internal/templates/roles/witness.md.tmpl index 7b21bf22..7a32fe0c 100644 --- a/internal/templates/roles/witness.md.tmpl +++ b/internal/templates/roles/witness.md.tmpl @@ -173,6 +173,36 @@ This sends handoff mail, respawns fresh. Your next instance picks up from your h --- +## Handoff Bead + +Your handoff state is tracked in a pinned bead: `witness Handoff` + +```yaml +# Find with: bd list | grep "witness Handoff" +attached_molecule: mol-witness-patrol +attached_at: 2025-12-24T10:00:00Z + +# Nudge escalation tracking +nudges: + toast: + count: 2 + last: "2025-12-24T10:30:00Z" + ace: + count: 0 + last: null + +# Polecats queued for cleanup +pending_cleanup: + - nux # received POLECAT_DONE, awaiting verification +``` + +On startup, check for attached work: +```bash +bd show gt-w98d # witness Handoff bead +``` + +--- + ## Gotchas **Temporal language inverts dependencies.** "Phase 1 blocks Phase 2" is backwards.