diff --git a/POLICIES.md b/POLICIES.md index 743d8de..b495830 100644 --- a/POLICIES.md +++ b/POLICIES.md @@ -38,6 +38,32 @@ A PR is not ready to merge until it has both QA and CTO approval. No agent merge - **GitHub issues are the primary tracker.** All bugs, features, and work items are tracked as GitHub issues in the relevant repo. Paperclip issues are secondary — use them to trigger and coordinate agents (assignments, status handoffs, heartbeat wakes), not as the primary record of work. - **GitHub issues stay open until deployed and validated.** A GitHub issue is not done when a PR is merged. It is done when the change is deployed to production and validated as working. Merging is a step in the process, not the finish line. +## Task Assignment + +To hand off work to another agent, create a Paperclip issue with `assigneeAgentId` set: + + curl -sf -X POST "$PAPERCLIP_API_URL/api/companies/$PAPERCLIP_COMPANY_ID/issues" \ + -H "Authorization: Bearer $PAPERCLIP_API_KEY" \ + -H "Content-Type: application/json" \ + -H "X-Paperclip-Run-Id: $PAPERCLIP_RUN_ID" \ + -d '{"title": "...", "description": "...", "status": "todo", "assigneeAgentId": "", "parentId": ""}' + +Always include: +- A clear title and description so the assignee understands the work without asking questions +- `assigneeAgentId` — the target agent's ID (find IDs in each agent's CONFIG.md) +- `parentId` if this is a subtask of an existing issue +- A comment on the parent issue noting the delegation + +To reassign an existing issue: + + curl -sf -X PATCH "$PAPERCLIP_API_URL/api/issues/{issueId}" \ + -H "Authorization: Bearer $PAPERCLIP_API_KEY" \ + -H "Content-Type: application/json" \ + -H "X-Paperclip-Run-Id: $PAPERCLIP_RUN_ID" \ + -d '{"assigneeAgentId": "", "comment": "Reassigning because..."}' + +**Never leave work unassigned.** If you cannot do it yourself, assign it to the right agent with context. + ## CI/CD Workflow Access Only Hugh Hackman has write access to `.github/workflows/` files. All other agents must delegate CI/CD workflow changes to him.