bd sync: 2025-12-30 18:05:22

This commit is contained in:
Steve Yegge
2025-12-30 18:05:22 -08:00
parent 941853b503
commit cbcf9ec051
4 changed files with 42 additions and 6 deletions

View File

@@ -451,7 +451,7 @@
{"id":"gt-6qld","title":"Daemon should auto-start as part of town bootstrap","description":"The Go daemon should be started automatically when the town boots up (mol-gastown-boot). Currently it requires manual 'gt daemon start'.\n\nThe daemon is critical infrastructure - it monitors the Deacon and nudges it when naked. Without it, the Deacon patrol loop doesn't run.","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-23T13:16:52.000929-08:00","updated_at":"2025-12-23T13:16:52.000929-08:00"}
{"id":"gt-6qyt1","title":"Refinery: event-driven merge queue","description":"## Problem\nRefinery only acts on explicit requests, no queue management.\n\n## ZFC-Compliant Solution\nAdd steps to `mol-refinery-patrol.formula.toml`:\n\n```toml\n[[step]]\nid = \"check-merge-requests\"\ntitle = \"Process merge queue from inbox\"\ndescription = \"\"\"\n1. Check inbox for MERGE_READY messages: gt mail inbox\n2. For each merge request:\n - Read branch name from message\n - Add to local queue (track in state.json or temp file)\n3. Process queue in order:\n - git fetch origin\n - git checkout main \u0026\u0026 git pull\n - git merge --no-ff origin/polecat/\u003cname\u003e\n - If conflict: mail Mayor with details, skip\n - If success: git push \u0026\u0026 delete remote branch\n4. For each merged branch:\n - gt mail send \u003crig\u003e/witness -s \"MERGED: polecat/\u003cname\u003e\" -m \"Branch merged successfully\"\n - Delete the MERGE_READY mail\n\"\"\"\ndepends_on = [\"inbox-check\"]\n```\n\n## Queue State\nRefinery agent tracks queue in `state.json`:\n```json\n{\n \"merge_queue\": [\"polecat/foo\", \"polecat/bar\"],\n \"last_merged\": \"polecat/baz\"\n}\n```\n\n## Why This Works\n- Refinery Claude agent runs formula\n- Agent handles conflicts with judgment\n- Mail is coordination primitive\n- State persists in agent's state.json\n\n## Files\n- formulas/mol-refinery-patrol.formula.toml","status":"tombstone","priority":1,"issue_type":"task","created_at":"2025-12-27T16:41:05.11996-08:00","created_by":"mayor","updated_at":"2025-12-27T21:29:45.748327-08:00","dependencies":[{"issue_id":"gt-6qyt1","depends_on_id":"gt-7uhts","type":"relates-to","created_at":"2025-12-27T20:59:09.678685-08:00","created_by":"daemon"}],"deleted_at":"2025-12-27T21:29:45.748327-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
{"id":"gt-6qzay","title":"Digest: mol-deacon-patrol","description":"Patrol 7: Quiet","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:15:59.128327-08:00","updated_at":"2025-12-25T19:15:59.128327-08:00","closed_at":"2025-12-25T19:15:59.12827-08:00"}
{"id":"gt-6r18e","title":"HOP Foundation: Entity Identity \u0026 Federation","description":"Foundation work for HOP graph architecture. Enables agent provenance tracking, cross-workspace federation, and delegation semantics. See ~/gt/docs/hop/GRAPH-ARCHITECTURE.md for full design.","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-30T11:08:10.136469-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T11:08:10.136469-08:00"}
{"id":"gt-6r18e","title":"HOP Foundation: Entity Identity \u0026 Federation","description":"Foundation work for HOP graph architecture. Enables agent provenance tracking, cross-workspace federation, and delegation semantics. See ~/gt/docs/hop/GRAPH-ARCHITECTURE.md for full design.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-30T11:08:10.136469-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T18:05:15.699929-08:00","closed_at":"2025-12-30T18:05:15.699929-08:00","close_reason":"HOP Foundation complete - 8/9 tasks done. Only P3 overseer field (gt-6r18e.7) remains for future team scenarios. Unblocks POP Foundation (gt-jzmsj)."}
{"id":"gt-6r18e.1","title":"Set GIT_AUTHOR_NAME per agent session","description":"Set GIT_AUTHOR_NAME to actor string (e.g., gastown/crew/joe) in agent session environment. GIT_AUTHOR_EMAIL stays as workspace owner. Enables git log --author queries for agent work.","status":"closed","priority":1,"issue_type":"task","assignee":"gastown/polecats/furiosa","created_at":"2025-12-30T11:08:24.620264-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T16:09:30.244412-08:00","closed_at":"2025-12-30T16:09:30.244412-08:00","close_reason":"Implemented: Added GIT_AUTHOR_NAME export to all agent session spawn locations (13 files updated). Enables git log --author queries for agent work.","dependencies":[{"issue_id":"gt-6r18e.1","depends_on_id":"gt-6r18e","type":"parent-child","created_at":"2025-12-30T11:08:24.62079-08:00","created_by":"gastown/crew/joe"}]}
{"id":"gt-6r18e.1.1","title":"Clarify GIT_AUTHOR_EMAIL handling for agents","description":"When setting GIT_AUTHOR_NAME per agent (gt-6r18e.1), also need to decide GIT_AUTHOR_EMAIL:\n\nOption A (proposed): Keep overseer's git email\n- GIT_AUTHOR_EMAIL = steve.yegge@gmail.com (from git config)\n- This anchors ownership to the human\n- Agents are tools of the overseer\n\nOption B: Construct agent email\n- GIT_AUTHOR_EMAIL = gastown-crew-joe@gastown.local\n- Fully separates agent identity\n- May cause issues with GitHub/Bitbucket attribution\n\nRecommendation: Option A - keeps human ownership clear while GIT_AUTHOR_NAME shows which agent did the work.","status":"closed","priority":2,"issue_type":"task","assignee":"gastown/polecats/furiosa","created_at":"2025-12-30T13:58:29.803201-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T16:48:19.865247-08:00","closed_at":"2025-12-30T16:48:19.865247-08:00","close_reason":"Verified: Option A implemented and documented. GIT_AUTHOR_EMAIL not exported, so git uses workspace owner's email from git config. Documentation in docs/federation.md lines 94-98 is accurate.","dependencies":[{"issue_id":"gt-6r18e.1.1","depends_on_id":"gt-6r18e.1","type":"parent-child","created_at":"2025-12-30T13:58:29.805139-08:00","created_by":"gastown/crew/joe"}]}
{"id":"gt-6r18e.2","title":"Default BD_ACTOR in beads create","description":"BUG: BD_ACTOR env var is only read in --no-db mode and daemon RPC path. Normal direct mode skips BD_ACTOR and falls back to $USER. The comment claims 'Viper handles BD_ACTOR automatically' but there's no actual viper binding. Fix: Add explicit os.Getenv(\"BD_ACTOR\") check in main.go line 441-448, same as the --no-db path at line 352-360.","status":"closed","priority":1,"issue_type":"task","assignee":"gastown/polecats/nux","created_at":"2025-12-30T11:08:25.504224-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T18:02:36.842624-08:00","closed_at":"2025-12-30T18:02:36.842624-08:00","close_reason":"Fixed - BD_ACTOR now read in all code paths (normal, JSONL-auto, no-db)","dependencies":[{"issue_id":"gt-6r18e.2","depends_on_id":"gt-6r18e","type":"parent-child","created_at":"2025-12-30T11:08:25.506365-08:00","created_by":"gastown/crew/joe"}]}
@@ -552,6 +552,7 @@
{"id":"gt-83zh4","title":"Merge: nux-1767075895486","description":"branch: polecat/nux-1767075895486\ntarget: main\nsource_issue: nux-1767075895486\nrig: gastown","status":"closed","priority":2,"issue_type":"merge-request","created_at":"2025-12-29T22:28:28.554902-08:00","created_by":"gastown/polecats/nux","updated_at":"2025-12-30T01:01:04.353761-08:00","closed_at":"2025-12-30T01:01:04.353761-08:00","close_reason":"Already merged to main"}
{"id":"gt-85a","title":"gt spawn: Not injecting work instructions to session","description":"gt spawn starts session but doesn't inject the issue assignment.\n\nRepro:\n1. gt spawn gastown/Toast --issue gt-2ux\n2. Session starts but polecat just sees Claude prompt\n3. No issue context injected\n\nExpected: Polecat should receive issue details automatically.\nActual: Polecat sits at blank prompt, needs manual injection.","status":"tombstone","priority":0,"issue_type":"bug","created_at":"2025-12-17T22:28:02.583003-08:00","updated_at":"2025-12-25T01:30:41.67682-08:00","deleted_at":"2025-12-25T01:30:41.67682-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"bug"}
{"id":"gt-85gfs","title":"Digest: mol-deacon-patrol","description":"Patrol 20: all healthy, doctor pass, handoff cycle","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T19:37:50.9058-08:00","updated_at":"2025-12-27T21:26:00.694201-08:00","deleted_at":"2025-12-27T21:26:00.694201-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
{"id":"gt-860md","title":"Merge: capable-1767146233256","description":"branch: polecat/capable-1767146233256\ntarget: main\nsource_issue: capable-1767146233256\nrig: gastown","status":"open","priority":2,"issue_type":"merge-request","created_at":"2025-12-30T18:03:37.996927-08:00","created_by":"gastown/polecats/capable","updated_at":"2025-12-30T18:03:37.996927-08:00"}
{"id":"gt-86w","title":"CLI: doctor diagnostics and auto-repair","description":"GGT completely lacks the doctor command which is critical for debugging.\n\nRequired Commands:\n- gt doctor [\u003crig\u003e] - Run diagnostic checks\n- gt doctor --fix - Auto-repair common issues\n\nChecks to Implement:\nWorkspace Level: Config validity, Mayor mailbox, Rig registry\nRig Level: Git state, clone health, witness/refinery presence, beads sync\nSwarm Level: Stuck detection, zombie sessions, heartbeat health\n\nPGT Reference: gastown-py/src/gastown/cli/dashboard_cmd.py","status":"tombstone","priority":1,"issue_type":"task","created_at":"2025-12-16T14:46:34.721484-08:00","updated_at":"2025-12-25T01:30:41.67682-08:00","deleted_at":"2025-12-25T01:30:41.67682-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"task"}
{"id":"gt-88r9s","title":"Digest: mol-deacon-patrol","description":"Patrol cycle 5: all healthy","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T15:39:36.316364-08:00","updated_at":"2025-12-27T21:26:01.43596-08:00","deleted_at":"2025-12-27T21:26:01.43596-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
{"id":"gt-88sb7","title":"Merge: dementus-1767079823043","description":"branch: polecat/dementus-1767079823043\ntarget: main\nsource_issue: dementus-1767079823043\nrig: gastown","status":"closed","priority":2,"issue_type":"merge-request","created_at":"2025-12-29T23:37:42.270498-08:00","created_by":"gastown/polecats/dementus","updated_at":"2025-12-29T23:44:03.52339-08:00","closed_at":"2025-12-29T23:44:03.52339-08:00","close_reason":"Already merged to main"}
@@ -1152,14 +1153,14 @@
{"id":"gt-gahh2","title":"Digest: mol-deacon-patrol","description":"Patrol 8: Quick cycle, all quiet","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-25T17:06:40.938636-08:00","updated_at":"2025-12-27T21:26:02.992556-08:00","deleted_at":"2025-12-27T21:26:02.992556-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
{"id":"gt-gastown-crew-fang","title":"Crew worker fang in gastown - human-managed persistent workspace.","description":"Crew worker fang in gastown - human-managed persistent workspace.\n\nrole_type: crew\nrig: gastown\nagent_state: idle\nhook_bead: null\nrole_bead: gt-crew-role\ncleanup_status: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:48:31.614218-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-29T14:56:24.101811-08:00","closed_at":"2025-12-29T14:56:24.101811-08:00","close_reason":"Crew moved to beads rig"}
{"id":"gt-gastown-crew-grip","title":"Crew worker grip in gastown - human-managed persistent workspace.","description":"Crew worker grip in gastown - human-managed persistent workspace.\n\nrole_type: crew\nrig: gastown\nagent_state: idle\nhook_bead: null\nrole_bead: gt-crew-role\ncleanup_status: null","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:48:47.052927-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-29T14:56:24.095719-08:00","closed_at":"2025-12-29T14:56:24.095719-08:00","close_reason":"Crew moved to beads rig"}
{"id":"gt-gastown-crew-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-role\ncleanup_status: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:49:02.451898-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-30T16:04:16.784114-08:00"}
{"id":"gt-gastown-crew-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-role\ncleanup_status: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:49:02.451898-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-30T18:05:03.272065-08:00"}
{"id":"gt-gastown-crew-joe","title":"Crew worker joe in gastown - human-managed persistent workspace.","description":"Crew worker joe in gastown - human-managed persistent workspace.\n\nrole_type: crew\nrig: gastown\nagent_state: running\nhook_bead: gt-7aw1m\nrole_bead: gt-crew-role\ncleanup_status: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:49:17.861869-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-30T13:35:38.325819-08:00"}
{"id":"gt-gastown-crew-max","title":"Crew worker max in gastown - human-managed persistent workspace.","description":"Crew worker max in gastown - human-managed persistent workspace.\n\nrole_type: crew\nrig: gastown\nagent_state: running\nhook_bead: \nrole_bead: gt-crew-role\ncleanup_status: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:49:33.272043-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-30T16:43:21.754215-08:00"}
{"id":"gt-gastown-crew-max","title":"Crew worker max in gastown - human-managed persistent workspace.","description":"Crew worker max in gastown - human-managed persistent workspace.\n\nrole_type: crew\nrig: gastown\nagent_state: running\nhook_bead: \nrole_bead: gt-crew-role\ncleanup_status: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:49:33.272043-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-30T18:04:09.644301-08:00"}
{"id":"gt-gastown-crew-wolf","title":"Crew worker wolf in gastown","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:52:01.595469-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-29T14:56:24.107543-08:00","closed_at":"2025-12-29T14:56:24.107543-08:00","close_reason":"Crew moved to beads rig"}
{"id":"gt-gastown-polecat-ace","title":"gt-gastown-polecat-ace","description":"gt-gastown-polecat-ace\n\nrole_type: polecat\nrig: gastown\nagent_state: done\nhook_bead: null\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:59:45.180508-08:00","created_by":"mayor","updated_at":"2025-12-30T15:19:18.82823-08:00","closed_at":"2025-12-30T15:19:18.82823-08:00","close_reason":"nuked","deleted_at":"2025-12-30T15:19:18.796028-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-alpha","title":"gt-gastown-polecat-alpha","description":"gt-gastown-polecat-alpha\n\nrole_type: polecat\nrig: gastown\nagent_state: spawning\nhook_bead: null\nrole_bead: gt-polecat-role\ncleanup_status: null","status":"tombstone","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:41:36.19828-08:00","created_by":"mayor","updated_at":"2025-12-29T21:45:13.451246-08:00","deleted_at":"2025-12-29T21:45:13.451246-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-bravo","title":"gt-gastown-polecat-bravo","description":"gt-gastown-polecat-bravo\n\nrole_type: polecat\nrig: gastown\nagent_state: spawning\nhook_bead: null\nrole_bead: gt-polecat-role\ncleanup_status: null","status":"tombstone","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:41:37.373036-08:00","created_by":"mayor","updated_at":"2025-12-29T21:45:13.565657-08:00","deleted_at":"2025-12-29T21:45:13.565657-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-capable","title":"gt-gastown-polecat-capable","description":"gt-gastown-polecat-capable\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-rbncw\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:56:09.595279-08:00","created_by":"mayor","updated_at":"2025-12-30T17:57:15.158799-08:00","closed_at":"2025-12-30T16:45:27.160286-08:00","close_reason":"nuked","deleted_at":"2025-12-30T16:45:27.123031-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-capable","title":"gt-gastown-polecat-capable","description":"gt-gastown-polecat-capable\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-rbncw\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:56:09.595279-08:00","created_by":"mayor","updated_at":"2025-12-30T18:03:38.271115-08:00","closed_at":"2025-12-30T16:45:27.160286-08:00","close_reason":"nuked","deleted_at":"2025-12-30T16:45:27.123031-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-charlie","title":"gt-gastown-polecat-charlie","description":"gt-gastown-polecat-charlie\n\nrole_type: polecat\nrig: gastown\nagent_state: spawning\nhook_bead: null\nrole_bead: gt-polecat-role\ncleanup_status: null","status":"tombstone","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:41:38.470051-08:00","created_by":"mayor","updated_at":"2025-12-29T21:45:13.679776-08:00","deleted_at":"2025-12-29T21:45:13.679776-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-cheedo","title":"gt-gastown-polecat-cheedo","description":"gt-gastown-polecat-cheedo\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: null\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:58:54.800962-08:00","created_by":"mayor","updated_at":"2025-12-30T18:00:27.568427-08:00","closed_at":"2025-12-30T15:19:19.110477-08:00","close_reason":"nuked","deleted_at":"2025-12-30T15:19:19.07805-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-dag","title":"gt-gastown-polecat-dag","description":"gt-gastown-polecat-dag\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-tvwnz\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:58:43.032649-08:00","created_by":"mayor","updated_at":"2025-12-30T18:03:10.355707-08:00","closed_at":"2025-12-30T16:45:27.317371-08:00","close_reason":"nuked","deleted_at":"2025-12-30T16:45:27.280601-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
@@ -1173,7 +1174,7 @@
{"id":"gt-gastown-polecat-organic","title":"gt-gastown-polecat-organic","description":"gt-gastown-polecat-organic\n\nrole_type: polecat\nrig: gastown\nagent_state: spawning\nhook_bead: null\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-30T06:48:03.048759-08:00","created_by":"mayor","updated_at":"2025-12-30T15:19:20.355896-08:00","closed_at":"2025-12-30T15:19:20.355896-08:00","close_reason":"nuked","deleted_at":"2025-12-30T15:19:20.321057-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-rictus","title":"gt-gastown-polecat-rictus","description":"gt-gastown-polecat-rictus\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-u4fh\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T17:54:58.123296-08:00","created_by":"mayor","updated_at":"2025-12-30T16:47:37.220074-08:00","closed_at":"2025-12-30T16:45:27.921668-08:00","close_reason":"nuked","deleted_at":"2025-12-30T16:45:27.886488-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-slit","title":"gt-gastown-polecat-slit","description":"gt-gastown-polecat-slit\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-bho9\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T17:54:55.706657-08:00","created_by":"mayor","updated_at":"2025-12-30T16:56:13.955118-08:00","closed_at":"2025-12-30T16:45:28.07169-08:00","close_reason":"nuked","deleted_at":"2025-12-30T16:45:28.036118-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-toast","title":"gt-gastown-polecat-toast","description":"gt-gastown-polecat-toast\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-38doh\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:58:19.899125-08:00","created_by":"mayor","updated_at":"2025-12-30T17:57:19.45926-08:00","closed_at":"2025-12-30T16:45:28.220218-08:00","close_reason":"nuked","deleted_at":"2025-12-30T16:45:28.184484-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-toast","title":"gt-gastown-polecat-toast","description":"gt-gastown-polecat-toast\n\nrole_type: polecat\nrig: gastown\nagent_state: running\nhook_bead: gt-38doh\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:58:19.899125-08:00","created_by":"mayor","updated_at":"2025-12-30T18:04:15.972092-08:00","closed_at":"2025-12-30T16:45:28.220218-08:00","close_reason":"nuked","deleted_at":"2025-12-30T16:45:28.184484-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-valkyrie","title":"gt-gastown-polecat-valkyrie","description":"gt-gastown-polecat-valkyrie\n\nrole_type: polecat\nrig: gastown\nagent_state: done\nhook_bead: null\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-29T21:58:58.583302-08:00","created_by":"mayor","updated_at":"2025-12-30T15:19:20.90588-08:00","closed_at":"2025-12-30T15:19:20.90588-08:00","close_reason":"nuked","deleted_at":"2025-12-30T15:19:20.873687-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-polecat-warboy","title":"gt-gastown-polecat-warboy","description":"gt-gastown-polecat-warboy\n\nrole_type: polecat\nrig: gastown\nagent_state: spawning\nhook_bead: null\nrole_bead: gt-polecat-role\ncleanup_status: has_stash","status":"closed","priority":2,"issue_type":"agent","created_at":"2025-12-30T06:47:40.892638-08:00","created_by":"mayor","updated_at":"2025-12-30T15:19:21.040512-08:00","closed_at":"2025-12-30T15:19:21.040512-08:00","close_reason":"nuked","deleted_at":"2025-12-30T15:19:21.0084-08:00","deleted_by":"batch delete","delete_reason":"batch delete","original_type":"agent"}
{"id":"gt-gastown-refinery","title":"Refinery for gastown - processes merge queue.","description":"Refinery for gastown - processes merge queue.\n\nrole_type: refinery\nrig: gastown\nagent_state: running\nhook_bead: null\nrole_bead: gt-refinery-role\ncleanup_status: null","status":"open","priority":2,"issue_type":"agent","created_at":"2025-12-29T14:48:16.178399-08:00","created_by":"gastown/crew/max","updated_at":"2025-12-30T15:05:50.915611-08:00"}
@@ -1324,11 +1325,13 @@
{"id":"gt-i6jvc","title":"Config directory and schema for messaging","description":"Create ~/gt/config/ directory structure for messaging configuration.\n\n## Deliverables\n\n1. Create ~/gt/config/ directory\n2. Define JSON schema for lists.json:\n ```json\n {\n \"oncall\": [\"mayor/\", \"gastown/witness\"],\n \"cleanup/gastown\": [\"gastown/witness\", \"deacon/\"]\n }\n ```\n3. Define JSON schema for queues.json (if separate from lists)\n4. Add config loading utility in internal/config/\n\n## Acceptance\n- Config directory exists\n- Schema documented\n- Load/parse functions work","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-26T14:51:36.803749-08:00","updated_at":"2025-12-28T14:07:37.693255-08:00","closed_at":"2025-12-28T14:07:37.693255-08:00"}
{"id":"gt-i6k1","title":"Clean up duplicate patrol protos (gt-qflq, gt-iep9)","description":"There are duplicate protos for patrol molecules:\n\n## Duplicates\n\n| Old Proto | New Proto | Name |\n|-----------|-----------|------|\n| gt-qflq | mol-witness-patrol | mol-witness-patrol |\n| gt-iep9 | mol-deacon-patrol | mol-deacon-patrol |\n\nThe old gt-* prefix protos were created before the formula cooking system.\nThe new mol-* prefix protos were created by `bd cook`.\n\n## Action\n\n1. Close or delete the old gt-* protos\n2. Update any references to use the new mol-* protos\n3. Verify `bd mol list` shows clean output\n\n## Root Cause\n\nThe bd cook command uses the formula name as the proto ID (mol-*), \nnot the project prefix (gt-*). This is probably correct behavior,\nbut means we have legacy protos to clean up.","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-24T13:50:11.424341-08:00","updated_at":"2025-12-27T21:29:55.510323-08:00","deleted_at":"2025-12-27T21:29:55.510323-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
{"id":"gt-i6pub","title":"Digest: mol-deacon-patrol","description":"Patrol complete: 0 callbacks, no gates, all witnesses/refineries healthy, no orphans","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-27T22:15:38.387794-08:00","updated_at":"2025-12-27T22:15:38.387794-08:00","closed_at":"2025-12-27T22:15:38.387759-08:00"}
{"id":"gt-i6xqu","title":"Merge: toast-1767146237529","description":"branch: polecat/toast-1767146237529\ntarget: main\nsource_issue: toast-1767146237529\nrig: gastown","status":"open","priority":2,"issue_type":"merge-request","created_at":"2025-12-30T18:03:32.882144-08:00","created_by":"gastown/polecats/toast","updated_at":"2025-12-30T18:03:32.882144-08:00"}
{"id":"gt-i73jh","title":"Digest: mol-deacon-patrol","description":"Patrol 11: all healthy","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T21:57:41.693222-08:00","updated_at":"2025-12-27T21:26:00.524485-08:00","deleted_at":"2025-12-27T21:26:00.524485-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
{"id":"gt-i7eif","title":"Digest: mol-deacon-patrol","description":"Patrol 11: all clear","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-28T08:17:28.507015-08:00","updated_at":"2025-12-28T08:17:28.507015-08:00","closed_at":"2025-12-28T08:17:28.506983-08:00"}
{"id":"gt-i7tmd","title":"Merge: rictus-1767084016819","description":"branch: polecat/rictus-1767084016819\ntarget: main\nsource_issue: rictus-1767084016819\nrig: gastown","status":"closed","priority":2,"issue_type":"merge-request","created_at":"2025-12-30T00:58:46.107892-08:00","created_by":"gastown/polecats/rictus","updated_at":"2025-12-30T01:01:27.168699-08:00","closed_at":"2025-12-30T01:01:27.168699-08:00","close_reason":"Already merged to main"}
{"id":"gt-i7wcn","title":"Polecat sessions terminate unexpectedly during work","description":"During swarm bd-784c, polecat sessions (Toast, Nux) terminated mid-task without completing their work.\n\n**Observed:**\n- Polecats were actively working (edits in progress, tests running)\n- Sessions suddenly showed 'not running' in gt polecat status\n- tmux sessions existed but were empty/reset\n- Work was partially complete (some commits made, issue still open)\n\n**Impact:**\n- Lost work progress\n- Required manual intervention to restart\n- Unclear if work was saved/committed\n\n**Suggestion:**\n- Add session health monitoring\n- Auto-restart on unexpected termination\n- Log session exit reasons","status":"closed","priority":2,"issue_type":"bug","assignee":"gastown/polecats/toast","created_at":"2025-12-28T22:14:07.876275-08:00","created_by":"beads/crew/emma","updated_at":"2025-12-29T22:07:52.213183-08:00","closed_at":"2025-12-29T22:07:52.213183-08:00","close_reason":"Implemented session health monitoring and auto-restart for crashed polecats. Changes include: (1) daemon now proactively checks polecat session health and auto-restarts crashed sessions with work-on-hook, (2) added polecat support to lifecycle identity mapping, (3) added 'gt session check' command for manual health checking."}
{"id":"gt-i9s7o","title":"Add tmux crash detection hooks","description":"Use tmux hooks to detect when agent panes die unexpectedly.\n\n## tmux Hooks to Use\n- pane-died: fires when a pane exits\n- session-closed: fires when session ends\n\n## Implementation\n```bash\nset-hook -g pane-died 'run-shell \"gt log pane-died #{pane_id} #{pane_dead_status}\"'\nset-hook -g session-closed 'run-shell \"gt log session-closed #{session_name}\"'\n```\n\n## Integration\n- gt spawn should set these hooks on agent sessions\n- Distinguish expected exits (handoff, done) from crashes\n- Capture last N lines of output on crash\n- Record exit code/signal for forensics\n\n## gt log crash command\n- Parse pane-died events\n- Show crash history\n- Filter by agent, time range","status":"tombstone","priority":1,"issue_type":"feature","created_at":"2025-12-26T15:29:40.899086-08:00","updated_at":"2025-12-27T21:29:45.882716-08:00","deleted_at":"2025-12-27T21:29:45.882716-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"feature"}
{"id":"gt-i9y2a","title":"Merge: toast-1767146237529","description":"branch: polecat/toast-1767146237529\ntarget: main\nsource_issue: toast-1767146237529\nrig: gastown","status":"open","priority":2,"issue_type":"merge-request","created_at":"2025-12-30T18:04:15.703708-08:00","created_by":"gastown/polecats/toast","updated_at":"2025-12-30T18:04:15.703708-08:00"}
{"id":"gt-ia0s","title":"Review: Beads Universal Data Plane documentation","description":"Review new docs/beads-data-plane.md (275 lines) for accuracy.\n\n## Commit\n- 54c8269: Add Beads Universal Data Plane documentation\n\n## Review focus\n- Accuracy of beads architecture description\n- Correct field mappings (mail → beads fields)\n- Two-level architecture (town vs rig beads) correctly explained","status":"open","priority":3,"issue_type":"task","created_at":"2025-12-23T14:27:49.410707-08:00","updated_at":"2025-12-23T14:27:49.410707-08:00","dependencies":[{"issue_id":"gt-ia0s","depends_on_id":"gt-e0qj2","type":"blocks","created_at":"2025-12-26T23:21:29.418109-08:00","created_by":"daemon"}]}
{"id":"gt-iahc","title":"Merge: gt-h6eq.6","description":"branch: polecat/keeper\ntarget: main\nsource_issue: gt-h6eq.6\nrig: gastown","status":"tombstone","priority":3,"issue_type":"merge-request","created_at":"2025-12-23T11:42:12.738221-08:00","updated_at":"2025-12-27T21:27:22.997501-08:00","deleted_at":"2025-12-27T21:27:22.997501-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"merge-request"}
{"id":"gt-ib6y","title":"Digest: mol-deacon-patrol @ 2025-12-24 19:48","description":"Patrol 19: All healthy","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-24T19:48:16.252232-08:00","updated_at":"2025-12-27T21:26:05.038122-08:00","deleted_at":"2025-12-27T21:26:05.038122-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
@@ -2400,7 +2403,7 @@
{"id":"gt-xf5d","title":"Digest: mol-deacon-patrol","description":"Patrol 9","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-24T23:08:57.919962-08:00","updated_at":"2025-12-27T21:26:04.449625-08:00","deleted_at":"2025-12-27T21:26:04.449625-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
{"id":"gt-xfznm","title":"Digest: mol-deacon-patrol","description":"Patrol 15: all healthy","status":"tombstone","priority":2,"issue_type":"task","created_at":"2025-12-26T21:59:55.813534-08:00","updated_at":"2025-12-27T21:26:00.490588-08:00","deleted_at":"2025-12-27T21:26:00.490588-08:00","deleted_by":"daemon","delete_reason":"delete","original_type":"task"}
{"id":"gt-xgqnb","title":"Day 1.5: Create role beads from CLAUDE.md content","description":"Create role beads from existing CLAUDE.md files:\n- gt-mayor-role (from mayor CLAUDE.md)\n- gt-witness-role (from witness CLAUDE.md)\n- gt-refinery-role (from refinery CLAUDE.md)\n\nEach role bead contains priming instructions and default_molecule.\n\nParent: gt-d0jqp","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-27T20:58:18.455282-08:00","created_by":"mayor","updated_at":"2025-12-28T00:51:56.6882-08:00","closed_at":"2025-12-28T00:51:56.6882-08:00","dependencies":[{"issue_id":"gt-xgqnb","depends_on_id":"gt-awu07","type":"blocks","created_at":"2025-12-27T20:58:51.902061-08:00","created_by":"daemon"},{"issue_id":"gt-xgqnb","depends_on_id":"gt-d0jqp","type":"parent-child","created_at":"2025-12-27T20:59:02.757231-08:00","created_by":"daemon"},{"issue_id":"gt-xgqnb","depends_on_id":"gt-gzp2y","type":"blocks","created_at":"2025-12-27T23:17:26.759727-08:00","created_by":"daemon"}]}
{"id":"gt-xheo6","title":"Cross-rig worktree support for crew","description":"Enable crew workers to work on other rigs without losing identity.\n\n**Problem**: When gastown/crew/joe needs to fix a beads bug, where do they work?\nCurrent options are all problematic: mayor's rig (coordination, not coding), random\ncrew clone (conflicts), community repo (file locks), dogs (wrong abstraction).\n\n**Solution**: Crew creates worktrees in target rigs with predictable paths.\n\nDirectory structure:\n```\n~/gt/\u003ctarget-rig\u003e/crew/\u003csource-rig\u003e-\u003cname\u003e/\n~/gt/beads/crew/gastown-joe/ # joe from gastown working on beads\n~/gt/gastown/crew/beads-wolf/ # wolf from beads working on gastown\n```\n\nKey principles:\n- Identity preserved: BD_ACTOR stays gastown/crew/joe\n- No conflicts: Each crew has own worktree\n- No indirection: Direct work, no delegation to dogs\n- Persistent: Worktree survives sessions (matches crew lifecycle)\n- Dogs remain for Deacon's infrastructure work only\n\nCommands:\n- gt worktree \u003crig\u003e - Create/enter worktree for rig\n- gt worktree list - Show your worktrees \n- gt worktree remove \u003crig\u003e - Clean up worktree","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-30T17:40:29.036817-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T17:40:29.036817-08:00"}
{"id":"gt-xheo6","title":"Cross-rig worktree support for crew","description":"Enable crew workers to work on other rigs without losing identity.\n\n**Problem**: When gastown/crew/joe needs to fix a beads bug, where do they work?\nCurrent options are all problematic: mayor's rig (coordination, not coding), random\ncrew clone (conflicts), community repo (file locks), dogs (wrong abstraction).\n\n**Solution**: Crew creates worktrees in target rigs with predictable paths.\n\nDirectory structure:\n```\n~/gt/\u003ctarget-rig\u003e/crew/\u003csource-rig\u003e-\u003cname\u003e/\n~/gt/beads/crew/gastown-joe/ # joe from gastown working on beads\n~/gt/gastown/crew/beads-wolf/ # wolf from beads working on gastown\n```\n\nKey principles:\n- Identity preserved: BD_ACTOR stays gastown/crew/joe\n- No conflicts: Each crew has own worktree\n- No indirection: Direct work, no delegation to dogs\n- Persistent: Worktree survives sessions (matches crew lifecycle)\n- Dogs remain for Deacon's infrastructure work only\n\nCommands:\n- gt worktree \u003crig\u003e - Create/enter worktree for rig\n- gt worktree list - Show your worktrees \n- gt worktree remove \u003crig\u003e - Clean up worktree","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-30T17:40:29.036817-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T18:05:16.831244-08:00","closed_at":"2025-12-30T18:05:16.831244-08:00","close_reason":"Cross-rig worktree support complete - all 4 tasks implemented."}
{"id":"gt-xheo6.1","title":"Implement gt worktree create command","description":"Create worktree in target rig for cross-rig work.\n\nUsage: gt worktree \u003crig\u003e\n\nBehavior:\n1. Detect current identity (gastown/crew/joe)\n2. Compute worktree path: ~/gt/\u003crig\u003e/crew/\u003csource-rig\u003e-\u003cname\u003e/\n3. If worktree doesn't exist:\n - git worktree add \u003cpath\u003e main\n - Set up .git config for identity preservation\n4. cd to worktree (or print path for user to cd)\n5. Preserve BD_ACTOR, GT_ROLE, etc.\n\nEdge cases:\n- Worktree already exists → just enter it\n- Rig doesn't exist → error with helpful message\n- No crew identity → error (must be crew to use this)","status":"closed","priority":1,"issue_type":"task","assignee":"gastown/polecats/dementus","created_at":"2025-12-30T17:40:48.552114-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T18:01:38.977513-08:00","closed_at":"2025-12-30T18:01:38.977513-08:00","close_reason":"Implemented gt worktree command for cross-rig work","dependencies":[{"issue_id":"gt-xheo6.1","depends_on_id":"gt-xheo6","type":"parent-child","created_at":"2025-12-30T17:40:48.552745-08:00","created_by":"gastown/crew/joe"}]}
{"id":"gt-xheo6.2","title":"Implement gt worktree list command","description":"List all worktrees owned by current crew member.\n\nUsage: gt worktree list\n\nOutput:\n```\nCross-rig worktrees for gastown/crew/joe:\n\n beads ~/gt/beads/crew/gastown-joe/ (clean)\n mayor ~/gt/mayor/crew/gastown-joe/ (2 uncommitted)\n```\n\nImplementation:\n- Scan all rigs in ~/gt/\n- Check for crew/\u003csource-rig\u003e-\u003cname\u003e/ directories\n- Show git status summary for each","status":"closed","priority":2,"issue_type":"task","assignee":"gastown/polecats/capable","created_at":"2025-12-30T17:40:49.847297-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T18:03:18.471865-08:00","closed_at":"2025-12-30T18:03:18.471865-08:00","close_reason":"Implemented gt worktree list command with role detection, cross-rig worktree scanning, and git status display","dependencies":[{"issue_id":"gt-xheo6.2","depends_on_id":"gt-xheo6","type":"parent-child","created_at":"2025-12-30T17:40:49.847843-08:00","created_by":"gastown/crew/joe"}]}
{"id":"gt-xheo6.3","title":"Implement gt worktree remove command","description":"Remove a cross-rig worktree.\n\nUsage: gt worktree remove \u003crig\u003e\n\nBehavior:\n1. Check for uncommitted changes → warn/abort\n2. git worktree remove \u003cpath\u003e\n3. Clean up directory if needed\n\nSafety:\n- Refuse if uncommitted changes (unless --force)\n- Confirm before removal","status":"closed","priority":2,"issue_type":"task","assignee":"gastown/polecats/toast","created_at":"2025-12-30T17:40:50.857156-08:00","created_by":"gastown/crew/joe","updated_at":"2025-12-30T18:03:14.728163-08:00","closed_at":"2025-12-30T18:03:14.728163-08:00","close_reason":"Implemented gt worktree remove command with safety checks","dependencies":[{"issue_id":"gt-xheo6.3","depends_on_id":"gt-xheo6","type":"parent-child","created_at":"2025-12-30T17:40:50.857664-08:00","created_by":"gastown/crew/joe"}]}

11
.beads/mq/gt-860md.json Normal file
View File

@@ -0,0 +1,11 @@
{
"id": "gt-860md",
"branch": "polecat/capable-1767146233256",
"target": "main",
"source_issue": "capable-1767146233256",
"worker": "",
"rig": "gastown",
"title": "Merge: capable-1767146233256",
"priority": 2,
"created_at": "2025-12-30T18:03:37.998767-08:00"
}

11
.beads/mq/gt-i6xqu.json Normal file
View File

@@ -0,0 +1,11 @@
{
"id": "gt-i6xqu",
"branch": "polecat/toast-1767146237529",
"target": "main",
"source_issue": "toast-1767146237529",
"worker": "",
"rig": "gastown",
"title": "Merge: toast-1767146237529",
"priority": 2,
"created_at": "2025-12-30T18:03:32.883944-08:00"
}

11
.beads/mq/gt-i9y2a.json Normal file
View File

@@ -0,0 +1,11 @@
{
"id": "gt-i9y2a",
"branch": "polecat/toast-1767146237529",
"target": "main",
"source_issue": "toast-1767146237529",
"worker": "",
"rig": "gastown",
"title": "Merge: toast-1767146237529",
"priority": 2,
"created_at": "2025-12-30T18:04:15.705404-08:00"
}