bd sync: 2025-12-25 22:29:32
This commit is contained in:
@@ -1375,7 +1375,7 @@
|
||||
{"id":"gt-tw1g","title":"Startup hook should validate attached molecule is still open","description":"When the SessionStart hook outputs attached_molecule from the handoff bead, it should check if that molecule is still open. If closed, it should:\n1. Clear the stale attachment\n2. Auto-spawn a fresh patrol molecule\n3. Attach the new patrol\n\nCurrently it just outputs the stale reference without validation, leaving the Deacon confused about what to run.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-23T13:16:51.73028-08:00","updated_at":"2025-12-25T21:01:40.884291-08:00","closed_at":"2025-12-25T21:01:40.884291-08:00","close_reason":"Low priority bugs or cosmetic issues. Not blocking autonomous patrols."}
|
||||
{"id":"gt-twjr5","title":"Async Coordination Gates","description":"Agents wait for external events without polling.\n\n## Problem\nAgents cannot wait for external conditions (CI completion, human approval, timers) without wasteful polling or losing state on handoff.\n\n## Requirements\n- Gate issue type in beads (type=gate)\n- bd gate create --await timer:5m / gh:run:123 / human:approve / mail:pattern\n- Deacon evaluates pending gates each patrol cycle\n- Agents park work on gate, resume when condition met\n- Gate timeout and notification\n\n## Gate Types\n- timer:\u003cduration\u003e - Simple delay (5m, 1h, 24h)\n- gh:run:\u003cid\u003e - GitHub Actions run completion\n- gh:pr:\u003cid\u003e - PR merged/closed \n- human:\u003cprompt\u003e - Human approval required\n- mail:\u003cpattern\u003e - Wait for mail matching pattern\n\n## Success Criteria\n- Agent can create gate and suspend work\n- Deacon wakes agent when gate condition met\n- Gates survive session cycling\n\nConsolidates gt-31eg. Parallel work with no dependencies.","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-25T20:46:07.930952-08:00","updated_at":"2025-12-25T20:46:07.930952-08:00"}
|
||||
{"id":"gt-twjr5.1","title":"Gate issue type and bd gate create","description":"Add type=gate to beads schema. Implement bd gate create command with --await flag. Gates are special issues that represent wait conditions. Example: bd gate create --await timer:5m --title 'Wait for cooldown'","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T20:55:44.796316-08:00","updated_at":"2025-12-25T22:12:41.484839-08:00","closed_at":"2025-12-25T22:12:41.484839-08:00","close_reason":"Already implemented in beads - TypeGate in types.go, full bd gate command in gate.go","dependencies":[{"issue_id":"gt-twjr5.1","depends_on_id":"gt-twjr5","type":"parent-child","created_at":"2025-12-25T20:55:44.7969-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-twjr5.2","title":"Timer gate evaluation","description":"Implement timer gate type. Format: timer:\u003cduration\u003e (5m, 1h, 24h). Deacon evaluates pending timer gates each patrol cycle. Gate closes when duration elapsed since creation. Simplest gate type - implement first.","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T20:55:46.781785-08:00","updated_at":"2025-12-25T20:55:46.781785-08:00","dependencies":[{"issue_id":"gt-twjr5.2","depends_on_id":"gt-twjr5","type":"parent-child","created_at":"2025-12-25T20:55:46.783602-08:00","created_by":"daemon"},{"issue_id":"gt-twjr5.2","depends_on_id":"gt-twjr5.1","type":"blocks","created_at":"2025-12-25T20:56:46.669095-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-twjr5.2","title":"Timer gate evaluation","description":"Implement timer gate type. Format: timer:\u003cduration\u003e (5m, 1h, 24h). Deacon evaluates pending timer gates each patrol cycle. Gate closes when duration elapsed since creation. Simplest gate type - implement first.","status":"in_progress","priority":1,"issue_type":"task","created_at":"2025-12-25T20:55:46.781785-08:00","updated_at":"2025-12-25T22:15:55.146423-08:00","dependencies":[{"issue_id":"gt-twjr5.2","depends_on_id":"gt-twjr5","type":"parent-child","created_at":"2025-12-25T20:55:46.783602-08:00","created_by":"daemon"},{"issue_id":"gt-twjr5.2","depends_on_id":"gt-twjr5.1","type":"blocks","created_at":"2025-12-25T20:56:46.669095-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-twjr5.3","title":"GitHub gates (gh:run, gh:pr)","description":"Implement GitHub gate types using gh CLI. gh:run:\u003cid\u003e waits for Actions run completion. gh:pr:\u003cid\u003e waits for PR merged/closed. Deacon polls status during patrol cycle.","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T20:55:48.108365-08:00","updated_at":"2025-12-25T20:55:48.108365-08:00","dependencies":[{"issue_id":"gt-twjr5.3","depends_on_id":"gt-twjr5","type":"parent-child","created_at":"2025-12-25T20:55:48.110599-08:00","created_by":"daemon"},{"issue_id":"gt-twjr5.3","depends_on_id":"gt-twjr5.1","type":"blocks","created_at":"2025-12-25T20:56:46.763122-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-twjr5.4","title":"Human and mail gates","description":"Implement human:\u003cprompt\u003e gate (requires explicit approval command). Implement mail:\u003cpattern\u003e gate (waits for mail matching pattern). These enable async human-in-loop workflows.","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-25T20:55:49.832861-08:00","updated_at":"2025-12-25T20:55:49.832861-08:00","dependencies":[{"issue_id":"gt-twjr5.4","depends_on_id":"gt-twjr5","type":"parent-child","created_at":"2025-12-25T20:55:49.833369-08:00","created_by":"daemon"},{"issue_id":"gt-twjr5.4","depends_on_id":"gt-twjr5.1","type":"blocks","created_at":"2025-12-25T20:56:46.85494-08:00","created_by":"daemon"}]}
|
||||
{"id":"gt-twjr5.5","title":"Agent parking and resuming","description":"Implement gt park and gt resume commands. Agent parks work on a gate, state persists across sessions. When gate condition met, Deacon sends wake mail. Agent resumes from parked state. Critical for async workflows.","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-25T20:55:51.294474-08:00","updated_at":"2025-12-25T20:55:51.294474-08:00","dependencies":[{"issue_id":"gt-twjr5.5","depends_on_id":"gt-twjr5","type":"parent-child","created_at":"2025-12-25T20:55:51.296459-08:00","created_by":"daemon"},{"issue_id":"gt-twjr5.5","depends_on_id":"gt-twjr5.2","type":"blocks","created_at":"2025-12-25T20:56:46.946883-08:00","created_by":"daemon"}]}
|
||||
@@ -1590,6 +1590,7 @@
|
||||
{"id":"gt-z6a5","title":"Digest: mol-deacon-patrol @ 2025-12-24 19:43","description":"Patrol 3: All healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T19:43:12.75587-08:00","updated_at":"2025-12-24T19:43:12.75587-08:00","closed_at":"2025-12-24T19:43:12.755801-08:00","close_reason":"Squashed from wisp gt-8ow (9 issues)"}
|
||||
{"id":"gt-z7hwn","title":"Digest: mol-deacon-patrol","description":"Patrol 6: Quiet","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:15:32.191569-08:00","updated_at":"2025-12-25T19:15:32.191569-08:00","closed_at":"2025-12-25T19:15:32.191504-08:00","close_reason":"Squashed from 8 wisps"}
|
||||
{"id":"gt-z80br","title":"Digest: mol-deacon-patrol","description":"Patrol 4: Routine, witnesses/refineries healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T20:49:11.210041-08:00","updated_at":"2025-12-25T20:49:11.210041-08:00","closed_at":"2025-12-25T20:49:11.20999-08:00","close_reason":"Squashed from 8 wisps"}
|
||||
{"id":"gt-z9qoo","title":"gt sling: support standalone formula slinging","description":"## Summary\nEnhance gt sling to support slinging standalone formulas (not just beads or formula-on-bead).\n\n## Current Behavior\n- `gt sling \u003cbead\u003e [target]` - works\n- `gt sling \u003cformula\u003e --on \u003cbead\u003e [target]` - works (formula shapes bead)\n- `gt sling \u003cformula\u003e [target]` - FAILS (tries to find bead named \u003cformula\u003e)\n\n## Proposed Behavior\nWhen first arg is not a bead but IS a formula, enter standalone formula mode:\n\n```bash\ngt sling mol-town-shutdown mayor/\ngt sling towers-of-hanoi crew --var disks=3\n```\n\nFlow:\n1. `verifyBeadExists()` fails\n2. `verifyFormulaExists()` succeeds\n3. Cook formula if needed (`bd cook`)\n4. Create wisp instance (`bd wisp`)\n5. Attach to target hook\n6. Nudge to start\n\n## Implementation\n1. Add formula detection fallback in `runSling()`\n2. Add `runSlingFormula()` helper\n3. Add `--var` flag for formula variables\n\n## Files\n- internal/cmd/sling.go","status":"in_progress","priority":1,"issue_type":"feature","created_at":"2025-12-25T22:26:29.478959-08:00","updated_at":"2025-12-25T22:26:37.707258-08:00"}
|
||||
{"id":"gt-z9xv","title":"Merge: gt-ldk8","description":"branch: polecat/nux\ntarget: main\nsource_issue: gt-ldk8\nrig: gastown","status":"closed","priority":1,"issue_type":"merge-request","created_at":"2025-12-23T00:18:18.894709-08:00","updated_at":"2025-12-23T01:18:52.583727-08:00","closed_at":"2025-12-23T01:18:52.583727-08:00","close_reason":"Already merged (duplicate MRs)"}
|
||||
{"id":"gt-zayu","title":"Refinery tmux status: show merge queue length","description":"Add refinery-specific status line showing:\n- MQ length (pending merges)\n- Currently processing item (if any)\n- Maybe: success/failure counts\n\nImplement in runRefineryStatusLine() in internal/cmd/statusline.go","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-21T15:40:30.569547-08:00","updated_at":"2025-12-21T15:47:49.493735-08:00","closed_at":"2025-12-21T15:47:49.493735-08:00","close_reason":"Implemented status line functions for witness and refinery"}
|
||||
{"id":"gt-zazaj","title":"Digest: mol-deacon-patrol","description":"Patrol 8: All agents healthy","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T01:56:29.544893-08:00","updated_at":"2025-12-25T01:56:29.544893-08:00","closed_at":"2025-12-25T01:56:29.544857-08:00","close_reason":"Squashed from 8 wisps"}
|
||||
|
||||
Reference in New Issue
Block a user