diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 98d6f000..be581a16 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -47,7 +47,7 @@ {"id":"gt-0ua3f","title":"Merge: capable-1767079826600","description":"branch: polecat/capable-1767079826600\ntarget: main\nsource_issue: capable-1767079826600\nrig: gastown","status":"closed","priority":2,"issue_type":"merge-request","created_at":"2025-12-29T23:37:39.344583-08:00","created_by":"gastown/polecats/capable","updated_at":"2025-12-29T23:43:15.624256-08:00","closed_at":"2025-12-29T23:43:15.624256-08:00","close_reason":"Merged to main (f9e82098)"} {"id":"gt-0vu9e","title":"Add unit tests for internal/mrqueue package","description":"attached_args: mrqueue package tests\n\nAdd comprehensive tests for the merge request queue package.\n\n## Files to create\n- internal/mrqueue/mrqueue_test.go\n\n## Test cases to cover\n1. NewQueue creates queue directory\n2. Add() persists MR to queue\n3. Get() retrieves MR by ID\n4. List() returns all MRs\n5. Remove() deletes MR\n6. MR serialization/deserialization\n7. Queue handles concurrent access\n\n## Acceptance criteria\n- [ ] internal/mrqueue/mrqueue_test.go created\n- [ ] At least 6 test functions\n- [ ] Tests pass: go test ./internal/mrqueue/...\n- [ ] Coverage \u003e 70%","status":"hooked","priority":2,"issue_type":"task","created_at":"2025-12-28T15:49:12.750237-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-28T15:57:05.876953-08:00"} {"id":"gt-0wpnf","title":"Digest: mol-deacon-patrol","description":"Patrol 17: all healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T15:56:45.271323-08:00","updated_at":"2025-12-28T15:56:45.271323-08:00","closed_at":"2025-12-28T15:56:45.271291-08:00"} -{"id":"gt-0x5og","title":"Dogs: Deacon's Helper Workers","description":"## Overview\n\nDogs are reusable workers managed by the Deacon for infrastructure and cleanup tasks.\nThey parallel how Polecats serve the Witness, but at town level with cross-rig scope.\n\n## Key Concepts\n\n- **Dogs**: Deacon-managed, reusable, infrastructure/cleanup tasks\n- **Kennel**: Where dogs live (`deacon/dogs/`)\n- **Multi-rig worktrees**: Dogs have worktrees into multiple rigs for cross-rig work\n\n## Cats vs Dogs\n\n| Aspect | Polecats | Dogs |\n|--------|----------|------|\n| Manager | Witness | Deacon |\n| Scope | Per-rig | Town (cross-rig) |\n| Lifecycle | Ephemeral | Reusable |\n| Work | Features | Infrastructure |\n| Location | `\u003crig\u003e/polecats/` | `deacon/dogs/` |\n\n## Implementation\n\n### Phase 1: Dog Infrastructure\n- `gt dog add/remove/list/call/status` commands\n- Kennel directory structure (`~/gt/deacon/dogs/`)\n- Multi-rig worktree creation\n- Dog state tracking\n\n### Phase 2: Deacon Dispatch\n- Sling support for `deacon/dogs` target\n- Pool management (spawn/retire logic)\n- Completion mail handling\n\n### Phase 3: Infrastructure Formulas\n- mol-convoy-cleanup\n- mol-dep-propagate\n- mol-digest-generate\n\n### Phase 4: Deacon Refactor\n- Patrol becomes detect → dispatch\n- Heavy work moves to dog slings\n\n## Reference\n\n- docs/patrol-system-design.md#dogs-deacons-helper-workers\n- docs/PRIMING.md (Role Taxonomy)","status":"closed","priority":2,"issue_type":"epic","created_at":"2025-12-29T19:34:00.808508-08:00","created_by":"mayor","updated_at":"2025-12-30T11:01:08.625414-08:00","closed_at":"2025-12-30T11:01:08.625414-08:00","close_reason":"All dog infrastructure complete: CLI, sling support, patrol refactor, formulas"} +{"id":"gt-0x5og","title":"Dogs: Deacon's Helper Workers","description":"## Overview\n\nDogs are reusable workers managed by the Deacon for infrastructure and cleanup tasks.\nThey parallel how Polecats serve the Witness, but at town level with cross-rig scope.\n\n## Key Concepts\n\n- **Dogs**: Deacon-managed, reusable, infrastructure/cleanup tasks\n- **Kennel**: Where dogs live (`deacon/dogs/`)\n- **Multi-rig worktrees**: Dogs have worktrees into multiple rigs for cross-rig work\n\n## Cats vs Dogs\n\n| Aspect | Polecats | Dogs |\n|--------|----------|------|\n| Manager | Witness | Deacon |\n| Scope | Per-rig | Town (cross-rig) |\n| Lifecycle | Ephemeral | Reusable |\n| Work | Features | Infrastructure |\n| Location | `\u003crig\u003e/polecats/` | `deacon/dogs/` |\n\n## Implementation\n\n### Phase 1: Dog Infrastructure\n- `gt dog add/remove/list/call/status` commands\n- Kennel directory structure (`~/gt/deacon/dogs/`)\n- Multi-rig worktree creation\n- Dog state tracking\n\n### Phase 2: Deacon Dispatch\n- Sling support for `deacon/dogs` target\n- Pool management (spawn/retire logic)\n- Completion mail handling\n\n### Phase 3: Infrastructure Formulas\n- mol-convoy-cleanup\n- mol-dep-propagate\n- mol-digest-generate\n\n### Phase 4: Deacon Refactor\n- Patrol becomes detect → dispatch\n- Heavy work moves to dog slings\n\n## Reference\n\n- docs/patrol-system-design.md#dogs-deacons-helper-workers\n- docs/PRIMING.md (Role Taxonomy)","status":"closed","priority":2,"issue_type":"epic","created_at":"2025-12-29T19:34:00.808508-08:00","created_by":"mayor","updated_at":"2025-12-30T13:30:03.009683-08:00","closed_at":"2025-12-30T13:30:03.009683-08:00","close_reason":"All children complete"} {"id":"gt-0x5og.1","title":"gt dog add/remove/list/call/status CLI","description":"Dog management commands:\n- gt dog add \u003cname\u003e - Create dog in kennel with multi-rig worktrees\n- gt dog remove \u003cname\u003e - Retire dog, cleanup worktrees\n- gt dog list - Show the pack (all dogs with status)\n- gt dog call [name] - Wake idle dog(s)\n- gt dog status [name] - Show detailed dog state","status":"closed","priority":2,"issue_type":"task","assignee":"gastown/polecats/furiosa","created_at":"2025-12-29T19:34:24.005184-08:00","created_by":"mayor","updated_at":"2025-12-30T10:41:57.247255-08:00","closed_at":"2025-12-30T10:41:57.247255-08:00","close_reason":"Implemented all gt dog CLI commands: add, remove, list, call, status","dependencies":[{"issue_id":"gt-0x5og.1","depends_on_id":"gt-0x5og","type":"parent-child","created_at":"2025-12-29T19:34:24.005762-08:00","created_by":"daemon"},{"issue_id":"gt-0x5og.1","depends_on_id":"gt-0x5og.2","type":"blocks","created_at":"2025-12-29T19:34:37.683244-08:00","created_by":"daemon"}]} {"id":"gt-0x5og.2","title":"Kennel directory structure and multi-rig worktrees","description":"Create kennel infrastructure:\n- ~/gt/deacon/dogs/\u003cname\u003e/ directory\n- Worktrees into each rig (gastown, beads, etc.)\n- .dog.json state file (idle/working, last-active, assigned-work)\n- Worktree refresh/cleanup logic","status":"closed","priority":2,"issue_type":"task","assignee":"gastown/polecats/ace","created_at":"2025-12-29T19:34:25.403417-08:00","created_by":"mayor","updated_at":"2025-12-30T10:35:43.182328-08:00","closed_at":"2025-12-30T10:35:43.182328-08:00","close_reason":"Implemented internal/dog package with Manager, Dog struct, .dog.json schema, multi-rig worktrees, and refresh/cleanup logic","dependencies":[{"issue_id":"gt-0x5og.2","depends_on_id":"gt-0x5og","type":"parent-child","created_at":"2025-12-29T19:34:25.403973-08:00","created_by":"daemon"}]} {"id":"gt-0x5og.3","title":"gt sling support for deacon/dogs target","description":"Extend gt sling to support dog targets:\n- gt sling \u003cwork\u003e deacon/dogs - Auto-dispatch to idle dog\n- gt sling \u003cwork\u003e deacon/dogs/alpha - Specific dog\n- Dog pool management (spawn if needed, up to max)\n- Completion mail handling","status":"closed","priority":2,"issue_type":"task","assignee":"gastown/polecats/furiosa","created_at":"2025-12-29T19:34:26.93247-08:00","created_by":"mayor","updated_at":"2025-12-30T10:52:44.645382-08:00","closed_at":"2025-12-30T10:52:44.645382-08:00","close_reason":"Implemented: gt sling deacon/dogs and deacon/dogs/\u003cname\u003e targets with pool management","dependencies":[{"issue_id":"gt-0x5og.3","depends_on_id":"gt-0x5og","type":"parent-child","created_at":"2025-12-29T19:34:26.933063-08:00","created_by":"daemon"},{"issue_id":"gt-0x5og.3","depends_on_id":"gt-0x5og.1","type":"blocks","created_at":"2025-12-29T19:34:37.730391-08:00","created_by":"daemon"}]}