diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 4691c021..0adc82dc 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -182,6 +182,7 @@ {"id":"gt-3ns5","title":"Polecat template: clarify work status commands (bd list vs gt mol status)","description":"Template shows 'bd list --status=in_progress' for checking work, but polecats should probably use 'gt mol status' instead (or in addition). Clarify the right approach for polecats to check their current work assignment.","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-23T16:56:46.909036-08:00","updated_at":"2025-12-27T21:29:55.93508-08:00","dependencies":[{"issue_id":"gt-3ns5","depends_on_id":"gt-t9u7","type":"parent-child","created_at":"2025-12-23T16:57:16.371341-08:00","created_by":"daemon"}],"deleted_at":"2025-12-27T21:29:55.93508-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-3oyn","title":"Blocked issues: gt-um6q, gt-lz13, gt-5xph depend on missing beads features","description":"Template/docs updates blocked on: bd-nurq (bd mol current), bd-29fb (bd close --continue). These gastown issues should be marked blocked on the beads issues once cross-rig deps work.","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-23T00:19:12.532683-08:00","updated_at":"2025-12-23T00:19:12.532683-08:00"} {"id":"gt-3p77","title":"Implement gt watch command scaffold","description":"Basic bubbletea TUI scaffold for 'gt watch' command. Discovers rigs, connects to daemons, renders placeholder view. Foundation for the full activity feed TUI.","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-23T16:27:09.800586-08:00","updated_at":"2025-12-23T16:27:09.800586-08:00","dependencies":[{"issue_id":"gt-3p77","depends_on_id":"gt-rivr","type":"parent-child","created_at":"2025-12-23T16:28:30.683781-08:00","created_by":"daemon"}]} +{"id":"gt-3pm0f","title":"gt feed: Activity feed command with tmux-aware modes","description":"## Context\n\n`bd activity` exists and works well for streaming beads mutation events. However:\n- It's not discoverable via `gt` (the agent coordination CLI)\n- No tmux-aware behavior for when Gas Town is running in tmux\n- The planned TUI (gt-rivr) was tombstoned - need a simpler approach\n\n## Requirements\n\n### Without tmux (standalone mode)\n- `gt feed` streams activity to stdout (like `bd activity --follow`)\n- Supports filtering by rig, time window, event type\n- Works in any terminal\n\n### With tmux (integrated mode)\n- Could open/attach to a dedicated activity pane\n- Or provide a way to send feed to a specific pane\n- Integrate with existing gt tmux session management\n\n## Design Questions\n\n1. **Command name**: `gt feed` vs `gt activity` vs `gt watch`?\n2. **Tmux integration**: Dedicated pane? Split? Popup?\n3. **Cross-rig aggregation**: Merge events from multiple rig daemons?\n4. **Filtering UX**: By rig, by molecule, by event type?\n\n## Implementation Options\n\n**Phase 1: Simple wrapper**\n- `gt feed` shells out to `bd activity --follow`\n- Add `--rig` flag for filtering\n- Works identically with/without tmux\n\n**Phase 2: Tmux-aware**\n- Detect if running in gt tmux session\n- Offer to open in dedicated pane\n- `gt feed --pane` to force pane mode\n\n**Phase 3: Cross-rig** (if needed)\n- Aggregate from multiple rig daemons\n- Unified activity stream across town\n\n## Related\n\n- gt-rivr (tombstoned) - Original TUI epic\n- gt-22ng - Activity aggregator (blocked)\n- bd activity command - The underlying implementation\n","status":"open","priority":2,"issue_type":"feature","created_at":"2025-12-28T09:34:48.026886-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-28T09:34:48.026886-08:00","dependencies":[{"issue_id":"gt-3pm0f","depends_on_id":"gt-rivr","type":"relates-to","created_at":"2025-12-28T09:34:57.508913-08:00","created_by":"daemon"}]} {"id":"gt-3pp","title":"Support numeric shortcuts in mail read (e.g., 'mail read 1')","description":"When inbox shows numbered messages like:\n* 1. gm-19b29031... 2025-12-16 mayor Subject...\n* 2. gm-19b26d51... 2025-12-16 Subject...\n\nUsers should be able to run 'gt mail read 1' instead of needing the full message ID 'gt mail read gm-19b29031f6a172206'.\n\nImplementation:\n- Track inbox message order in display\n- Map numeric indices to actual message IDs\n- Accept both numeric shortcuts and full IDs in 'mail read' command","status":"tombstone","priority":2,"issue_type":"feature","created_at":"2025-12-16T13:15:07.857939-08:00","updated_at":"2025-12-27T21:29:57.313593-08:00","deleted_at":"2025-12-27T21:29:57.313593-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"feature"} {"id":"gt-3rquk","title":"Day 3.0: Document mail protocol contracts","description":"Document the formal mail protocol for Gas Town agent coordination.\n\nMail Types:\n\n**POLECAT_DONE** (polecat → witness)\n```\nSubject: POLECAT_DONE: \u003cname\u003e\nBody: {\"issue\": \"gt-xyz\", \"status\": \"complete|failed\", \"notes\": \"...\"}\n```\n\n**MERGE_READY** (witness → refinery)\n```\nSubject: MERGE_READY: \u003cbranch\u003e\nBody: {\"worker\": \"nux\", \"issue\": \"gt-xyz\", \"branch\": \"polecat/nux/gt-xyz\"}\n```\n\n**MERGED** (refinery → witness)\n```\nSubject: MERGED: \u003cbranch\u003e\nBody: {\"issue\": \"gt-xyz\", \"sha\": \"abc123\", \"worker\": \"nux\"}\n```\n\n**LIFECYCLE:Shutdown/Cycle/Restart** (agent → deacon/)\n```\nSubject: LIFECYCLE:Shutdown\nBody: {\"action\": \"shutdown\"}\n```\n\n**HELP** (polecat → witness → mayor)\n```\nSubject: HELP: \u003cbrief\u003e\nBody: {\"issue\": \"gt-xyz\", \"problem\": \"...\", \"context\": \"...\"}\n```\n\nCreate: docs/mail-protocol.md","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-27T22:02:11.619888-08:00","created_by":"mayor","updated_at":"2025-12-27T23:18:47.276607-08:00","closed_at":"2025-12-27T23:18:47.276607-08:00","close_reason":"Duplicate of P1 beads gt-5v8ls and gt-k294l","dependencies":[{"issue_id":"gt-3rquk","depends_on_id":"gt-qpoxz","type":"blocks","created_at":"2025-12-27T22:02:45.294244-08:00","created_by":"daemon"}]} {"id":"gt-3s8q1","title":"Digest: mol-deacon-patrol","description":"Patrol 4: all healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T06:08:28.24547-08:00","updated_at":"2025-12-28T06:08:28.24547-08:00","closed_at":"2025-12-28T06:08:28.245435-08:00","dependencies":[{"issue_id":"gt-3s8q1","depends_on_id":"gt-eph-yrd","type":"parent-child","created_at":"2025-12-28T06:08:28.24633-08:00","created_by":"deacon"}]} @@ -1683,7 +1684,7 @@ {"id":"gt-rgd9x.4","title":"Clean up hook-related gitignore and live files","description":"- Remove hook-*.json from .beads/.gitignore\n- Delete /Users/stevey/gt/deacon/.beads/hook-deacon.json\n- Convert gt-wisp-0gu to pinned bead if needed","status":"tombstone","priority":1,"issue_type":"task","created_at":"2025-12-26T16:13:29.60532-08:00","updated_at":"2025-12-27T21:29:45.823418-08:00","dependencies":[{"issue_id":"gt-rgd9x.4","depends_on_id":"gt-rgd9x","type":"parent-child","created_at":"2025-12-26T16:13:29.605807-08:00","created_by":"daemon"}],"deleted_at":"2025-12-27T21:29:45.823418-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-rgd9x.5","title":"Update all documentation to remove hook references","description":"14 docs reference hooks:\n- docs/architecture.md\n- docs/beads-data-plane.md\n- docs/molecular-chemistry.md\n- docs/molecules.md\n- docs/pinned-beads-design.md\n- docs/polecat-lifecycle.md\n- docs/polecat-wisp-architecture.md\n- docs/propulsion-principle.md\n- docs/session-lifecycle.md\n- docs/sling-design.md\n- docs/vision.md\n- docs/wisp-architecture.md\n- docs/witness-patrol-design.md\n- ~/gt/CLAUDE.md\n\nUpdate all to reflect pinned beads as the sole propulsion mechanism.","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T16:13:30.654895-08:00","updated_at":"2025-12-27T21:29:54.825636-08:00","dependencies":[{"issue_id":"gt-rgd9x.5","depends_on_id":"gt-rgd9x","type":"parent-child","created_at":"2025-12-26T16:13:30.658462-08:00","created_by":"daemon"}],"deleted_at":"2025-12-27T21:29:54.825636-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-rhfji","title":"gt up: set BD_ACTOR env var when spawning agents","description":"When gt spawns agents (polecats, crew, patrol roles), it should set BD_ACTOR env var so that bd commands (like `bd hook`) know the agent identity.\n\nCurrently gt sets GT_ROLE but bd can't check that (no coupling to gt). bd already checks BD_ACTOR, so gt just needs to set it.\n\nPlaces to update:\n- `gt up` for polecats/crew\n- Deacon, Witness, Refinery spawning\n- Any other agent spawn points\n\nRelated: closed bd-fej5 in beads repo as obsolete (fix belongs here).","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T12:41:21.092758-08:00","updated_at":"2025-12-27T21:29:55.223663-08:00","deleted_at":"2025-12-27T21:29:55.223663-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} -{"id":"gt-rivr","title":"Activity Feed TUI","description":"Terminal UI for browsing Gas Town activity. Shows hierarchical view of rigs, workers, and their current state. Features: live updates, expandable details, molecule progress (step X of Y). Built with bubbletea/lipgloss. Design doc: history/activity-feed-tui-design.md","status":"tombstone","priority":1,"issue_type":"epic","created_at":"2025-12-23T16:26:45.667677-08:00","updated_at":"2025-12-27T21:29:52.948339-08:00","deleted_at":"2025-12-27T21:29:52.948339-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"epic"} +{"id":"gt-rivr","title":"Activity Feed TUI","description":"Terminal UI for browsing Gas Town activity. Shows hierarchical view of rigs, workers, and their current state. Features: live updates, expandable details, molecule progress (step X of Y). Built with bubbletea/lipgloss. Design doc: history/activity-feed-tui-design.md","status":"tombstone","priority":1,"issue_type":"epic","created_at":"2025-12-23T16:26:45.667677-08:00","updated_at":"2025-12-27T21:29:52.948339-08:00","dependencies":[{"issue_id":"gt-rivr","depends_on_id":"gt-3pm0f","type":"relates-to","created_at":"2025-12-28T09:34:57.509657-08:00","created_by":"daemon"}],"deleted_at":"2025-12-27T21:29:52.948339-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"epic"} {"id":"gt-rixa","title":"Bug: parseLifecycleRequest always matches 'cycle' due to LIFECYCLE prefix","description":"In lifecycle.go, parseLifecycleRequest checks strings.Contains(title, \"cycle\") first, but the prefix \"LIFECYCLE:\" contains the word \"cycle\". This means ALL lifecycle messages match the cycle action, making restart and shutdown unreachable. Fix: check for restart/shutdown before cycle, or use word boundaries.","status":"tombstone","priority":2,"issue_type":"bug","created_at":"2025-12-19T16:17:16.083512-08:00","updated_at":"2025-12-27T21:29:56.958825-08:00","deleted_at":"2025-12-27T21:29:56.958825-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"bug"} {"id":"gt-rm3","title":"CLI: gt refinery commands (start, stop, status, queue)","description":"CLI commands for managing the Refinery agent.\n\n## Commands\n\n```bash\ngt refinery start \u003crig\u003e # Start refinery for a rig\ngt refinery stop \u003crig\u003e # Stop refinery\ngt refinery status \u003crig\u003e # Show refinery status\ngt refinery queue \u003crig\u003e # Show merge queue\n```\n\n## gt refinery start\n\nStarts the Refinery daemon for the specified rig.\n\nOptions:\n- --foreground: Run in foreground (default: background)\n- --auto-merge: Enable auto-merge (default: from config)\n\n## gt refinery stop\n\nStops a running Refinery. Gracefully finishes current MR if processing.\n\n## gt refinery status\n\nShows:\n- Running state (running/stopped)\n- Current MR being processed (if any)\n- Queue length\n- Last merge time\n- Recent activity\n\n## gt refinery queue\n\nShows the merge queue:\n```\nMerge queue for 'wyvern':\n 1. [pending] Toast/polecat-auth-fix (15m ago)\n 2. [pending] Capable/polecat-new-feature (5m ago)\n \n1 merged today, 0 rejected\n```\n\n## Implementation\n\nUses gt-ov2 (Refinery agent) for daemon functionality.","status":"tombstone","priority":0,"issue_type":"task","created_at":"2025-12-15T23:22:24.754361-08:00","updated_at":"2025-12-25T01:30:41.67682-08:00","dependencies":[{"issue_id":"gt-rm3","depends_on_id":"gt-ov2","type":"blocks","created_at":"2025-12-15T23:22:30.679909-08:00","created_by":"daemon"}],"deleted_at":"2025-12-25T01:30:41.67682-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"task"} {"id":"gt-ro5hc","title":"Digest: mol-deacon-patrol","description":"Patrol 20: all healthy","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T22:02:56.374874-08:00","updated_at":"2025-12-27T21:26:00.448545-08:00","deleted_at":"2025-12-27T21:26:00.448545-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}