{
  "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,
  "vars": {
    "polecat": {
      "required": true,
      "description": "Name of the polecat"
    },
    "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."
    }
  ]
}
