diff --git a/.beads/issues.jsonl b/.beads/issues.jsonl index 795e6466..94c9ae46 100644 --- a/.beads/issues.jsonl +++ b/.beads/issues.jsonl @@ -830,7 +830,7 @@ {"id":"gt-cr9","title":"Harness Design \u0026 Documentation","description":"The harness (Gas Town installation directory) needs design cleanup, documentation, and tooling.\n\n## Current Problems\n\n1. **Shared harness confusion**: ~/ai is shared by PGT and GGT with overlapping structures\n - PGT uses ~/ai/mayor/ as town-level Mayor home\n - GGT Mayor works in ~/ai/mayor/rigs/gastown/\n - ~/ai/gastown/ has both .gastown/ (PGT) and mayor/ (git clone)\n\n2. **Beads redirect**: ~/ai/.beads/redirect → mayor/rigs/gastown/.beads\n - This is specific to GGT's decentralized structure\n - Should be documented as an example\n\n3. **architecture.md**: Verify rig-level mayor/rig/ is shown correctly\n\n4. **No harness creation tooling**: Users must manually set up\n\n## Proposed Work\n\n- Document what a harness IS (installation directory)\n- Create harness creation command or template repo\n- Update architecture.md if needed \n- Create example harness configuration for docs\n- Resolve PGT/GGT sharing issue","status":"tombstone","priority":1,"issue_type":"epic","created_at":"2025-12-17T17:15:08.769961-08:00","updated_at":"2025-12-27T21:29:54.253374-08:00","deleted_at":"2025-12-27T21:29:54.253374-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"epic"} {"id":"gt-crew-gastown-jack","title":"Crew worker jack in gastown - human-managed persistent workspace.","description":"Crew worker jack in gastown - human-managed persistent workspace.\n\nrole_type: crew\nrig: gastown\nagent_state: running\nhook_bead: null\nrole_bead: gt-crew-gastown-jack-role","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T10:06:26.487688-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-28T16:39:30.298276-08:00"} {"id":"gt-crew-gastown-joe","title":"gt-crew-gastown-joe","description":"gt-crew-gastown-joe\n\nrole_type: \nrig: null\nagent_state: running\nhook_bead: null\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T10:04:05.03443-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-28T15:34:10.235889-08:00"} -{"id":"gt-crew-gastown-max","title":"gt-crew-gastown-max","description":"gt-crew-gastown-max\n\nrole_type: crew\nrig: gastown\nagent_state: running\nhook_bead: null\nrole_bead: gt-crew-gastown-max-role","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T09:51:58.720059-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-28T16:03:39.497569-08:00"} +{"id":"gt-crew-gastown-max","title":"gt-crew-gastown-max","description":"gt-crew-gastown-max\n\nrole_type: crew\nrig: gastown\nagent_state: running\nhook_bead: null\nrole_bead: gt-crew-gastown-max-role","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T09:51:58.720059-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-28T19:05:27.627858-08:00"} {"id":"gt-crh3q","title":"Digest: mol-deacon-patrol","description":"Patrol 1: all agents healthy, no callbacks, clone divergence detected (zoey 52 behind)","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T01:26:07.334875-08:00","updated_at":"2025-12-28T01:26:07.334875-08:00","closed_at":"2025-12-28T01:26:07.334841-08:00","close_reason":"Squashed from 9 wisps"} {"id":"gt-csba","title":"Digest: mol-deacon-patrol","description":"Patrol 20: Routine - handoff threshold reached","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-24T22:39:00.441055-08:00","updated_at":"2025-12-27T21:26:04.515663-08:00","deleted_at":"2025-12-27T21:26:04.515663-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-csmlp","title":"Digest: mol-deacon-patrol","description":"Patrol 6: routine","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-26T18:40:07.959422-08:00","updated_at":"2025-12-26T18:40:07.959422-08:00","closed_at":"2025-12-26T18:40:07.959369-08:00"} @@ -935,7 +935,7 @@ {"id":"gt-eph-6e6","title":"Clean dead sessions","description":"Clean dead sessions and orphaned state.\n\nRun `gt doctor --fix` to handle all cleanup:\n\n```bash\n# Preview what needs cleaning\ngt doctor -v\n\n# Fix everything\ngt doctor --fix\n```\n\nThis handles:\n- **orphan-sessions**: Kill orphaned tmux sessions (gt-* not matching valid patterns)\n- **orphan-processes**: Kill orphaned Claude processes (no tmux parent)\n- **wisp-gc**: Garbage collect abandoned wisps (\u003e1h old)\n\nAll cleanup is handled by doctor checks - no need to run separate commands.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T09:54:49.167138-08:00","updated_at":"2025-12-28T09:55:21.147217-08:00","closed_at":"2025-12-28T09:55:21.147217-08:00","dependencies":[{"issue_id":"gt-eph-6e6","depends_on_id":"gt-eph-o04","type":"blocks","created_at":"2025-12-28T09:54:49.274053-08:00","created_by":"deacon"}]} {"id":"gt-eph-abd","title":"mol-deacon-patrol","description":"Mayor's daemon patrol loop.\n\nThe Deacon is the Mayor's background process that runs continuously, handling callbacks, monitoring rig health, and performing cleanup. Each patrol cycle runs these steps in sequence, then loops or exits.\n\n## Second-Order Monitoring\n\nWitnesses send WITNESS_PING messages to verify the Deacon is alive. This\nprevents the \"who watches the watchers\" problem - if the Deacon dies,\nWitnesses detect it and escalate to the Mayor.\n\nThe Deacon's agent bead last_activity timestamp is updated during each patrol\ncycle. Witnesses check this timestamp to verify health.","status":"open","priority":2,"issue_type":"epic","created_at":"2025-12-28T11:20:32.393436-08:00","updated_at":"2025-12-28T11:20:32.393436-08:00"} {"id":"gt-eph-cfu","title":"Check own context limit","description":"Check own context limit.\n\nThe Deacon runs in a Claude session with finite context. Check if approaching the limit:\n\n```bash\ngt context --usage\n```\n\nIf context is high (\u003e80%), prepare for handoff:\n- Summarize current state\n- Note any pending work\n- Write handoff to molecule state\n\nThis enables the Deacon to burn and respawn cleanly.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T09:53:46.12348-08:00","updated_at":"2025-12-28T09:54:29.071412-08:00","closed_at":"2025-12-28T09:54:29.071412-08:00"} -{"id":"gt-eph-ffb","title":"mol-deacon-patrol","description":"Mayor's daemon patrol loop.\n\nThe Deacon is the Mayor's background process that runs continuously, handling callbacks, monitoring rig health, and performing cleanup. Each patrol cycle runs these steps in sequence, then loops or exits.\n\n## Second-Order Monitoring\n\nWitnesses send WITNESS_PING messages to verify the Deacon is alive. This\nprevents the \"who watches the watchers\" problem - if the Deacon dies,\nWitnesses detect it and escalate to the Mayor.\n\nThe Deacon's agent bead last_activity timestamp is updated during each patrol\ncycle. Witnesses check this timestamp to verify health.","status":"pinned","priority":2,"issue_type":"epic","created_at":"2025-12-28T15:45:23.124624-08:00","updated_at":"2025-12-28T15:45:29.660266-08:00"} +{"id":"gt-eph-ffb","title":"mol-deacon-patrol","description":"Mayor's daemon patrol loop.\n\nThe Deacon is the Mayor's background process that runs continuously, handling callbacks, monitoring rig health, and performing cleanup. Each patrol cycle runs these steps in sequence, then loops or exits.\n\n## Second-Order Monitoring\n\nWitnesses send WITNESS_PING messages to verify the Deacon is alive. This\nprevents the \"who watches the watchers\" problem - if the Deacon dies,\nWitnesses detect it and escalate to the Mayor.\n\nThe Deacon's agent bead last_activity timestamp is updated during each patrol\ncycle. Witnesses check this timestamp to verify health.","status":"pinned","priority":2,"issue_type":"epic","created_at":"2025-12-28T15:45:23.124624-08:00","updated_at":"2025-12-28T18:08:05.156132-08:00"} {"id":"gt-eph-hfj","title":"mol-deacon-patrol","description":"Mayor's daemon patrol loop.\n\nThe Deacon is the Mayor's background process that runs continuously, handling callbacks, monitoring rig health, and performing cleanup. Each patrol cycle runs these steps in sequence, then loops or exits.","status":"open","priority":2,"issue_type":"epic","created_at":"2025-12-28T09:55:41.717288-08:00","updated_at":"2025-12-28T09:55:41.717288-08:00"} {"id":"gt-eqys","title":"gt spawn: pasted work assignment needs manual Enter to start","description":"## Problem\n\nAfter `gt spawn` pastes the work assignment into Claude, the session waits for Enter.\n\n## Current Behavior\n\n1. `gt spawn gastown/Rictus --issue gt-xxx`\n2. Session starts, work is pasted\n3. Claude shows 'Pasted text #1 +53 lines' but doesn't start\n4. Must manually send Enter or attach and press Enter\n\n## Expected\n\nThe spawn should send Enter after pasting to kick off the work.\n\n## Related\n\nSame debounce issue as tmux notifications (gt-vnp9).","status":"tombstone","priority":2,"issue_type":"bug","created_at":"2025-12-18T21:54:14.111101-08:00","updated_at":"2025-12-27T21:29:57.060019-08:00","deleted_at":"2025-12-27T21:29:57.060019-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"bug"} {"id":"gt-er0u","title":"Work on ga-yp3: Polecat inbox system for reliable work as...","description":"Work on ga-yp3: Polecat inbox system for reliable work assignment. This is P1 priority. See bd show ga-yp3 for full design spec.","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-19T21:57:34.473056-08:00","updated_at":"2025-12-27T21:29:56.915155-08:00","deleted_at":"2025-12-27T21:29:56.915155-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} @@ -1059,7 +1059,7 @@ {"id":"gt-glisw","title":"Ephemeral patrol molecules leaking into beads","description":"## Problem\n\nEphemeral patrol orchestration molecules (e.g., mol-deacon-patrol, wisp step issues) keep appearing in bd ready output in gastown beads.\n\nThese are ephemeral/wisp issues that should:\n1. Never be synced to the beads-sync branch\n2. Live only in .beads-wisp/ (ephemeral storage)\n3. Be squashed to digests, not persisted as regular beads\n\n## Examples found\n\n- gt-wisp-6ue: mol-deacon-patrol\n- gt-pacdm: mol-deacon-patrol \n- gt-wisp-mpm: Check own context limit\n- gt-wisp-lkc: Clean dead sessions\n\n## Investigation needed\n\n1. Where are these being created? (gt mol bond? manual bd create?)\n2. Why are they using the gt- prefix instead of staying ephemeral?\n3. Is the wisp storage (.beads-wisp/) being used correctly?\n4. Is bd sync accidentally picking up ephemeral issues?\n\n## Expected behavior\n\nPatrol molecules and their steps should be ephemeral and never appear in bd ready or bd list.\n\nMoved from bd-exy3.","status":"tombstone","priority":1,"issue_type":"bug","assignee":"gastown/crew/joe","created_at":"2025-12-27T19:18:04.448597-08:00","created_by":"beads/crew/dave","updated_at":"2025-12-27T21:29:45.715281-08:00","close_reason":"Fixed: closed historical leaked patrol molecules (gt-k0poi, gt-wisp-oe4). Current wisp system is working correctly - new wisps use gt-eph-* prefix and ephemeral=true.","comments":[{"id":1,"issue_id":"gt-glisw","author":"gastown/crew/joe","text":"## Investigation Results\n\n### Root Cause\nHistorical patrol molecules were created BEFORE the ephemeral/wisp system was properly implemented. These old molecules:\n1. Had `ephemeral=0` (not marked as ephemeral)\n2. Used `gt-` prefix instead of `gt-eph-` prefix\n3. Were exported to JSONL and synced via git\n\n### Current State\nThe wisp system is NOW working correctly:\n- New wisps use `gt-eph-*` prefix\n- Have `ephemeral=1` set in database\n- Are excluded from JSONL export (sync_export.go lines 63-73)\n- Do not appear in `bd ready` or `bd list`\n\n### Actions Taken\n1. Closed leaked patrol molecules: `gt-k0poi`, `gt-wisp-oe4`\n2. Verified the current wisp system creates issues correctly with ephemeral=true\n3. Confirmed export filtering works (tested with `bd mol wisp mol-deacon-patrol`)\n\n### No Code Changes Needed\nThe system is working as designed. This was a historical data issue from before the ephemeral system was fully implemented.","created_at":"2025-12-28T03:27:22Z"}],"deleted_at":"2025-12-27T21:29:45.715281-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"bug"} {"id":"gt-glwd","title":"Test Patrol Parent","description":"[RESURRECTED] This issue was deleted but recreated as a tombstone to preserve hierarchical structure.\n\nOriginal description:\n[RESURRECTED] This issue was deleted but recreated as a tombstone to preserve hierarchical structure.\n\nOriginal description:\nTest parent for Christmas Ornament pattern","status":"tombstone","priority":4,"issue_type":"task","created_at":"2025-12-24T21:50:24.723492-08:00","updated_at":"2025-12-27T21:29:57.800368-08:00","deleted_at":"2025-12-27T21:29:57.800368-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-glzm","title":"Digest: mol-deacon-patrol","description":"Patrol: 4 msgs (2 blocked on bd mol current, 2 handoffs). 11 polecats, 18 sessions. Swarm in progress.","status":"tombstone","priority":4,"issue_type":"task","created_at":"2025-12-23T00:23:09.331459-08:00","updated_at":"2025-12-27T21:26:05.424623-08:00","deleted_at":"2025-12-27T21:26:05.424623-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} -{"id":"gt-gmcfm","title":"Digest: mol-deacon-patrol","description":"Patrol cycle 18: All healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T11:22:49.827708-08:00","updated_at":"2025-12-28T11:22:49.827708-08:00","closed_at":"2025-12-28T11:22:49.827674-08:00","close_reason":"Squashed from 9 wisps","dependencies":[{"issue_id":"gt-gmcfm","depends_on_id":"gt-eph-z5h","type":"parent-child","created_at":"2025-12-28T11:22:49.828535-08:00","created_by":"deacon"}]} +{"id":"gt-gmcfm","title":"Digest: mol-deacon-patrol","description":"Patrol cycle 18: All healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T11:22:49.827708-08:00","updated_at":"2025-12-28T11:22:49.827708-08:00","closed_at":"2025-12-28T11:22:49.827674-08:00","close_reason":"Squashed from 9 wisps"} {"id":"gt-gmqe","title":"Refinery needs branch visibility: Convert to worktree or push branches","description":"The refinery cannot see polecat branches because it is a separate clone, not a worktree.\n\n## Problem\n- Polecats are worktrees of mayor/rig (correct, per gt-4u5z)\n- Refinery is still a separate clone at refinery/rig (not converted)\n- Polecat branches are local to mayor/rig, invisible to refinery\n\n## Decision (2025-12-25)\n**Use a shared bare repo as the single git source of truth.**\n\n```\ngastown/\n├── .repo.git/ ← Bare repo (no working tree, invisible base)\n├── mayor/rig/ ← Worktree (human workspace)\n├── polecats/\n│ └── Toast/ ← Worktree on polecat/Toast\n├── refinery/rig/ ← Worktree on main (can see all branches!)\n└── crew/max/ ← Worktree or separate clone (TBD)\n```\n\n**Why bare repo:**\n- No working directory to accidentally work in\n- Standard git pattern (how servers work)\n- All worktrees share branch visibility\n- Refinery on main can merge polecat branches directly\n\n## Implementation\n1. Create `.repo.git` as bare clone\n2. Convert refinery to worktree of .repo.git on main\n3. Convert polecats to worktrees of .repo.git\n4. Optionally convert mayor/rig (or keep as worktree)\n5. Update gt rig init for new rigs\n6. Write migration for existing rigs\n\n## Evidence\nTracer bullet 2025-12-23: Refinery could not see polecat/tracer until pushed to origin.","status":"tombstone","priority":1,"issue_type":"task","created_at":"2025-12-23T21:58:27.414179-08:00","updated_at":"2025-12-27T21:29:52.812382-08:00","deleted_at":"2025-12-27T21:29:52.812382-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-godo","title":"Digest: mol-deacon-patrol","description":"Patrol 16: OK","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-24T21:01:17.323252-08:00","updated_at":"2025-12-27T21:26:04.894446-08:00","deleted_at":"2025-12-27T21:26:04.894446-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-gox90","title":"Digest: mol-deacon-patrol","description":"Patrol 18: all clear","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T11:06:01.664845-08:00","updated_at":"2025-12-27T21:26:03.356041-08:00","deleted_at":"2025-12-27T21:26:03.356041-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} @@ -1346,7 +1346,7 @@ {"id":"gt-kmv99","title":"Digest: mol-deacon-patrol","description":"Patrol 16: Mayor OK, 11 sessions","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T20:37:32.607007-08:00","updated_at":"2025-12-27T21:26:02.081585-08:00","deleted_at":"2025-12-27T21:26:02.081585-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-kndf","title":"Digest: mol-deacon-patrol","description":"Patrol 19: OK","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-24T21:02:19.530366-08:00","updated_at":"2025-12-27T21:26:04.869611-08:00","deleted_at":"2025-12-27T21:26:04.869611-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-ko73c","title":"Digest: mol-deacon-patrol","description":"P9","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T14:24:32.507404-08:00","updated_at":"2025-12-27T21:26:01.671325-08:00","deleted_at":"2025-12-27T21:26:01.671325-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} -{"id":"gt-koja9","title":"Digest: mol-deacon-patrol","description":"Patrol cycle 17: All healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T11:22:49.243562-08:00","updated_at":"2025-12-28T11:22:49.243562-08:00","closed_at":"2025-12-28T11:22:49.243529-08:00","close_reason":"Squashed from 9 wisps","dependencies":[{"issue_id":"gt-koja9","depends_on_id":"gt-eph-ks4","type":"parent-child","created_at":"2025-12-28T11:22:49.244363-08:00","created_by":"deacon"}]} +{"id":"gt-koja9","title":"Digest: mol-deacon-patrol","description":"Patrol cycle 17: All healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T11:22:49.243562-08:00","updated_at":"2025-12-28T11:22:49.243562-08:00","closed_at":"2025-12-28T11:22:49.243529-08:00","close_reason":"Squashed from 9 wisps"} {"id":"gt-kp2","title":"Add merge-request type to Beads schema","description":"Define the merge-request bead type with fields:\n- branch: source branch (e.g., polecat/Nux/gt-xxx)\n- target_branch: destination (main or integration/xxx)\n- source_issue: the work being merged (gt-xxx)\n- worker: who did the work\n- rig: which rig\n- merge_commit: (filled on close) SHA of merge commit\n- close_reason: (filled on close) success/failure details\n\nThis may require beads schema changes or just convention.","status":"tombstone","priority":0,"issue_type":"task","created_at":"2025-12-16T23:02:14.471248-08:00","updated_at":"2025-12-27T21:29:45.673918-08:00","dependencies":[{"issue_id":"gt-kp2","depends_on_id":"gt-h5n","type":"blocks","created_at":"2025-12-16T23:02:55.338148-08:00","created_by":"daemon"}],"deleted_at":"2025-12-27T21:29:45.673918-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-kp3s3","title":"mol-polecat-work","description":"Full polecat lifecycle from assignment to decommission.\n\nThis proto enables nondeterministic idempotence for polecat work.\nA polecat that crashes after any step can restart, read its molecule state,\nand continue from the last completed step. No work is lost.\n\nVariables:\n- gt-ds3h3 - The source issue ID being worked on","status":"tombstone","priority":2,"issue_type":"epic","created_at":"2025-12-25T01:59:05.781319-08:00","updated_at":"2025-12-27T21:29:55.325758-08:00","deleted_at":"2025-12-27T21:29:55.325758-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"epic"} {"id":"gt-kqwpb","title":"Digest: mol-deacon-patrol","description":"Patrol 3: All healthy, no issues","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T13:53:25.592462-08:00","updated_at":"2025-12-27T21:26:01.778644-08:00","deleted_at":"2025-12-27T21:26:01.778644-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} @@ -1447,7 +1447,7 @@ {"id":"gt-m9uq3","title":"Digest: mol-deacon-patrol","description":"Patrol 12: All green","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T19:33:56.421573-08:00","updated_at":"2025-12-27T21:26:02.543968-08:00","deleted_at":"2025-12-27T21:26:02.543968-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-maieo","title":"Digest: mol-deacon-patrol","description":"Patrol 5: routine","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T18:39:28.463668-08:00","updated_at":"2025-12-27T21:26:00.904716-08:00","deleted_at":"2025-12-27T21:26:00.904716-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-mat34","title":"Digest: mol-deacon-patrol","description":"Patrol 8: all clear","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T11:05:02.92058-08:00","updated_at":"2025-12-27T21:26:03.421553-08:00","deleted_at":"2025-12-27T21:26:03.421553-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} -{"id":"gt-mayor","title":"gt-mayor","description":"gt-mayor\n\nrole_type: mayor\nrig: null\nagent_state: running\nhook_bead: null\nrole_bead: gt-mayor-role","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T00:07:10.885229-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-28T16:33:41.161029-08:00"} +{"id":"gt-mayor","title":"gt-mayor","description":"gt-mayor\n\nrole_type: mayor\nrig: null\nagent_state: running\nhook_bead: null\nrole_bead: gt-mayor-role","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T00:07:10.885229-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-28T19:00:08.787218-08:00"} {"id":"gt-mayor-role","title":"Mayor Role Definition","description":"You are the Mayor - global coordinator of Gas Town. You sit above all rigs,\ncoordinating work across the entire workspace.\n\ndefault_molecule: mol-mayor-patrol\ncapabilities:\n - dispatch_work\n - cross_rig_coordination\n - escalation_handling\n\n## Responsibilities\n\n- Work dispatch: Spawn workers for issues, coordinate batch work on epics\n- Cross-rig coordination: Route work between rigs when needed\n- Escalation handling: Resolve issues Witnesses can't handle\n- Strategic decisions: Architecture, priorities, integration planning\n\nNOT your job: Per-worker cleanup, session killing, nudging workers (Witness handles that)\n\n## Propulsion Principle\n\nIf you find something on your hook, YOU RUN IT.\n\nYour pinned molecule persists across sessions. Hook has work -\u003e Run it.\nHook empty -\u003e Check mail. Nothing anywhere -\u003e Wait for user.\n\n## Key Commands\n\n### Communication\n- gt mail inbox - Check your messages\n- gt mail read \u003cid\u003e - Read a specific message\n- gt mail send \u003caddr\u003e -s \"Subject\" -m \"Message\" - Send mail\n\n### Status\n- gt status - Overall town status\n- gt rigs - List all rigs\n- gt polecats \u003crig\u003e - List polecats in a rig\n\n### Work Management\n- bd ready - Issues ready to work (no blockers)\n- gt sling \u003cbead\u003e \u003crig\u003e - Assign work to polecat in rig\n\n## Session End Protocol\n\n- git status, git add, bd sync, git commit, git push\n- gt handoff - hand off to fresh session\n","status":"open","priority":2,"issue_type":"role","created_at":"2025-12-28T00:51:20.692107-08:00","created_by":"stevey","updated_at":"2025-12-28T00:51:20.692107-08:00"} {"id":"gt-mbyy","title":"CLI API Audit: gt and bd command structure review before OSS launch","description":"# CLI API Audit for OSS Launch\n\nBefore launching Gas Town + Beads as an SDK, we need to ensure the command-line\nAPI is intelligently designed, consistent, intuitive, and structurally sound.\n\n## Current State Audit\n\n### gt (Gas Town) - 50+ top-level commands\n\n**Agent Lifecycle:**\n- `gt mayor`, `gt deacon`, `gt witness`, `gt refinery` - agent management\n- `gt polecat` - worker management (subcommands: add, remove, list, etc.)\n- `gt crew` - persistent workspace management\n- `gt spawn` - create polecat with work\n\n**Work Lifecycle:**\n- `gt spawn` - assign work to new polecat\n- `gt sling` - hook work + start immediately\n- `gt hook` - attach work durably\n- `gt handoff` - pass work to fresh session\n- `gt done` - signal work complete\n- `gt release` - release stuck issues\n\n**Infrastructure:**\n- `gt daemon`, `gt up`, `gt down`, `gt start`, `gt stop`, `gt shutdown`\n- `gt init`, `gt install`, `gt doctor`\n\n**Communication:**\n- `gt mail` (subcommands: send, inbox, read, etc.)\n- `gt nudge`, `gt broadcast`\n\n**Molecules:**\n- `gt molecule` / `gt mol` (17 subcommands!)\n\n### bd (Beads) - Well-categorized but some sprawl\n\n**Core CRUD:**\n- `bd create`, `bd show`, `bd update`, `bd close`, `bd list`\n\n**Molecules:**\n- `bd mol` (5 subcommands: catalog, show, bond, run, distill)\n- `bd wisp` (3 subcommands: create, gc, list)\n- `bd pour` (top-level alias for instantiation)\n- `bd cook` (compile formula to proto)\n\n**Hook/Pin:**\n- `bd pin` - attach mol to agent hook\n- `bd unpin` - remove from hook\n- `bd hook` - inspect what's on hook\n\n## Structural Concerns\n\n### 1. gt is sprawling (50+ top-level commands)\n\nMany commands could be subcommands:\n```\n# Current # Could be\ngt up/down/start/stop gt daemon {up|down|start|stop}\ngt spawn/sling/hook/handoff gt work {spawn|sling|hook|handoff}\ngt mayor/deacon/witness gt agent {mayor|deacon|witness|...}\n```\n\n### 2. Overlap between gt and bd\n\n| Concept | gt | bd |\n|---------|----|----|\n| Hook | `gt hook` | `bd pin`, `bd hook` |\n| Mail | `gt mail` | `bd mail` (delegates) |\n| Molecules | `gt mol` (17 cmds) | `bd mol` (5 cmds) |\n\nWhich owns what? User confusion likely.\n\n### 3. Naming inconsistencies\n\n- `gt polecat` (noun) vs `gt spawn` (verb) - both about polecats\n- `gt done` vs `gt handoff` - both end work but different\n- `bd mol run` vs `bd pour` - both instantiate\n\n### 4. Subcommand depth decisions\n\n**Good patterns:**\n- `bd mol {catalog|show|bond|run|distill}` - coherent group\n- `gt mail {send|inbox|read|archive}` - coherent group\n\n**Questionable patterns:**\n- `bd create --wisp` AND `bd wisp create` - two ways to do same thing\n- `gt spawn --molecule X` AND `gt mol instantiate` - overlap\n\n### 5. Flag vs subcommand guidelines needed\n\nWhen to use flags vs subcommands?\n- `--json` as flag ✓ (modifier)\n- `--wisp` as flag for create? Or separate `bd wisp create`?\n- `--molecule` on spawn? Or separate workflow?\n\n## Recommendations to Evaluate\n\n### A. Consolidate gt top-level commands\n\nGroup related commands:\n```\ngt agent {mayor|deacon|witness|refinery|polecat}\ngt work {spawn|sling|hook|handoff|done}\ngt infra {daemon|up|down|doctor}\n```\n\n### B. Clarify gt vs bd ownership\n\n| Domain | Owner | Other defers |\n|--------|-------|--------------|\n| Issues | bd | gt uses bd |\n| Agents | gt | bd doesn't touch |\n| Molecules | bd mol | gt mol wraps for UX |\n| Hooks | bd pin/hook | gt hook wraps |\n| Mail | gt mail | bd mail delegates |\n\n### C. Apply consistent naming\n\n- All agent commands: nouns (`gt polecat`, `gt mayor`)\n- All work commands: verbs (`gt spawn`, `gt sling`, `gt hook`)\n- Avoid synonyms: pick one term and stick with it\n\n### D. Flag vs subcommand rule\n\n- Flags: modify behavior of command (`--json`, `--force`, `--wisp`)\n- Subcommands: distinct operations (`mol run`, `mol squash`, `mol burn`)\n- Exception: very common operations can have top-level aliases\n\n## Tasks\n\n1. [ ] Review gt command groupings - propose consolidation\n2. [ ] Review bd command groupings - check for sprawl\n3. [ ] Document gt vs bd ownership boundaries\n4. [ ] Identify and resolve naming inconsistencies\n5. [ ] Document flag vs subcommand decision criteria\n6. [ ] Create migration plan for any breaking changes\n7. [ ] Update help text to be consistent\n8. [ ] Test agent UX: can Claude guess commands correctly?\n\n## Success Criteria\n\n- New user can guess command structure intuitively\n- `gt --help` fits on one screen (or is well-categorized)\n- No duplicate functionality between gt and bd\n- Consistent naming throughout\n- Claude agents can discover commands without documentation","status":"tombstone","priority":1,"issue_type":"epic","created_at":"2025-12-24T23:48:42.420867-08:00","updated_at":"2025-12-27T21:29:52.547876-08:00","dependencies":[{"issue_id":"gt-mbyy","depends_on_id":"gt-jo9n","type":"blocks","created_at":"2025-12-24T23:48:52.221824-08:00","created_by":"daemon"}],"deleted_at":"2025-12-27T21:29:52.547876-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"epic"} {"id":"gt-mc4n","title":"load-context","description":"Run gt prime and bd prime. Verify issue assignment.\nCheck inbox for any relevant messages.\n\nRead the assigned issue (gt-test123) and understand the requirements.\nIdentify any blockers or missing information.","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-21T21:56:18.534569-08:00","updated_at":"2025-12-25T15:52:43.900154-08:00","dependencies":[{"issue_id":"gt-mc4n","depends_on_id":"gt-zjqs","type":"parent-child","created_at":"2025-12-21T21:56:18.535487-08:00","created_by":"stevey"}],"deleted_at":"2025-12-25T15:52:43.900154-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"task"} @@ -1646,16 +1646,16 @@ {"id":"gt-pnu4","title":"Test","description":"Body","status":"tombstone","priority":2,"issue_type":"message","created_at":"2025-12-20T21:38:39.019559-08:00","updated_at":"2025-12-25T14:12:42.272191-08:00","deleted_at":"2025-12-25T14:12:42.272191-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"message"} {"id":"gt-pnurj","title":"Digest: mol-deacon-patrol","description":"Patrol 20: Green - routine cycle complete, handing off","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T19:36:47.596964-08:00","updated_at":"2025-12-27T21:26:02.474719-08:00","deleted_at":"2025-12-27T21:26:02.474719-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-podor","title":"Digest: mol-deacon-patrol","description":"Patrol 20: all clear, handoff due","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T16:54:52.330177-08:00","updated_at":"2025-12-27T21:26:01.230064-08:00","deleted_at":"2025-12-27T21:26:01.230064-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} -{"id":"gt-polecat-gastown-ace","title":"gt-polecat-gastown-ace","description":"gt-polecat-gastown-ace\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-795e8\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:56:20.334372-08:00","created_by":"mayor","updated_at":"2025-12-28T17:11:00.110097-08:00"} -{"id":"gt-polecat-gastown-capable","title":"gt-polecat-gastown-capable","description":"gt-polecat-gastown-capable\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-tkbd5\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:56:20.175066-08:00","created_by":"mayor","updated_at":"2025-12-28T16:32:39.880629-08:00"} -{"id":"gt-polecat-gastown-furiosa","title":"gt-polecat-gastown-furiosa","description":"gt-polecat-gastown-furiosa\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-h3skz\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T13:06:09.472425-08:00","created_by":"mayor","updated_at":"2025-12-28T16:32:36.061712-08:00"} -{"id":"gt-polecat-gastown-morsov","title":"gt-polecat-gastown-morsov","description":"gt-polecat-gastown-morsov\n\nrole_type: polecat\nrig: gastown\nagent_state: done\nhook_bead: null\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:56:20.255118-08:00","created_by":"mayor","updated_at":"2025-12-28T16:37:28.381845-08:00"} -{"id":"gt-polecat-gastown-nux","title":"gt-polecat-gastown-nux","description":"gt-polecat-gastown-nux\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-2g130\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T14:09:19.415619-08:00","created_by":"mayor","updated_at":"2025-12-28T17:11:02.3768-08:00"} -{"id":"gt-polecat-gastown-rictus","title":"gt-polecat-gastown-rictus","description":"gt-polecat-gastown-rictus\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-dsqxw\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T14:09:49.112812-08:00","created_by":"mayor","updated_at":"2025-12-28T16:32:38.160181-08:00"} -{"id":"gt-polecat-gastown-slit","title":"gt-polecat-gastown-slit","description":"gt-polecat-gastown-slit\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-gcnnr\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T14:09:42.286637-08:00","created_by":"mayor","updated_at":"2025-12-28T16:32:34.180229-08:00"} +{"id":"gt-polecat-gastown-ace","title":"gt-polecat-gastown-ace","description":"gt-polecat-gastown-ace\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-795e8\nrole_bead: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:56:20.334372-08:00","created_by":"mayor","updated_at":"2025-12-28T18:47:12.702542-08:00","closed_at":"2025-12-28T18:47:12.702542-08:00","close_reason":"nuked","deleted_at":"2025-12-28T18:47:12.669836-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} +{"id":"gt-polecat-gastown-capable","title":"gt-polecat-gastown-capable","description":"gt-polecat-gastown-capable\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-tkbd5\nrole_bead: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:56:20.175066-08:00","created_by":"mayor","updated_at":"2025-12-28T18:47:12.849855-08:00","closed_at":"2025-12-28T18:47:12.849855-08:00","close_reason":"nuked","deleted_at":"2025-12-28T18:47:12.815945-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} +{"id":"gt-polecat-gastown-furiosa","title":"gt-polecat-gastown-furiosa","description":"gt-polecat-gastown-furiosa\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-h3skz\nrole_bead: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-28T13:06:09.472425-08:00","created_by":"mayor","updated_at":"2025-12-28T18:47:12.996706-08:00","closed_at":"2025-12-28T18:47:12.996706-08:00","close_reason":"nuked","deleted_at":"2025-12-28T18:47:12.963888-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} +{"id":"gt-polecat-gastown-morsov","title":"gt-polecat-gastown-morsov","description":"gt-polecat-gastown-morsov\n\nrole_type: polecat\nrig: gastown\nagent_state: done\nhook_bead: null\nrole_bead: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:56:20.255118-08:00","created_by":"mayor","updated_at":"2025-12-28T18:47:13.134492-08:00","closed_at":"2025-12-28T18:47:13.134492-08:00","close_reason":"nuked","deleted_at":"2025-12-28T18:47:13.10101-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} +{"id":"gt-polecat-gastown-nux","title":"gt-polecat-gastown-nux","description":"gt-polecat-gastown-nux\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-2g130\nrole_bead: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-28T14:09:19.415619-08:00","created_by":"mayor","updated_at":"2025-12-28T18:47:16.519005-08:00","closed_at":"2025-12-28T18:47:16.519005-08:00","close_reason":"nuked","deleted_at":"2025-12-28T18:47:16.485192-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} +{"id":"gt-polecat-gastown-rictus","title":"gt-polecat-gastown-rictus","description":"gt-polecat-gastown-rictus\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-dsqxw\nrole_bead: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-28T14:09:49.112812-08:00","created_by":"mayor","updated_at":"2025-12-28T18:47:16.663913-08:00","closed_at":"2025-12-28T18:47:16.663913-08:00","close_reason":"nuked","deleted_at":"2025-12-28T18:47:16.630548-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} +{"id":"gt-polecat-gastown-slit","title":"gt-polecat-gastown-slit","description":"gt-polecat-gastown-slit\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-gcnnr\nrole_bead: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-28T14:09:42.286637-08:00","created_by":"mayor","updated_at":"2025-12-28T18:47:16.805677-08:00","closed_at":"2025-12-28T18:47:16.805677-08:00","close_reason":"nuked","deleted_at":"2025-12-28T18:47:16.773149-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} {"id":"gt-polecat-gastown-test-cat","title":"gt-polecat-gastown-test-cat","description":"gt-polecat-gastown-test-cat\n\nrole_type: polecat\nrig: gastown\nagent_state: spawning\nhook_bead: null\nrole_bead: null","status":"tombstone","priority":2,"issue_type":"agent","created_at":"2025-12-28T02:16:55.810497-08:00","created_by":"mayor","updated_at":"2025-12-28T02:17:01.786065-08:00","deleted_at":"2025-12-28T02:17:01.786065-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} {"id":"gt-polecat-gastown-testcat","title":"gt-polecat-gastown-testcat","description":"gt-polecat-gastown-testcat\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: null\nrole_bead: null","status":"tombstone","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:32:27.70761-08:00","created_by":"mayor","updated_at":"2025-12-28T15:33:38.022666-08:00","deleted_at":"2025-12-28T15:33:38.022666-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} -{"id":"gt-polecat-gastown-warboy","title":"gt-polecat-gastown-warboy","description":"gt-polecat-gastown-warboy\n\nrole_type: polecat\nrig: gastown\nagent_state: spawning\nhook_bead: null\nrole_bead: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:56:20.415565-08:00","created_by":"mayor","updated_at":"2025-12-28T15:56:20.415565-08:00"} +{"id":"gt-polecat-gastown-warboy","title":"gt-polecat-gastown-warboy","description":"gt-polecat-gastown-warboy\n\nrole_type: polecat\nrig: gastown\nagent_state: spawning\nhook_bead: null\nrole_bead: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-28T15:56:20.415565-08:00","created_by":"mayor","updated_at":"2025-12-28T18:47:16.95025-08:00","closed_at":"2025-12-28T18:47:16.95025-08:00","close_reason":"nuked","deleted_at":"2025-12-28T18:47:16.916929-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"agent"} {"id":"gt-poxd","title":"Create handoff beads for Witness and Refinery roles","description":"Each patrol role needs a pinned handoff bead to track attached molecules and patrol state.\n\n## Pattern (from Deacon)\n- Title: '\u003crole\u003e Handoff' (e.g., 'witness Handoff', 'refinery Handoff')\n- Status: pinned\n- Description contains structured state\n\n## Witness Handoff State\n\n```yaml\nattached_molecule: mol-witness-patrol\nattached_at: 2025-12-24T10:00:00Z\n\n# Nudge escalation tracking\nnudges:\n toast:\n count: 2\n last: \"2025-12-24T10:30:00Z\"\n ace:\n count: 0\n last: null\n\n# Polecats queued for cleanup\npending_cleanup:\n - nux # received POLECAT_DONE, awaiting verification\n```\n\n## Refinery Handoff State\n\n```yaml\nattached_molecule: mol-refinery-patrol\nattached_at: 2025-12-24T10:00:00Z\n\n# Merge queue tracking\nlast_processed_branch: polecat/toast\nbranches_merged_this_cycle: 3\n```\n\n## Tasks\n1. Create 'witness Handoff' bead in each rig's beads\n2. Create 'refinery Handoff' bead in each rig's beads\n3. Update Witness/Refinery startup to check handoff bead for attached work\n4. Update templates to document handoff bead usage\n5. Include nudge state schema for Witness\n6. Include merge state schema for Refinery\n\n## Note\nThese are rig-level beads (in gastown/.beads/, beads/.beads/), not town-level like deacon Handoff (in ~/gt/.beads/).\n\n## See Also\n- docs/witness-patrol-design.md - Theory of operation","status":"tombstone","priority":1,"issue_type":"task","created_at":"2025-12-23T13:19:41.055563-08:00","updated_at":"2025-12-27T21:29:53.007253-08:00","dependencies":[{"issue_id":"gt-poxd","depends_on_id":"gt-y481","type":"parent-child","created_at":"2025-12-23T13:20:15.89851-08:00","created_by":"daemon"}],"deleted_at":"2025-12-27T21:29:53.007253-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-ppdmm","title":"Digest: mol-deacon-patrol","description":"Patrol 10: clear","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T18:15:09.272455-08:00","updated_at":"2025-12-27T21:26:01.022637-08:00","deleted_at":"2025-12-27T21:26:01.022637-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-pqhka","title":"Digest: mol-deacon-patrol","description":"Patrol 20: All agents healthy - triggering handoff","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T06:46:30.78827-08:00","updated_at":"2025-12-27T21:26:03.693445-08:00","deleted_at":"2025-12-27T21:26:03.693445-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} @@ -1834,7 +1834,7 @@ {"id":"gt-sm9ti","title":"Digest: mol-deacon-patrol","description":"Patrol 5: Quick cycle, all quiet","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T17:05:29.027668-08:00","updated_at":"2025-12-27T21:26:03.017334-08:00","deleted_at":"2025-12-27T21:26:03.017334-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-sn8if","title":"Digest: mol-deacon-patrol","description":"Patrol 8: routine, all healthy","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T13:43:39.832046-08:00","updated_at":"2025-12-27T21:26:03.222694-08:00","deleted_at":"2025-12-27T21:26:03.222694-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-sne83","title":"Digest: mol-deacon-patrol","description":"Cycle 10: quiet","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T13:18:43.437161-08:00","updated_at":"2025-12-28T13:18:43.437161-08:00","closed_at":"2025-12-28T13:18:43.437132-08:00","close_reason":"Squashed from 9 wisps","dependencies":[{"issue_id":"gt-sne83","depends_on_id":"gt-eph-mk5","type":"parent-child","created_at":"2025-12-28T13:18:43.438002-08:00","created_by":"deacon"}]} -{"id":"gt-sob9x","title":"Digest: mol-deacon-patrol","description":"Patrol cycle 16: All healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T11:22:48.666655-08:00","updated_at":"2025-12-28T11:22:48.666655-08:00","closed_at":"2025-12-28T11:22:48.666623-08:00","close_reason":"Squashed from 9 wisps","dependencies":[{"issue_id":"gt-sob9x","depends_on_id":"gt-eph-9e2","type":"parent-child","created_at":"2025-12-28T11:22:48.667527-08:00","created_by":"deacon"}]} +{"id":"gt-sob9x","title":"Digest: mol-deacon-patrol","description":"Patrol cycle 16: All healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T11:22:48.666655-08:00","updated_at":"2025-12-28T11:22:48.666655-08:00","closed_at":"2025-12-28T11:22:48.666623-08:00","close_reason":"Squashed from 9 wisps"} {"id":"gt-sp18","title":"Digest: mol-deacon-patrol","description":"Patrol #18","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-24T22:26:11.030566-08:00","updated_at":"2025-12-27T21:26:04.683985-08:00","deleted_at":"2025-12-27T21:26:04.683985-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-spdof","title":"Digest: mol-deacon-patrol","description":"Patrol 1: All healthy, no messages, no orphans","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T13:25:58.151972-08:00","updated_at":"2025-12-27T21:26:03.303882-08:00","deleted_at":"2025-12-27T21:26:03.303882-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"} {"id":"gt-spt8v","title":"Fix docs: Formulas are JSON not YAML","description":"The molecular chemistry docs (molecule-algebra.md, molecular-chemistry.md) incorrectly refer to formulas as YAML. Formulas are JSON (.formula.json). Fix all references: .formula.yaml -\u003e .formula.json, 'YAML files' -\u003e 'JSON files', 'formula YAML' -\u003e 'formula JSON', code blocks from yaml to json syntax.","status":"tombstone","priority":2,"issue_type":"chore","created_at":"2025-12-25T14:33:19.775501-08:00","updated_at":"2025-12-27T21:29:55.189761-08:00","deleted_at":"2025-12-27T21:29:55.189761-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"chore"} diff --git a/.beads/sync-state.json b/.beads/sync-state.json deleted file mode 100644 index 9c534c40..00000000 --- a/.beads/sync-state.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "last_failure": "2025-12-28T17:21:20.484587-08:00", - "failure_count": 1, - "backoff_until": "2025-12-28T17:21:50.484587-08:00", - "needs_manual_sync": false, - "failure_reason": "git pull failed in worktree: exit status 128\nFrom github.com:steveyegge/gastown\n * branch beads-sync -\u003e FETCH_HEAD\nfatal: Cannot rebase onto multiple branches.\n" -} \ No newline at end of file