37 lines
1.8 KiB
JSON
37 lines
1.8 KiB
JSON
{
|
|
"formula": "mol-polecat-lease",
|
|
"description": "Semaphore tracking a single polecat's lifecycle.\n\nUsed by Witness to track polecat lifecycle during patrol. The Witness bonds this proto for each active polecat, creating a lease that tracks the polecat from spawn through work to cleanup.\n\n## Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| polecat | Yes | Name of the polecat |\n| issue | Yes | The issue assigned to the polecat |",
|
|
"version": 1,
|
|
"variables": [
|
|
{
|
|
"name": "polecat",
|
|
"required": true,
|
|
"description": "Name of the polecat"
|
|
},
|
|
{
|
|
"name": "issue",
|
|
"required": true,
|
|
"description": "The issue assigned to the polecat"
|
|
}
|
|
],
|
|
"steps": [
|
|
{
|
|
"id": "boot",
|
|
"title": "Boot",
|
|
"description": "Spawned. Verify it starts working.\n\nCheck if the polecat is alive and working:\n```bash\ngt peek {{polecat}}\n```\n\nIf idle for too long, nudge:\n```bash\ngt nudge {{polecat}} \"Please start working on your assigned issue.\"\n```\n\nTimeout: 60s before escalation to Mayor."
|
|
},
|
|
{
|
|
"id": "working",
|
|
"title": "Working",
|
|
"needs": ["boot"],
|
|
"description": "Actively working. Monitor for stuck.\n\nThe polecat is processing its assigned issue ({{issue}}).\nMonitor via peek. Watch for:\n- Progress on commits\n- Status updates in beads\n- SHUTDOWN mail when done\n\nWait for SHUTDOWN signal from the polecat."
|
|
},
|
|
{
|
|
"id": "done",
|
|
"title": "Done",
|
|
"needs": ["working"],
|
|
"description": "Exit received. Ready for cleanup.\n\nThe polecat has completed its work and sent SHUTDOWN.\nPerform cleanup:\n```bash\ngt session kill {{polecat}}\ngt worktree prune {{polecat}}\n```\n\nUpdate beads state and close the lease."
|
|
}
|
|
]
|
|
}
|