opencode-swarm-plugin 0.20.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,5 @@
1
1
  {"id":"opencode-swarm-plugin-006","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.500551-08:00","updated_at":"2025-12-07T19:34:54.606061-08:00","closed_at":"2025-12-07T19:34:54.606061-08:00"}
2
+ {"id":"opencode-swarm-plugin-00k3h","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.838669-08:00","updated_at":"2025-12-13T18:16:32.967628-08:00","closed_at":"2025-12-13T18:16:32.967628-08:00"}
2
3
  {"id":"opencode-swarm-plugin-01ozp","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:05.660762-08:00","updated_at":"2025-12-10T09:06:09.607108-08:00","closed_at":"2025-12-10T09:06:09.607108-08:00"}
3
4
  {"id":"opencode-swarm-plugin-01yqg","title":"Skills security hardening from PR review","description":"Address remaining CodeRabbit suggestions from PR #5:\n- skills_execute: Add timeout to prevent scripts hanging indefinitely\n- skills_execute: Consolidate on spawn (remove ctx?.$ branch)\n- skills_read: Harden path traversal for Windows (backslash, absolute paths)\n- skills_init: Tighten script_name validation for Windows separators\n- skills_create: Quote YAML scalars in generateSkillContent (already addressed via gray-matter)\n- Test improvements: Use unique temp dir per test run, make import.meta.url assertion less brittle","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-12T21:25:51.328858-08:00","updated_at":"2025-12-12T21:29:53.849155-08:00","closed_at":"2025-12-12T21:29:53.849155-08:00"}
4
5
  {"id":"opencode-swarm-plugin-02bv","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:11:23.937484-08:00","updated_at":"2025-12-08T11:11:25.917071-08:00","closed_at":"2025-12-08T11:11:25.917071-08:00"}
@@ -11,6 +12,7 @@
11
12
  {"id":"opencode-swarm-plugin-05mcs","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.790073-08:00","updated_at":"2025-12-09T10:00:26.756896-08:00","closed_at":"2025-12-09T10:00:26.756896-08:00"}
12
13
  {"id":"opencode-swarm-plugin-0720","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.375626-08:00","updated_at":"2025-12-08T08:56:57.950858-08:00","closed_at":"2025-12-08T08:56:57.950858-08:00"}
13
14
  {"id":"opencode-swarm-plugin-07m","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.92786-08:00","updated_at":"2025-12-07T19:39:12.442074-08:00","closed_at":"2025-12-07T19:39:12.442074-08:00"}
15
+ {"id":"opencode-swarm-plugin-081t1","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.956336-08:00","updated_at":"2025-12-13T18:16:33.933974-08:00","closed_at":"2025-12-13T18:16:33.933974-08:00"}
14
16
  {"id":"opencode-swarm-plugin-090","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:39:18.980247-08:00","updated_at":"2025-12-07T19:39:20.684844-08:00","closed_at":"2025-12-07T19:39:20.684844-08:00"}
15
17
  {"id":"opencode-swarm-plugin-0agp","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.766681-08:00","updated_at":"2025-12-08T11:11:25.385398-08:00","closed_at":"2025-12-08T11:11:25.385398-08:00"}
16
18
  {"id":"opencode-swarm-plugin-0bhyc","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:05.792553-08:00","updated_at":"2025-12-10T09:06:09.707617-08:00","closed_at":"2025-12-10T09:06:09.707617-08:00"}
@@ -19,6 +21,7 @@
19
21
  {"id":"opencode-swarm-plugin-0bodc.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-09T10:00:23.772101-08:00","updated_at":"2025-12-09T10:00:26.249968-08:00","closed_at":"2025-12-09T10:00:26.249968-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.2","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.772406-08:00","created_by":"daemon"}]}
20
22
  {"id":"opencode-swarm-plugin-0bodc.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:23.815565-08:00","updated_at":"2025-12-09T10:00:26.281479-08:00","closed_at":"2025-12-09T10:00:26.281479-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.3","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.815895-08:00","created_by":"daemon"}]}
21
23
  {"id":"opencode-swarm-plugin-0bv4r","title":"Add validation to promotePattern state transition","description":"src/pattern-maturity.ts:266-282 - promotePattern throws on deprecated but silently returns on already proven. Consider warning or error for unexpected states like promoting from \"candidate\" without enough feedback.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:36.184348-08:00","updated_at":"2025-12-13T16:20:33.514538-08:00","closed_at":"2025-12-13T16:20:33.514538-08:00"}
24
+ {"id":"opencode-swarm-plugin-0cfbg","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-14T09:30:17.955215-08:00","updated_at":"2025-12-14T09:30:22.696235-08:00","closed_at":"2025-12-14T09:30:22.696235-08:00"}
22
25
  {"id":"opencode-swarm-plugin-0giv","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.5822-08:00","updated_at":"2025-12-08T08:21:30.125084-08:00","closed_at":"2025-12-08T08:21:30.125084-08:00"}
23
26
  {"id":"opencode-swarm-plugin-0h7kz","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:49.245547-08:00","updated_at":"2025-12-13T11:20:52.464106-08:00","closed_at":"2025-12-13T11:20:52.464106-08:00"}
24
27
  {"id":"opencode-swarm-plugin-0idn1","title":"Document minSuccessRate default in formatSuccessfulPatternsForPrompt","description":"src/anti-patterns.ts:333 - minSuccessRate default 0.7 (70%) is arbitrary. Add JSDoc: \"/** @param minSuccessRate - Minimum success rate to include (default 0.7 = 70%, chosen to filter out patterns with marginal track records) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:26.678439-08:00","updated_at":"2025-12-13T16:41:56.006348-08:00","closed_at":"2025-12-13T16:41:56.006348-08:00"}
@@ -33,6 +36,7 @@
33
36
  {"id":"opencode-swarm-plugin-0llr","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.509809-08:00","updated_at":"2025-12-07T19:56:44.737443-08:00","closed_at":"2025-12-07T19:56:44.737443-08:00"}
34
37
  {"id":"opencode-swarm-plugin-0lo41","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.208543-08:00","updated_at":"2025-12-10T09:06:09.912935-08:00","closed_at":"2025-12-10T09:06:09.912935-08:00"}
35
38
  {"id":"opencode-swarm-plugin-0nso6","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:48:40.259854-08:00","updated_at":"2025-12-13T14:48:44.582836-08:00","closed_at":"2025-12-13T14:48:44.582836-08:00"}
39
+ {"id":"opencode-swarm-plugin-0oj2y","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:17.828147-08:00","updated_at":"2025-12-14T09:30:22.605051-08:00","closed_at":"2025-12-14T09:30:22.605051-08:00"}
36
40
  {"id":"opencode-swarm-plugin-0oku","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.956973-08:00","updated_at":"2025-12-08T08:11:42.61703-08:00","closed_at":"2025-12-08T08:11:42.61703-08:00"}
37
41
  {"id":"opencode-swarm-plugin-0pd7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.598833-08:00","updated_at":"2025-12-08T11:12:28.0058-08:00","closed_at":"2025-12-08T11:12:28.0058-08:00"}
38
42
  {"id":"opencode-swarm-plugin-0phkm","title":"swarm.ts:920-956 - queryCassHistory returns null with no distinction on failure types","description":"swarm.ts:920-956 - queryCassHistory returns null for \"unavailable\", \"failed\", and \"no results\" cases without distinction. Callers can't tell if they should retry or if CASS is disabled. Suggested fix: Return structured result with status enum.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:31.086042-08:00","updated_at":"2025-12-10T11:56:18.166564-08:00","closed_at":"2025-12-10T11:56:18.166564-08:00"}
@@ -46,19 +50,27 @@
46
50
  {"id":"opencode-swarm-plugin-0w8hb","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:24.010017-08:00","updated_at":"2025-12-09T10:00:26.406101-08:00","closed_at":"2025-12-09T10:00:26.406101-08:00"}
47
51
  {"id":"opencode-swarm-plugin-0w8hb.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:24.057192-08:00","updated_at":"2025-12-09T10:00:26.438429-08:00","closed_at":"2025-12-09T10:00:26.438429-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0w8hb.1","depends_on_id":"opencode-swarm-plugin-0w8hb","type":"parent-child","created_at":"2025-12-09T10:00:24.057567-08:00","created_by":"daemon"}]}
48
52
  {"id":"opencode-swarm-plugin-0wk","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:37:34.417512-08:00","updated_at":"2025-12-07T19:37:36.339262-08:00","closed_at":"2025-12-07T19:37:36.339262-08:00"}
53
+ {"id":"opencode-swarm-plugin-0wm7m","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.00836-08:00","updated_at":"2025-12-14T09:30:23.269506-08:00","closed_at":"2025-12-14T09:30:23.269506-08:00"}
49
54
  {"id":"opencode-swarm-plugin-0zn","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.200661-08:00","updated_at":"2025-12-07T19:37:36.249197-08:00","closed_at":"2025-12-07T19:37:36.249197-08:00"}
55
+ {"id":"opencode-swarm-plugin-10vx2","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:21.370858-08:00","updated_at":"2025-12-14T09:30:24.349053-08:00","closed_at":"2025-12-14T09:30:24.349053-08:00"}
50
56
  {"id":"opencode-swarm-plugin-12ro","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:10.129035-08:00","updated_at":"2025-12-08T11:11:11.6419-08:00","closed_at":"2025-12-08T11:11:11.6419-08:00"}
51
57
  {"id":"opencode-swarm-plugin-13aa","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.871003-08:00","updated_at":"2025-12-08T11:11:11.584998-08:00","closed_at":"2025-12-08T11:11:11.584998-08:00"}
58
+ {"id":"opencode-swarm-plugin-14lcd","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.104746-08:00","updated_at":"2025-12-13T18:16:35.048065-08:00","closed_at":"2025-12-13T18:16:35.048065-08:00"}
52
59
  {"id":"opencode-swarm-plugin-14md","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.299923-08:00","updated_at":"2025-12-08T09:09:33.422668-08:00","closed_at":"2025-12-08T09:09:33.422668-08:00"}
53
60
  {"id":"opencode-swarm-plugin-165","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.522313-08:00","updated_at":"2025-12-07T19:37:36.383505-08:00","closed_at":"2025-12-07T19:37:36.383505-08:00"}
54
61
  {"id":"opencode-swarm-plugin-17kj","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.282723-08:00","updated_at":"2025-12-08T08:11:41.82511-08:00","closed_at":"2025-12-08T08:11:41.82511-08:00"}
62
+ {"id":"opencode-swarm-plugin-18mr0","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.443542-08:00","updated_at":"2025-12-13T18:18:38.030016-08:00","closed_at":"2025-12-13T18:18:38.030016-08:00"}
55
63
  {"id":"opencode-swarm-plugin-19eh","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:08.630873-08:00","updated_at":"2025-12-08T11:11:10.570732-08:00","closed_at":"2025-12-08T11:11:10.570732-08:00"}
56
64
  {"id":"opencode-swarm-plugin-19eh.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.667405-08:00","updated_at":"2025-12-08T11:11:10.596193-08:00","closed_at":"2025-12-08T11:11:10.596193-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-19eh.1","depends_on_id":"opencode-swarm-plugin-19eh","type":"parent-child","created_at":"2025-12-08T11:11:08.667711-08:00","created_by":"daemon"}]}
57
65
  {"id":"opencode-swarm-plugin-19eh.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T11:11:08.701884-08:00","updated_at":"2025-12-08T11:11:10.620275-08:00","closed_at":"2025-12-08T11:11:10.620275-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-19eh.2","depends_on_id":"opencode-swarm-plugin-19eh","type":"parent-child","created_at":"2025-12-08T11:11:08.702188-08:00","created_by":"daemon"}]}
58
66
  {"id":"opencode-swarm-plugin-19wa","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.462796-08:00","updated_at":"2025-12-07T19:57:08.958826-08:00","closed_at":"2025-12-07T19:57:08.958826-08:00"}
67
+ {"id":"opencode-swarm-plugin-1agr0","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:52.382891-08:00","updated_at":"2025-12-14T13:58:55.911799-08:00","closed_at":"2025-12-14T13:58:55.911799-08:00"}
68
+ {"id":"opencode-swarm-plugin-1agr0.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.436237-08:00","updated_at":"2025-12-14T13:58:55.956143-08:00","closed_at":"2025-12-14T13:58:55.956143-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1agr0.1","depends_on_id":"opencode-swarm-plugin-1agr0","type":"parent-child","created_at":"2025-12-14T13:58:52.437661-08:00","created_by":"daemon"}]}
69
+ {"id":"opencode-swarm-plugin-1agr0.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.492394-08:00","updated_at":"2025-12-14T13:58:55.998485-08:00","closed_at":"2025-12-14T13:58:55.998485-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1agr0.2","depends_on_id":"opencode-swarm-plugin-1agr0","type":"parent-child","created_at":"2025-12-14T13:58:52.493199-08:00","created_by":"daemon"}]}
59
70
  {"id":"opencode-swarm-plugin-1ai2","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.094034-08:00","updated_at":"2025-12-07T19:56:45.031937-08:00","closed_at":"2025-12-07T19:56:45.031937-08:00"}
60
71
  {"id":"opencode-swarm-plugin-1cgv","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.149467-08:00","updated_at":"2025-12-08T07:46:51.764291-08:00","closed_at":"2025-12-08T07:46:51.764291-08:00"}
61
72
  {"id":"opencode-swarm-plugin-1ct","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:34:52.847167-08:00","updated_at":"2025-12-07T19:34:54.828373-08:00","closed_at":"2025-12-07T19:34:54.828373-08:00"}
73
+ {"id":"opencode-swarm-plugin-1dhsw","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.788064-08:00","updated_at":"2025-12-14T09:30:23.509064-08:00","closed_at":"2025-12-14T09:30:23.509064-08:00"}
62
74
  {"id":"opencode-swarm-plugin-1dpc","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:23:19.429782-08:00","updated_at":"2025-12-08T08:23:19.619019-08:00","closed_at":"2025-12-08T08:23:19.619019-08:00"}
63
75
  {"id":"opencode-swarm-plugin-1dpc.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:19.46242-08:00","updated_at":"2025-12-08T08:23:19.545623-08:00","closed_at":"2025-12-08T08:23:19.545623-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1dpc.1","depends_on_id":"opencode-swarm-plugin-1dpc","type":"parent-child","created_at":"2025-12-08T08:23:19.462724-08:00","created_by":"daemon"}]}
64
76
  {"id":"opencode-swarm-plugin-1dpc.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:19.498318-08:00","updated_at":"2025-12-08T08:23:19.595083-08:00","closed_at":"2025-12-08T08:23:19.595083-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1dpc.2","depends_on_id":"opencode-swarm-plugin-1dpc","type":"parent-child","created_at":"2025-12-08T08:23:19.498652-08:00","created_by":"daemon"}]}
@@ -71,6 +83,7 @@
71
83
  {"id":"opencode-swarm-plugin-1j7ou","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.042472-08:00","updated_at":"2025-12-10T09:06:09.814596-08:00","closed_at":"2025-12-10T09:06:09.814596-08:00"}
72
84
  {"id":"opencode-swarm-plugin-1jhr8","title":"storage.ts:248-273 - Silent JSON parse failures in find()","description":"src/storage.ts:248-273 - The find() method catches JSON parse errors and returns empty arrays with no logging. If semantic-memory returns malformed data, callers have no visibility. Suggested fix: Log parse errors to console.warn before returning empty array.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:05:49.694433-08:00","updated_at":"2025-12-10T11:57:14.947397-08:00","closed_at":"2025-12-10T11:57:14.947397-08:00"}
73
85
  {"id":"opencode-swarm-plugin-1jo8","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:08.880228-08:00","updated_at":"2025-12-08T11:11:10.749334-08:00","closed_at":"2025-12-08T11:11:10.749334-08:00"}
86
+ {"id":"opencode-swarm-plugin-1ky3l","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.993073-08:00","updated_at":"2025-12-14T09:30:24.256789-08:00","closed_at":"2025-12-14T09:30:24.256789-08:00"}
74
87
  {"id":"opencode-swarm-plugin-1kz31","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.909764-08:00","updated_at":"2025-12-10T09:08:35.942266-08:00","closed_at":"2025-12-10T09:08:35.942266-08:00"}
75
88
  {"id":"opencode-swarm-plugin-1li","title":"Test parent","description":"","status":"closed","priority":2,"issue_type":"epic","created_at":"2025-12-07T19:35:34.909384-08:00","updated_at":"2025-12-08T08:35:24.648164-08:00","closed_at":"2025-12-08T08:35:24.648164-08:00"}
76
89
  {"id":"opencode-swarm-plugin-1li.1","title":"Test child","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:35:39.491063-08:00","updated_at":"2025-12-08T08:36:24.892828-08:00","closed_at":"2025-12-08T08:36:24.892828-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1li.1","depends_on_id":"opencode-swarm-plugin-1li","type":"parent-child","created_at":"2025-12-07T19:35:39.491364-08:00","created_by":"daemon"}]}
@@ -92,6 +105,7 @@
92
105
  {"id":"opencode-swarm-plugin-1qv5","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.009801-08:00","updated_at":"2025-12-08T07:53:46.398529-08:00","closed_at":"2025-12-08T07:53:46.398529-08:00"}
93
106
  {"id":"opencode-swarm-plugin-1r2","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.787144-08:00","updated_at":"2025-12-07T19:39:11.878331-08:00","closed_at":"2025-12-07T19:39:11.878331-08:00"}
94
107
  {"id":"opencode-swarm-plugin-1smoq","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.659321-08:00","updated_at":"2025-12-08T11:12:58.121888-08:00","closed_at":"2025-12-08T11:12:58.121888-08:00"}
108
+ {"id":"opencode-swarm-plugin-1spct","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:37.140889-08:00","updated_at":"2025-12-13T18:18:37.250187-08:00","closed_at":"2025-12-13T18:18:37.250187-08:00"}
95
109
  {"id":"opencode-swarm-plugin-1swm","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.613555-08:00","updated_at":"2025-12-08T11:11:40.988233-08:00","closed_at":"2025-12-08T11:11:40.988233-08:00"}
96
110
  {"id":"opencode-swarm-plugin-1t0k","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.703953-08:00","updated_at":"2025-12-08T09:09:33.136938-08:00","closed_at":"2025-12-08T09:09:33.136938-08:00"}
97
111
  {"id":"opencode-swarm-plugin-1t5ve","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:41.911925-08:00","updated_at":"2025-12-13T11:18:46.037647-08:00","closed_at":"2025-12-13T11:18:46.037647-08:00"}
@@ -115,6 +129,7 @@
115
129
  {"id":"opencode-swarm-plugin-2ab","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:37:33.800933-08:00","updated_at":"2025-12-07T19:37:36.012978-08:00","closed_at":"2025-12-07T19:37:36.012978-08:00"}
116
130
  {"id":"opencode-swarm-plugin-2agi3","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T11:20:48.702046-08:00","updated_at":"2025-12-13T11:20:52.133475-08:00","closed_at":"2025-12-13T11:20:52.133475-08:00"}
117
131
  {"id":"opencode-swarm-plugin-2agi3.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:20:48.757338-08:00","updated_at":"2025-12-13T11:20:52.174432-08:00","closed_at":"2025-12-13T11:20:52.174432-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2agi3.1","depends_on_id":"opencode-swarm-plugin-2agi3","type":"parent-child","created_at":"2025-12-13T11:20:48.758493-08:00","created_by":"daemon"}]}
132
+ {"id":"opencode-swarm-plugin-2assm","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.350688-08:00","updated_at":"2025-12-13T18:18:35.387392-08:00","closed_at":"2025-12-13T18:18:35.387392-08:00"}
118
133
  {"id":"opencode-swarm-plugin-2c3on","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.287189-08:00","updated_at":"2025-12-08T11:12:56.312704-08:00","closed_at":"2025-12-08T11:12:56.312704-08:00"}
119
134
  {"id":"opencode-swarm-plugin-2c6jt","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:41.594675-08:00","updated_at":"2025-12-13T14:48:45.291216-08:00","closed_at":"2025-12-13T14:48:45.291216-08:00"}
120
135
  {"id":"opencode-swarm-plugin-2cm","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:54.024663-08:00","updated_at":"2025-12-07T19:34:55.333759-08:00","closed_at":"2025-12-07T19:34:55.333759-08:00"}
@@ -128,12 +143,18 @@
128
143
  {"id":"opencode-swarm-plugin-2foq","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:12:40.731653-08:00","updated_at":"2025-12-08T11:12:43.500259-08:00","closed_at":"2025-12-08T11:12:43.500259-08:00"}
129
144
  {"id":"opencode-swarm-plugin-2ge7l","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.450441-08:00","updated_at":"2025-12-08T11:12:57.525835-08:00","closed_at":"2025-12-08T11:12:57.525835-08:00"}
130
145
  {"id":"opencode-swarm-plugin-2gp2","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:11:39.680689-08:00","updated_at":"2025-12-08T08:11:42.060492-08:00","closed_at":"2025-12-08T08:11:42.060492-08:00"}
146
+ {"id":"opencode-swarm-plugin-2h1hf","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:20.69206-08:00","updated_at":"2025-12-14T09:30:24.037608-08:00","closed_at":"2025-12-14T09:30:24.037608-08:00"}
147
+ {"id":"opencode-swarm-plugin-2h1hf.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.751952-08:00","updated_at":"2025-12-14T09:30:24.085684-08:00","closed_at":"2025-12-14T09:30:24.085684-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2h1hf.1","depends_on_id":"opencode-swarm-plugin-2h1hf","type":"parent-child","created_at":"2025-12-14T09:30:20.753325-08:00","created_by":"daemon"}]}
148
+ {"id":"opencode-swarm-plugin-2h1hf.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.811481-08:00","updated_at":"2025-12-14T09:30:24.128901-08:00","closed_at":"2025-12-14T09:30:24.128901-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2h1hf.2","depends_on_id":"opencode-swarm-plugin-2h1hf","type":"parent-child","created_at":"2025-12-14T09:30:20.813199-08:00","created_by":"daemon"}]}
149
+ {"id":"opencode-swarm-plugin-2h1hf.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.873323-08:00","updated_at":"2025-12-14T09:30:24.170227-08:00","closed_at":"2025-12-14T09:30:24.170227-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2h1hf.3","depends_on_id":"opencode-swarm-plugin-2h1hf","type":"parent-child","created_at":"2025-12-14T09:30:20.874369-08:00","created_by":"daemon"}]}
150
+ {"id":"opencode-swarm-plugin-2h1hf.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.936345-08:00","updated_at":"2025-12-14T09:30:24.212033-08:00","closed_at":"2025-12-14T09:30:24.212033-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2h1hf.4","depends_on_id":"opencode-swarm-plugin-2h1hf","type":"parent-child","created_at":"2025-12-14T09:30:20.937487-08:00","created_by":"daemon"}]}
131
151
  {"id":"opencode-swarm-plugin-2h3o","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.619593-08:00","updated_at":"2025-12-08T11:11:25.389157-08:00","closed_at":"2025-12-08T11:11:25.389157-08:00"}
132
152
  {"id":"opencode-swarm-plugin-2j38","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:24.714793-08:00","updated_at":"2025-12-08T11:10:27.316849-08:00","closed_at":"2025-12-08T11:10:27.316849-08:00"}
133
153
  {"id":"opencode-swarm-plugin-2klp9","title":"Pattern: CSO - Claude Search Optimization for Skills","description":"## CSO - Claude Search Optimization (from obra/superpowers)\n\n**Purpose:** Claude reads skill descriptions to decide which skills to load. Make descriptions answer: \"Should I read this skill right now?\"\n\n### Description Field Format\n- Start with \"Use when...\" to focus on triggering conditions\n- Third-person only (injected into system prompt)\n- Include BOTH what it does AND when to use it\n- Max 1024 chars (aim for \u003c500)\n\n### Examples\n```yaml\n# ❌ BAD: Too abstract\ndescription: For async testing\n\n# ❌ BAD: First person\ndescription: I can help you with async tests\n\n# ❌ BAD: Technology-specific but skill isn't\ndescription: Use when tests use setTimeout and are flaky\n\n# ✅ GOOD: Trigger + problem + solution\ndescription: Use when tests have race conditions, timing dependencies, or pass/fail inconsistently - replaces arbitrary timeouts with condition polling\n```\n\n### Keyword Coverage\nUse words Claude would search for:\n- **Error messages:** \"Hook timed out\", \"ENOTEMPTY\", \"race condition\"\n- **Symptoms:** \"flaky\", \"hanging\", \"zombie\", \"pollution\"\n- **Synonyms:** \"timeout/hang/freeze\", \"cleanup/teardown/afterEach\"\n- **Tools:** Actual commands, library names, file types\n\n### Token Efficiency\n- getting-started workflows: \u003c150 words\n- Frequently-loaded skills: \u003c200 words\n- Other skills: \u003c500 words\n- Move details to tool --help\n- Use cross-references instead of repeating\n\n### Naming Conventions\n- Active voice, verb-first: `creating-skills` not `skill-creation`\n- Gerunds work well: `testing-skills`, `debugging-with-logs`\n- Name by what you DO: `condition-based-waiting` \u003e `async-test-helpers`\n\n**Full analysis:** .beads/analysis/skill-architecture-meta-skills.md","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:00:50.930936-08:00","updated_at":"2025-12-13T15:50:56.528937-08:00","closed_at":"2025-12-13T15:50:56.528937-08:00"}
134
154
  {"id":"opencode-swarm-plugin-2kpi","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:12:40.799487-08:00","updated_at":"2025-12-08T11:12:43.550149-08:00","closed_at":"2025-12-08T11:12:43.550149-08:00"}
135
155
  {"id":"opencode-swarm-plugin-2l1z","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.634298-08:00","updated_at":"2025-12-08T11:10:27.704419-08:00","closed_at":"2025-12-08T11:10:27.704419-08:00"}
136
156
  {"id":"opencode-swarm-plugin-2l4d","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.9045-08:00","updated_at":"2025-12-08T08:25:12.384034-08:00","closed_at":"2025-12-08T08:25:12.384034-08:00"}
157
+ {"id":"opencode-swarm-plugin-2lpt5","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-14T09:30:18.018558-08:00","updated_at":"2025-12-14T09:30:22.744577-08:00","closed_at":"2025-12-14T09:30:22.744577-08:00"}
137
158
  {"id":"opencode-swarm-plugin-2mph","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.003549-08:00","updated_at":"2025-12-08T11:11:10.393467-08:00","closed_at":"2025-12-08T11:11:10.393467-08:00"}
138
159
  {"id":"opencode-swarm-plugin-2ne","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-07T19:37:33.86201-08:00","updated_at":"2025-12-07T19:37:36.054577-08:00","closed_at":"2025-12-07T19:37:36.054577-08:00"}
139
160
  {"id":"opencode-swarm-plugin-2ok2","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:17.187954-08:00","updated_at":"2025-12-08T08:36:19.43421-08:00","closed_at":"2025-12-08T08:36:19.43421-08:00"}
@@ -162,8 +183,10 @@
162
183
  {"id":"opencode-swarm-plugin-328o.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.020007-08:00","updated_at":"2025-12-08T11:11:10.855892-08:00","closed_at":"2025-12-08T11:11:10.855892-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-328o.2","depends_on_id":"opencode-swarm-plugin-328o","type":"parent-child","created_at":"2025-12-08T11:11:09.020355-08:00","created_by":"daemon"}]}
163
184
  {"id":"opencode-swarm-plugin-328o.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.056258-08:00","updated_at":"2025-12-08T11:11:10.883491-08:00","closed_at":"2025-12-08T11:11:10.883491-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-328o.3","depends_on_id":"opencode-swarm-plugin-328o","type":"parent-child","created_at":"2025-12-08T11:11:09.05662-08:00","created_by":"daemon"}]}
164
185
  {"id":"opencode-swarm-plugin-328o.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.091851-08:00","updated_at":"2025-12-08T11:11:10.910639-08:00","closed_at":"2025-12-08T11:11:10.910639-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-328o.4","depends_on_id":"opencode-swarm-plugin-328o","type":"parent-child","created_at":"2025-12-08T11:11:09.092192-08:00","created_by":"daemon"}]}
186
+ {"id":"opencode-swarm-plugin-32n96","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.685376-08:00","updated_at":"2025-12-13T18:16:35.174092-08:00","closed_at":"2025-12-13T18:16:35.174092-08:00"}
165
187
  {"id":"opencode-swarm-plugin-34y0l","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T11:16:35.327539-08:00","updated_at":"2025-12-13T11:16:39.646261-08:00","closed_at":"2025-12-13T11:16:39.646261-08:00"}
166
188
  {"id":"opencode-swarm-plugin-35ius","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.748072-08:00","updated_at":"2025-12-10T09:08:32.783918-08:00","closed_at":"2025-12-10T09:08:32.783918-08:00"}
189
+ {"id":"opencode-swarm-plugin-35pcl","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.655635-08:00","updated_at":"2025-12-13T18:18:39.110036-08:00","closed_at":"2025-12-13T18:18:39.110036-08:00"}
167
190
  {"id":"opencode-swarm-plugin-36uo","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.014966-08:00","updated_at":"2025-12-08T09:09:33.303459-08:00","closed_at":"2025-12-08T09:09:33.303459-08:00"}
168
191
  {"id":"opencode-swarm-plugin-37az","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.247814-08:00","updated_at":"2025-12-08T08:05:36.051352-08:00","closed_at":"2025-12-08T08:05:36.051352-08:00"}
169
192
  {"id":"opencode-swarm-plugin-38j3h","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.576145-08:00","updated_at":"2025-12-09T10:00:25.812701-08:00","closed_at":"2025-12-09T10:00:25.812701-08:00"}
@@ -172,6 +195,7 @@
172
195
  {"id":"opencode-swarm-plugin-3c0h","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.042676-08:00","updated_at":"2025-12-07T19:57:08.336974-08:00","closed_at":"2025-12-07T19:57:08.336974-08:00"}
173
196
  {"id":"opencode-swarm-plugin-3e3o","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.71229-08:00","updated_at":"2025-12-08T07:46:52.478079-08:00","closed_at":"2025-12-08T07:46:52.478079-08:00"}
174
197
  {"id":"opencode-swarm-plugin-3e7p","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.57109-08:00","updated_at":"2025-12-08T09:09:32.647281-08:00","closed_at":"2025-12-08T09:09:32.647281-08:00"}
198
+ {"id":"opencode-swarm-plugin-3e8nc","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.559268-08:00","updated_at":"2025-12-14T09:30:19.610863-08:00","closed_at":"2025-12-14T09:30:19.610863-08:00"}
175
199
  {"id":"opencode-swarm-plugin-3fa7","title":"Add rate limiting to Agent Mail","description":"Implement per-agent rate limiting with Redis backend to prevent abuse","status":"closed","priority":2,"issue_type":"epic","created_at":"2025-12-08T08:28:07.547069-08:00","updated_at":"2025-12-08T08:29:09.032995-08:00","closed_at":"2025-12-08T08:29:09.032995-08:00"}
176
200
  {"id":"opencode-swarm-plugin-3fa7.1","title":"Add Redis dependency and connection","description":"Add redis-py to requirements.txt and create Redis connection helper","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:28:14.489575-08:00","updated_at":"2025-12-08T08:28:54.193001-08:00","closed_at":"2025-12-08T08:28:54.193001-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-3fa7.1","depends_on_id":"opencode-swarm-plugin-3fa7","type":"parent-child","created_at":"2025-12-08T08:28:14.489983-08:00","created_by":"daemon"}]}
177
201
  {"id":"opencode-swarm-plugin-3fa7.2","title":"Implement rate limiter class","description":"Create RateLimiter class using Redis sorted sets for sliding window rate limiting","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:28:14.527429-08:00","updated_at":"2025-12-08T08:29:08.941471-08:00","closed_at":"2025-12-08T08:29:08.941471-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-3fa7.2","depends_on_id":"opencode-swarm-plugin-3fa7","type":"parent-child","created_at":"2025-12-08T08:28:14.527749-08:00","created_by":"daemon"}]}
@@ -202,6 +226,7 @@
202
226
  {"id":"opencode-swarm-plugin-3qp","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.845918-08:00","updated_at":"2025-12-07T19:39:11.927501-08:00","closed_at":"2025-12-07T19:39:11.927501-08:00"}
203
227
  {"id":"opencode-swarm-plugin-3r550","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.39931-08:00","updated_at":"2025-12-08T11:12:58.421488-08:00","closed_at":"2025-12-08T11:12:58.421488-08:00"}
204
228
  {"id":"opencode-swarm-plugin-3s3nr","title":"Gap: No pagination for large event reads","description":"src/streams/store.ts:214-263 - replayEvents() reads ALL events into memory without pagination. For large event logs (\u003e100k events), this could cause OOM. readEvents() has limit/offset but replayEvents doesn't use it. Should: paginate event replay (process in batches of 1000), add progress reporting, consider streaming API for large replays. Also affects debugEvents in debug.ts.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:10.536039-08:00","updated_at":"2025-12-13T16:20:31.328659-08:00","closed_at":"2025-12-13T16:20:31.328659-08:00"}
229
+ {"id":"opencode-swarm-plugin-3yk1h","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.436051-08:00","updated_at":"2025-12-14T09:30:22.9256-08:00","closed_at":"2025-12-14T09:30:22.9256-08:00"}
205
230
  {"id":"opencode-swarm-plugin-3zw","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.954171-08:00","updated_at":"2025-12-07T19:39:11.975757-08:00","closed_at":"2025-12-07T19:39:11.975757-08:00"}
206
231
  {"id":"opencode-swarm-plugin-4063b","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:36.180358-08:00","updated_at":"2025-12-13T11:16:40.104382-08:00","closed_at":"2025-12-13T11:16:40.104382-08:00"}
207
232
  {"id":"opencode-swarm-plugin-40dw","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.93528-08:00","updated_at":"2025-12-08T09:09:33.280064-08:00","closed_at":"2025-12-08T09:09:33.280064-08:00"}
@@ -247,11 +272,15 @@
247
272
  {"id":"opencode-swarm-plugin-4j9","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:34:52.246273-08:00","updated_at":"2025-12-07T19:34:54.455544-08:00","closed_at":"2025-12-07T19:34:54.455544-08:00"}
248
273
  {"id":"opencode-swarm-plugin-4jp","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.72631-08:00","updated_at":"2025-12-07T19:39:11.829756-08:00","closed_at":"2025-12-07T19:39:11.829756-08:00"}
249
274
  {"id":"opencode-swarm-plugin-4jw6","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.744358-08:00","updated_at":"2025-12-07T19:57:08.169251-08:00","closed_at":"2025-12-07T19:57:08.169251-08:00"}
275
+ {"id":"opencode-swarm-plugin-4k4ul","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.443404-08:00","updated_at":"2025-12-14T09:30:23.456767-08:00","closed_at":"2025-12-14T09:30:23.456767-08:00"}
250
276
  {"id":"opencode-swarm-plugin-4kg","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.797986-08:00","updated_at":"2025-12-07T19:34:55.291528-08:00","closed_at":"2025-12-07T19:34:55.291528-08:00"}
251
277
  {"id":"opencode-swarm-plugin-4l5k","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.779-08:00","updated_at":"2025-12-08T11:12:28.152764-08:00","closed_at":"2025-12-08T11:12:28.152764-08:00"}
252
278
  {"id":"opencode-swarm-plugin-4liar","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T09:08:33.523936-08:00","updated_at":"2025-12-10T09:08:36.374785-08:00","closed_at":"2025-12-10T09:08:36.374785-08:00"}
253
279
  {"id":"opencode-swarm-plugin-4liar.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-10T09:08:33.56571-08:00","updated_at":"2025-12-10T09:08:36.410789-08:00","closed_at":"2025-12-10T09:08:36.410789-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4liar.1","depends_on_id":"opencode-swarm-plugin-4liar","type":"parent-child","created_at":"2025-12-10T09:08:33.56662-08:00","created_by":"daemon"}]}
254
280
  {"id":"opencode-swarm-plugin-4n7d","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.610309-08:00","updated_at":"2025-12-08T08:05:35.108781-08:00","closed_at":"2025-12-08T08:05:35.108781-08:00"}
281
+ {"id":"opencode-swarm-plugin-4naxo","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:33.061891-08:00","updated_at":"2025-12-13T18:16:33.390773-08:00","closed_at":"2025-12-13T18:16:33.390773-08:00"}
282
+ {"id":"opencode-swarm-plugin-4naxo.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:33.11502-08:00","updated_at":"2025-12-13T18:16:33.265617-08:00","closed_at":"2025-12-13T18:16:33.265617-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4naxo.1","depends_on_id":"opencode-swarm-plugin-4naxo","type":"parent-child","created_at":"2025-12-13T18:16:33.117475-08:00","created_by":"daemon"}]}
283
+ {"id":"opencode-swarm-plugin-4naxo.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:33.173675-08:00","updated_at":"2025-12-13T18:16:33.351649-08:00","closed_at":"2025-12-13T18:16:33.351649-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4naxo.2","depends_on_id":"opencode-swarm-plugin-4naxo","type":"parent-child","created_at":"2025-12-13T18:16:33.174835-08:00","created_by":"daemon"}]}
255
284
  {"id":"opencode-swarm-plugin-4nbl","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.02379-08:00","updated_at":"2025-12-08T11:11:40.651507-08:00","closed_at":"2025-12-08T11:11:40.651507-08:00"}
256
285
  {"id":"opencode-swarm-plugin-4nru","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.593204-08:00","updated_at":"2025-12-08T08:11:42.542927-08:00","closed_at":"2025-12-08T08:11:42.542927-08:00"}
257
286
  {"id":"opencode-swarm-plugin-4o5fm","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:40.804066-08:00","updated_at":"2025-12-13T14:48:44.883008-08:00","closed_at":"2025-12-13T14:48:44.883008-08:00"}
@@ -260,9 +289,14 @@
260
289
  {"id":"opencode-swarm-plugin-4pzf","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:05:33.705473-08:00","updated_at":"2025-12-08T08:05:35.648987-08:00","closed_at":"2025-12-08T08:05:35.648987-08:00"}
261
290
  {"id":"opencode-swarm-plugin-4q9c","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.45058-08:00","updated_at":"2025-12-08T08:21:30.071613-08:00","closed_at":"2025-12-08T08:21:30.071613-08:00"}
262
291
  {"id":"opencode-swarm-plugin-4rdpc","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:36.722053-08:00","updated_at":"2025-12-13T11:16:36.765489-08:00","closed_at":"2025-12-13T11:16:36.765489-08:00"}
292
+ {"id":"opencode-swarm-plugin-4re1l","title":"Wire up real LLM decomposition to Evalite","description":"Replace mock decomposition with actual Claude calls via AI SDK + Vercel AI Gateway","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:08:50.499705-08:00","updated_at":"2025-12-13T18:19:31.142019-08:00","closed_at":"2025-12-13T18:19:31.142019-08:00"}
293
+ {"id":"opencode-swarm-plugin-4re1l.1","title":"Create LLM client wrapper for evals","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:08:50.562386-08:00","updated_at":"2025-12-13T18:19:28.247432-08:00","closed_at":"2025-12-13T18:19:28.247432-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4re1l.1","depends_on_id":"opencode-swarm-plugin-4re1l","type":"parent-child","created_at":"2025-12-13T18:08:50.563757-08:00","created_by":"daemon"}]}
294
+ {"id":"opencode-swarm-plugin-4re1l.2","title":"Update swarm-decomposition.eval.ts with real LLM calls","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:08:50.621235-08:00","updated_at":"2025-12-13T18:19:29.201449-08:00","closed_at":"2025-12-13T18:19:29.201449-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4re1l.2","depends_on_id":"opencode-swarm-plugin-4re1l","type":"parent-child","created_at":"2025-12-13T18:08:50.622232-08:00","created_by":"daemon"}]}
295
+ {"id":"opencode-swarm-plugin-4re1l.3","title":"Update test fixtures with realistic expectations","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:08:50.67438-08:00","updated_at":"2025-12-13T18:19:30.083749-08:00","closed_at":"2025-12-13T18:19:30.083749-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4re1l.3","depends_on_id":"opencode-swarm-plugin-4re1l","type":"parent-child","created_at":"2025-12-13T18:08:50.675906-08:00","created_by":"daemon"}]}
263
296
  {"id":"opencode-swarm-plugin-4rfx","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:23:18.358254-08:00","updated_at":"2025-12-08T08:23:20.235539-08:00","closed_at":"2025-12-08T08:23:20.235539-08:00"}
264
297
  {"id":"opencode-swarm-plugin-4rfx.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.391813-08:00","updated_at":"2025-12-08T08:23:20.260453-08:00","closed_at":"2025-12-08T08:23:20.260453-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4rfx.1","depends_on_id":"opencode-swarm-plugin-4rfx","type":"parent-child","created_at":"2025-12-08T08:23:18.392129-08:00","created_by":"daemon"}]}
265
298
  {"id":"opencode-swarm-plugin-4rfx.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:23:18.423962-08:00","updated_at":"2025-12-08T08:23:20.285354-08:00","closed_at":"2025-12-08T08:23:20.285354-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4rfx.2","depends_on_id":"opencode-swarm-plugin-4rfx","type":"parent-child","created_at":"2025-12-08T08:23:18.424275-08:00","created_by":"daemon"}]}
299
+ {"id":"opencode-swarm-plugin-4rpr2","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.021335-08:00","updated_at":"2025-12-13T18:16:34.357317-08:00","closed_at":"2025-12-13T18:16:34.357317-08:00"}
266
300
  {"id":"opencode-swarm-plugin-4t3mp","title":"Extract magic number 10000 to constant in semantic-memory check","description":"src/tool-availability.ts:108 - bunx timeout 10000ms is magic number. Extract to constant: `const BUNX_TIMEOUT_MS = 10000;` for consistency with other timeouts.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:06.018452-08:00","updated_at":"2025-12-13T16:41:51.721641-08:00","closed_at":"2025-12-13T16:41:51.721641-08:00"}
267
301
  {"id":"opencode-swarm-plugin-4tyc","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:08.814454-08:00","updated_at":"2025-12-08T11:11:11.094826-08:00","closed_at":"2025-12-08T11:11:11.094826-08:00"}
268
302
  {"id":"opencode-swarm-plugin-4uy9","title":"Implement Strategic Swarm Planner","description":"Add strategy selection, planning prompts, example agent, and learning integration for swarm decomposition","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:08:24.603771-08:00","updated_at":"2025-12-08T11:13:18.243383-08:00","closed_at":"2025-12-08T11:13:18.243383-08:00"}
@@ -292,7 +326,9 @@
292
326
  {"id":"opencode-swarm-plugin-57d6v","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:41.21242-08:00","updated_at":"2025-12-08T11:12:43.765954-08:00","closed_at":"2025-12-08T11:12:43.765954-08:00"}
293
327
  {"id":"opencode-swarm-plugin-59g9","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:36:17.061598-08:00","updated_at":"2025-12-08T08:36:19.385951-08:00","closed_at":"2025-12-08T08:36:19.385951-08:00"}
294
328
  {"id":"opencode-swarm-plugin-59lp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.569486-08:00","updated_at":"2025-12-08T09:09:33.085717-08:00","closed_at":"2025-12-08T09:09:33.085717-08:00"}
329
+ {"id":"opencode-swarm-plugin-59xhm","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.279324-08:00","updated_at":"2025-12-13T18:16:33.558884-08:00","closed_at":"2025-12-13T18:16:33.558884-08:00"}
295
330
  {"id":"opencode-swarm-plugin-59zk","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.013763-08:00","updated_at":"2025-12-08T08:14:31.236956-08:00","closed_at":"2025-12-08T08:14:31.236956-08:00"}
331
+ {"id":"opencode-swarm-plugin-5al8n","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:16:30.631152-08:00","updated_at":"2025-12-13T18:16:34.275506-08:00","closed_at":"2025-12-13T18:16:34.275506-08:00"}
296
332
  {"id":"opencode-swarm-plugin-5bpt","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:11:38.091293-08:00","updated_at":"2025-12-08T11:11:40.700616-08:00","closed_at":"2025-12-08T11:11:40.700616-08:00"}
297
333
  {"id":"opencode-swarm-plugin-5clp","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:56:43.706972-08:00","updated_at":"2025-12-07T19:56:45.317385-08:00","closed_at":"2025-12-07T19:56:45.317385-08:00"}
298
334
  {"id":"opencode-swarm-plugin-5clp.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.734921-08:00","updated_at":"2025-12-07T19:56:45.339143-08:00","closed_at":"2025-12-07T19:56:45.339143-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5clp.1","depends_on_id":"opencode-swarm-plugin-5clp","type":"parent-child","created_at":"2025-12-07T19:56:43.735193-08:00","created_by":"daemon"}]}
@@ -304,11 +340,17 @@
304
340
  {"id":"opencode-swarm-plugin-5j9pz","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:12:55.370664-08:00","updated_at":"2025-12-08T11:12:57.903672-08:00","closed_at":"2025-12-08T11:12:57.903672-08:00"}
305
341
  {"id":"opencode-swarm-plugin-5jmtq","title":"agent-mail.ts:221-245 - Race condition in checkWindow Redis pipeline","description":"agent-mail.ts:221-245 (rate-limiter.ts transplanted) - The Redis checkWindow uses pipeline but doesn't handle the case where pipeline.exec() returns null. Network failure or Redis disconnect returns null, causing undefined access on results[1]?.[1]. Suggested fix: Check for null results before accessing.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:06.13131-08:00","updated_at":"2025-12-13T08:52:57.081406-08:00","closed_at":"2025-12-13T08:52:57.081406-08:00"}
306
342
  {"id":"opencode-swarm-plugin-5kj7","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.875856-08:00","updated_at":"2025-12-08T11:11:11.121063-08:00","closed_at":"2025-12-08T11:11:11.121063-08:00"}
343
+ {"id":"opencode-swarm-plugin-5ktdf","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.492342-08:00","updated_at":"2025-12-13T18:18:39.071947-08:00","closed_at":"2025-12-13T18:18:39.071947-08:00"}
307
344
  {"id":"opencode-swarm-plugin-5l0v","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:40.362215-08:00","updated_at":"2025-12-08T11:11:40.551768-08:00","closed_at":"2025-12-08T11:11:40.551768-08:00"}
308
345
  {"id":"opencode-swarm-plugin-5l0v.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:40.396129-08:00","updated_at":"2025-12-08T11:11:40.476974-08:00","closed_at":"2025-12-08T11:11:40.476974-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5l0v.1","depends_on_id":"opencode-swarm-plugin-5l0v","type":"parent-child","created_at":"2025-12-08T11:11:40.396424-08:00","created_by":"daemon"}]}
309
346
  {"id":"opencode-swarm-plugin-5l0v.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:40.428325-08:00","updated_at":"2025-12-08T11:11:40.527065-08:00","closed_at":"2025-12-08T11:11:40.527065-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5l0v.2","depends_on_id":"opencode-swarm-plugin-5l0v","type":"parent-child","created_at":"2025-12-08T11:11:40.428685-08:00","created_by":"daemon"}]}
347
+ {"id":"opencode-swarm-plugin-5ljo7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.183546-08:00","updated_at":"2025-12-14T09:30:22.836436-08:00","closed_at":"2025-12-14T09:30:22.836436-08:00"}
348
+ {"id":"opencode-swarm-plugin-5md6f","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.271736-08:00","updated_at":"2025-12-13T18:16:34.103635-08:00","closed_at":"2025-12-13T18:16:34.103635-08:00"}
310
349
  {"id":"opencode-swarm-plugin-5mkse","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-10T09:07:21.692744-08:00","updated_at":"2025-12-10T09:07:25.34803-08:00","closed_at":"2025-12-10T09:07:25.34803-08:00"}
311
350
  {"id":"opencode-swarm-plugin-5n6b","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.588041-08:00","updated_at":"2025-12-08T07:46:52.448828-08:00","closed_at":"2025-12-08T07:46:52.448828-08:00"}
351
+ {"id":"opencode-swarm-plugin-5np09","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:20.372636-08:00","updated_at":"2025-12-14T09:30:23.815671-08:00","closed_at":"2025-12-14T09:30:23.815671-08:00"}
352
+ {"id":"opencode-swarm-plugin-5np09.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.432341-08:00","updated_at":"2025-12-14T09:30:23.861085-08:00","closed_at":"2025-12-14T09:30:23.861085-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5np09.1","depends_on_id":"opencode-swarm-plugin-5np09","type":"parent-child","created_at":"2025-12-14T09:30:20.433248-08:00","created_by":"daemon"}]}
353
+ {"id":"opencode-swarm-plugin-5np09.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.494887-08:00","updated_at":"2025-12-14T09:30:23.903825-08:00","closed_at":"2025-12-14T09:30:23.903825-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5np09.2","depends_on_id":"opencode-swarm-plugin-5np09","type":"parent-child","created_at":"2025-12-14T09:30:20.495919-08:00","created_by":"daemon"}]}
312
354
  {"id":"opencode-swarm-plugin-5o8","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.447989-08:00","updated_at":"2025-12-07T19:34:54.582978-08:00","closed_at":"2025-12-07T19:34:54.582978-08:00"}
313
355
  {"id":"opencode-swarm-plugin-5p0m","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:45.549965-08:00","updated_at":"2025-12-08T07:53:47.048625-08:00","closed_at":"2025-12-08T07:53:47.048625-08:00"}
314
356
  {"id":"opencode-swarm-plugin-5p7c","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:26.840423-08:00","updated_at":"2025-12-08T11:12:28.633137-08:00","closed_at":"2025-12-08T11:12:28.633137-08:00"}
@@ -347,6 +389,7 @@
347
389
  {"id":"opencode-swarm-plugin-637l","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.263293-08:00","updated_at":"2025-12-08T08:21:29.957087-08:00","closed_at":"2025-12-08T08:21:29.957087-08:00"}
348
390
  {"id":"opencode-swarm-plugin-64f","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.34101-08:00","updated_at":"2025-12-07T19:39:12.089113-08:00","closed_at":"2025-12-07T19:39:12.089113-08:00"}
349
391
  {"id":"opencode-swarm-plugin-64sb","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:11.252017-08:00","updated_at":"2025-12-08T07:49:12.801335-08:00","closed_at":"2025-12-08T07:49:12.801335-08:00"}
392
+ {"id":"opencode-swarm-plugin-66ni8","title":"README rewrite with full repo context","description":"## Context Captured\n\n### Repo Structure (74k lines total)\n```\nsrc/\n├── index.ts # Plugin entry, exports all tools\n├── plugin.ts # Plugin loader (23 lines)\n├── swarm.ts # Swarm tools aggregator (35 lines)\n│\n├── # SWARM COORDINATION (5k lines)\n├── swarm-orchestrate.ts # 2298 lines - swarm_status, swarm_progress, swarm_complete, swarm_checkpoint, swarm_recover\n├── swarm-decompose.ts # 912 lines - swarm_decompose, swarm_validate_decomposition\n├── swarm-prompts.ts # 828 lines - swarm_spawn_subtask, swarm_subtask_prompt\n├── swarm-strategies.ts # 407 lines - swarm_select_strategy (file/feature/risk/research)\n│\n├── # BEADS (git-backed issues)\n├── beads.ts # beads_create, beads_create_epic, beads_query, beads_update, beads_close, beads_start, beads_ready, beads_sync\n│\n├── # SWARM MAIL (agent coordination)\n├── swarm-mail.ts # 739 lines - swarmmail_init, swarmmail_send, swarmmail_inbox, swarmmail_reserve, swarmmail_release\n├── agent-mail.ts # DEPRECATED MCP-based version\n│\n├── # SKILLS (knowledge packages)\n├── skills.ts # 1533 lines - skills_list, skills_use, skills_read, skills_create, skills_init, skills_update, skills_delete\n│\n├── # STRUCTURED OUTPUT\n├── structured.ts # 755 lines - structured_extract_json, structured_validate, structured_parse_*\n│\n├── # LEARNING SYSTEM\n├── learning.ts # Confidence decay, implicit feedback scoring\n├── pattern-maturity.ts # candidate → established → proven lifecycle\n├── anti-patterns.ts # Auto-inversion of failing patterns\n├── eval-capture.ts # Outcome capture for evals\n│\n├── # STORAGE \u0026 STREAMS (event sourcing)\n├── streams/\n│ ├── index.ts # PGLite database management\n│ ├── store.ts # Append-only event log\n│ ├── events.ts # 15+ event types (agent_registered, message_sent, file_reserved, swarm_checkpointed, etc.)\n│ ├── projections.ts # Materialized views (agents, messages, reservations, eval_records)\n│ ├── migrations.ts # Schema migrations v1-v4\n│ ├── effect/ # Durable primitives (DurableCursor, DurableDeferred, DurableLock, DurableMailbox, ask pattern)\n│ └── debug.ts # Debugging utilities\n│\n├── # OTHER\n├── storage.ts # File-based storage utilities\n├── rate-limiter.ts # Redis/SQLite rate limiting\n├── repo-crawl.ts # GitHub repo analysis tools\n├── output-guardrails.ts # MCP output validation\n├── mandates.ts # Mandate system (deprecated?)\n└── schemas/ # Zod schemas for all data types\n\nglobal-skills/ # Bundled skills\n├── cli-builder/\n├── learning-systems/\n├── skill-creator/\n├── swarm-coordination/\n├── system-design/\n└── testing-patterns/\n\nevals/ # Evalite integration\n├── swarm-decomposition.eval.ts\n├── lib/data-loader.ts # PGLite eval data loader\n└── scorers/ # Outcome-based scorers\n```\n\n### Tool Groups\n- **Swarm**: 12 tools (init, select_strategy, plan_prompt, decompose, validate_decomposition, spawn_subtask, status, progress, complete, record_outcome, checkpoint, recover)\n- **Beads**: 9 tools (create, create_epic, query, update, close, start, ready, sync, link_thread)\n- **Swarm Mail**: 8 tools (init, send, inbox, read_message, reserve, release, ack, health)\n- **Skills**: 7 tools (list, use, read, create, init, update, delete)\n- **Structured**: 5 tools (extract_json, validate, parse_evaluation, parse_decomposition, parse_bead_tree)\n\n### Key Concepts to Explain\n1. **Swarm flow**: task → decomposition → beads → file reservations → parallel agents → learning\n2. **Checkpoint/recovery**: survives context compaction (NEW)\n3. **Learning loop**: outcomes → confidence decay → pattern maturity → anti-pattern inversion\n4. **Event sourcing**: append-only log → materialized views → crash recovery\n5. **Skills**: reusable knowledge packages with references\n\n### v0.21.0 Changelog\n- Swarm recovery context (swarm_checkpoint, swarm_recover, auto-checkpoint at 25/50/75%)\n- Eval data capture (DecompositionGeneratedEvent, SubtaskOutcomeEvent, eval_records table)\n- Outcome-based scorers (fileOverlap, scopeAccuracy, timeBalance, successRate, humanAcceptance)\n- PGLite data loader for Evalite\n- JSONB parsing fix in store.ts/projections.ts","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-14T13:40:47.478855-08:00","updated_at":"2025-12-14T13:40:47.478855-08:00"}
350
393
  {"id":"opencode-swarm-plugin-679z","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:40.133137-08:00","updated_at":"2025-12-08T08:11:42.182946-08:00","closed_at":"2025-12-08T08:11:42.182946-08:00"}
351
394
  {"id":"opencode-swarm-plugin-679z.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.165666-08:00","updated_at":"2025-12-08T08:11:42.205856-08:00","closed_at":"2025-12-08T08:11:42.205856-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-679z.1","depends_on_id":"opencode-swarm-plugin-679z","type":"parent-child","created_at":"2025-12-08T08:11:40.165959-08:00","created_by":"daemon"}]}
352
395
  {"id":"opencode-swarm-plugin-679z.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:11:40.198674-08:00","updated_at":"2025-12-08T08:11:42.232434-08:00","closed_at":"2025-12-08T08:11:42.232434-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-679z.2","depends_on_id":"opencode-swarm-plugin-679z","type":"parent-child","created_at":"2025-12-08T08:11:40.198981-08:00","created_by":"daemon"}]}
@@ -360,6 +403,7 @@
360
403
  {"id":"opencode-swarm-plugin-6dcg","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.735967-08:00","updated_at":"2025-12-08T07:46:51.96445-08:00","closed_at":"2025-12-08T07:46:51.96445-08:00"}
361
404
  {"id":"opencode-swarm-plugin-6efn9","title":"Document why GET instead of HEAD in urlReachable","description":"src/tool-availability.ts:64-68 - Comment says \"Use GET instead of HEAD - some servers don't support HEAD\" but doesn't clarify that we check .ok, not response body. Add: \"We only check response.ok status, not body content, so GET has minimal overhead vs HEAD.\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:04.446096-08:00","updated_at":"2025-12-13T16:41:51.189901-08:00","closed_at":"2025-12-13T16:41:51.189901-08:00"}
362
405
  {"id":"opencode-swarm-plugin-6eg","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.586075-08:00","updated_at":"2025-12-07T19:37:36.81509-08:00","closed_at":"2025-12-07T19:37:36.81509-08:00"}
406
+ {"id":"opencode-swarm-plugin-6ence","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-14T09:30:17.894326-08:00","updated_at":"2025-12-14T09:30:22.651705-08:00","closed_at":"2025-12-14T09:30:22.651705-08:00"}
363
407
  {"id":"opencode-swarm-plugin-6ep7","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:11:38.996265-08:00","updated_at":"2025-12-08T08:11:41.663466-08:00","closed_at":"2025-12-08T08:11:41.663466-08:00"}
364
408
  {"id":"opencode-swarm-plugin-6ib2a","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:42.179637-08:00","updated_at":"2025-12-08T11:12:44.081038-08:00","closed_at":"2025-12-08T11:12:44.081038-08:00"}
365
409
  {"id":"opencode-swarm-plugin-6ib2a.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:42.216037-08:00","updated_at":"2025-12-08T11:12:44.105066-08:00","closed_at":"2025-12-08T11:12:44.105066-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-6ib2a.1","depends_on_id":"opencode-swarm-plugin-6ib2a","type":"parent-child","created_at":"2025-12-08T11:12:42.216391-08:00","created_by":"daemon"}]}
@@ -383,6 +427,7 @@
383
427
  {"id":"opencode-swarm-plugin-6syoc","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:43.003342-08:00","updated_at":"2025-12-13T14:48:46.043397-08:00","closed_at":"2025-12-13T14:48:46.043397-08:00"}
384
428
  {"id":"opencode-swarm-plugin-6tb8u","title":"beads.ts:163-172 - No validation of bd create output before parsing","description":"beads.ts:163-172 - beads_create assumes bd create --json always returns valid JSON. If bd crashes or returns non-JSON error, parseBead throws generic error. Suggested fix: Check if stdout is empty or contains \"error\" before parsing.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:11.381852-08:00","updated_at":"2025-12-10T11:59:34.843893-08:00","closed_at":"2025-12-10T11:59:34.843893-08:00"}
385
429
  {"id":"opencode-swarm-plugin-6um3","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.518628-08:00","updated_at":"2025-12-08T11:11:26.121955-08:00","closed_at":"2025-12-08T11:11:26.121955-08:00"}
430
+ {"id":"opencode-swarm-plugin-6wau5","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.451184-08:00","updated_at":"2025-12-14T13:58:55.565522-08:00","closed_at":"2025-12-14T13:58:55.565522-08:00"}
386
431
  {"id":"opencode-swarm-plugin-6wkm","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.055636-08:00","updated_at":"2025-12-08T11:11:11.145613-08:00","closed_at":"2025-12-08T11:11:11.145613-08:00"}
387
432
  {"id":"opencode-swarm-plugin-6wkv","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:14:29.792336-08:00","updated_at":"2025-12-08T08:14:31.557975-08:00","closed_at":"2025-12-08T08:14:31.557975-08:00"}
388
433
  {"id":"opencode-swarm-plugin-6x0s9","title":"Gap: Race condition in singleton creation","description":"src/streams/index.ts:58-78 - getDatabase() has race condition: two concurrent calls with same dbPath could both pass the `if (db)` check before either sets the instance in the Map, causing duplicate PGLite instances. Should use async lock/mutex or check-and-set pattern with await. Consider using a Promise cache instead of instance cache to handle pending initialization.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:24:53.052581-08:00","updated_at":"2025-12-13T09:55:52.819054-08:00","closed_at":"2025-12-13T09:55:52.819054-08:00"}
@@ -393,6 +438,7 @@
393
438
  {"id":"opencode-swarm-plugin-703wf","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:42.544143-08:00","updated_at":"2025-12-08T11:12:44.314103-08:00","closed_at":"2025-12-08T11:12:44.314103-08:00"}
394
439
  {"id":"opencode-swarm-plugin-70f5","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.43114-08:00","updated_at":"2025-12-08T09:09:32.988939-08:00","closed_at":"2025-12-08T09:09:32.988939-08:00"}
395
440
  {"id":"opencode-swarm-plugin-72h2d","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:41.944465-08:00","updated_at":"2025-12-08T11:12:43.965305-08:00","closed_at":"2025-12-08T11:12:43.965305-08:00"}
441
+ {"id":"opencode-swarm-plugin-73v24","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.843246-08:00","updated_at":"2025-12-13T18:16:33.845294-08:00","closed_at":"2025-12-13T18:16:33.845294-08:00"}
396
442
  {"id":"opencode-swarm-plugin-757j6","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.555508-08:00","updated_at":"2025-12-13T11:20:51.11287-08:00","closed_at":"2025-12-13T11:20:51.11287-08:00"}
397
443
  {"id":"opencode-swarm-plugin-75cl","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.905176-08:00","updated_at":"2025-12-08T07:53:46.313642-08:00","closed_at":"2025-12-08T07:53:46.313642-08:00"}
398
444
  {"id":"opencode-swarm-plugin-75x7","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:49:10.547159-08:00","updated_at":"2025-12-08T07:49:12.461308-08:00","closed_at":"2025-12-08T07:49:12.461308-08:00"}
@@ -405,6 +451,11 @@
405
451
  {"id":"opencode-swarm-plugin-79i.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-07T19:36:07.283082-08:00","updated_at":"2025-12-07T19:36:08.918481-08:00","closed_at":"2025-12-07T19:36:08.918481-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-79i.2","depends_on_id":"opencode-swarm-plugin-79i","type":"parent-child","created_at":"2025-12-07T19:36:07.283377-08:00","created_by":"daemon"}]}
406
452
  {"id":"opencode-swarm-plugin-7b4e","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:14:29.479112-08:00","updated_at":"2025-12-08T08:14:31.354597-08:00","closed_at":"2025-12-08T08:14:31.354597-08:00"}
407
453
  {"id":"opencode-swarm-plugin-7bni","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.215335-08:00","updated_at":"2025-12-08T11:11:40.778896-08:00","closed_at":"2025-12-08T11:11:40.778896-08:00"}
454
+ {"id":"opencode-swarm-plugin-7bv9k","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:36.169237-08:00","updated_at":"2025-12-13T18:18:38.806944-08:00","closed_at":"2025-12-13T18:18:38.806944-08:00"}
455
+ {"id":"opencode-swarm-plugin-7bv9k.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:18:36.217102-08:00","updated_at":"2025-12-13T18:18:38.845531-08:00","closed_at":"2025-12-13T18:18:38.845531-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7bv9k.1","depends_on_id":"opencode-swarm-plugin-7bv9k","type":"parent-child","created_at":"2025-12-13T18:18:36.217946-08:00","created_by":"daemon"}]}
456
+ {"id":"opencode-swarm-plugin-7c5yk","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.583367-08:00","updated_at":"2025-12-14T13:58:51.624021-08:00","closed_at":"2025-12-14T13:58:51.624021-08:00"}
457
+ {"id":"opencode-swarm-plugin-7cwhs","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.500696-08:00","updated_at":"2025-12-14T13:58:55.106103-08:00","closed_at":"2025-12-14T13:58:55.106103-08:00"}
458
+ {"id":"opencode-swarm-plugin-7dcl1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.750276-08:00","updated_at":"2025-12-13T18:16:33.804154-08:00","closed_at":"2025-12-13T18:16:33.804154-08:00"}
408
459
  {"id":"opencode-swarm-plugin-7ea2","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.630883-08:00","updated_at":"2025-12-08T11:11:11.016207-08:00","closed_at":"2025-12-08T11:11:11.016207-08:00"}
409
460
  {"id":"opencode-swarm-plugin-7ecg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.699621-08:00","updated_at":"2025-12-08T07:53:46.215175-08:00","closed_at":"2025-12-08T07:53:46.215175-08:00"}
410
461
  {"id":"opencode-swarm-plugin-7euso","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.783341-08:00","updated_at":"2025-12-08T11:12:58.22179-08:00","closed_at":"2025-12-08T11:12:58.22179-08:00"}
@@ -412,6 +463,8 @@
412
463
  {"id":"opencode-swarm-plugin-7glyd","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.622271-08:00","updated_at":"2025-12-09T10:00:25.846309-08:00","closed_at":"2025-12-09T10:00:25.846309-08:00"}
413
464
  {"id":"opencode-swarm-plugin-7hbr","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:26.089938-08:00","updated_at":"2025-12-08T11:12:28.282761-08:00","closed_at":"2025-12-08T11:12:28.282761-08:00"}
414
465
  {"id":"opencode-swarm-plugin-7j844","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.898857-08:00","updated_at":"2025-12-13T11:20:51.281975-08:00","closed_at":"2025-12-13T11:20:51.281975-08:00"}
466
+ {"id":"opencode-swarm-plugin-7k7j9","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.729376-08:00","updated_at":"2025-12-14T13:58:55.290584-08:00","closed_at":"2025-12-14T13:58:55.290584-08:00"}
467
+ {"id":"opencode-swarm-plugin-7lpi5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.902718-08:00","updated_at":"2025-12-14T09:30:23.219078-08:00","closed_at":"2025-12-14T09:30:23.219078-08:00"}
415
468
  {"id":"opencode-swarm-plugin-7ls9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.40263-08:00","updated_at":"2025-12-08T08:36:19.090576-08:00","closed_at":"2025-12-08T08:36:19.090576-08:00"}
416
469
  {"id":"opencode-swarm-plugin-7lwj","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:46:49.954688-08:00","updated_at":"2025-12-08T07:46:52.018977-08:00","closed_at":"2025-12-08T07:46:52.018977-08:00"}
417
470
  {"id":"opencode-swarm-plugin-7lwj.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.990182-08:00","updated_at":"2025-12-08T07:46:52.047849-08:00","closed_at":"2025-12-08T07:46:52.047849-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7lwj.1","depends_on_id":"opencode-swarm-plugin-7lwj","type":"parent-child","created_at":"2025-12-08T07:46:49.990568-08:00","created_by":"daemon"}]}
@@ -488,6 +541,7 @@
488
541
  {"id":"opencode-swarm-plugin-8noh","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:45.63765-08:00","updated_at":"2025-12-08T07:53:45.716599-08:00","closed_at":"2025-12-08T07:53:45.716599-08:00"}
489
542
  {"id":"opencode-swarm-plugin-8npbb","title":"rate-limiter.ts:328 - Opportunistic cleanup without bounds","description":"rate-limiter.ts:328 - SqliteRateLimiter cleanup happens 1% of the time but could delete large datasets without limit or batching. On large DBs, this blocks recordRequest. Suggested fix: Add LIMIT clause or batch deletion.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-10T09:06:18.513101-08:00","updated_at":"2025-12-13T15:59:42.483297-08:00","closed_at":"2025-12-13T15:59:42.483297-08:00"}
490
543
  {"id":"opencode-swarm-plugin-8p4","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:39:10.060249-08:00","updated_at":"2025-12-07T19:39:12.022444-08:00","closed_at":"2025-12-07T19:39:12.022444-08:00"}
544
+ {"id":"opencode-swarm-plugin-8pa64","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.548492-08:00","updated_at":"2025-12-13T18:18:38.100736-08:00","closed_at":"2025-12-13T18:18:38.100736-08:00"}
491
545
  {"id":"opencode-swarm-plugin-8pyb","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:30.014902-08:00","updated_at":"2025-12-08T08:14:31.732051-08:00","closed_at":"2025-12-08T08:14:31.732051-08:00"}
492
546
  {"id":"opencode-swarm-plugin-8qe8e","title":"Add JSDoc examples to CriterionEvaluation","description":"src/schemas/evaluation.ts:19-24 - CriterionEvaluationSchema lacks usage example. Add JSDoc with example: `{ passed: true, feedback: \"All types validated\", score: 0.95 }`","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:13.139472-08:00","updated_at":"2025-12-13T16:48:07.364425-08:00","closed_at":"2025-12-13T16:48:07.364425-08:00"}
493
547
  {"id":"opencode-swarm-plugin-8rl6e","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:41.420444-08:00","updated_at":"2025-12-08T11:12:43.835874-08:00","closed_at":"2025-12-08T11:12:43.835874-08:00"}
@@ -526,6 +580,7 @@
526
580
  {"id":"opencode-swarm-plugin-9e94e.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:48.59-08:00","updated_at":"2025-12-13T11:20:52.051368-08:00","closed_at":"2025-12-13T11:20:52.051368-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9e94e.1","depends_on_id":"opencode-swarm-plugin-9e94e","type":"parent-child","created_at":"2025-12-13T11:20:48.591466-08:00","created_by":"daemon"}]}
527
581
  {"id":"opencode-swarm-plugin-9e94e.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:48.647979-08:00","updated_at":"2025-12-13T11:20:52.091426-08:00","closed_at":"2025-12-13T11:20:52.091426-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9e94e.2","depends_on_id":"opencode-swarm-plugin-9e94e","type":"parent-child","created_at":"2025-12-13T11:20:48.64866-08:00","created_by":"daemon"}]}
528
582
  {"id":"opencode-swarm-plugin-9ean7","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:08:32.453723-08:00","updated_at":"2025-12-10T09:08:35.737379-08:00","closed_at":"2025-12-10T09:08:35.737379-08:00"}
583
+ {"id":"opencode-swarm-plugin-9fldh","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T18:18:35.705564-08:00","updated_at":"2025-12-13T18:18:38.505121-08:00","closed_at":"2025-12-13T18:18:38.505121-08:00"}
529
584
  {"id":"opencode-swarm-plugin-9fo5","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:10:25.398427-08:00","updated_at":"2025-12-08T11:10:27.65064-08:00","closed_at":"2025-12-08T11:10:27.65064-08:00"}
530
585
  {"id":"opencode-swarm-plugin-9gdip","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-09T10:00:22.084056-08:00","updated_at":"2025-12-09T10:00:25.538382-08:00","closed_at":"2025-12-09T10:00:25.538382-08:00"}
531
586
  {"id":"opencode-swarm-plugin-9gks","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:41.194407-08:00","updated_at":"2025-12-08T08:11:41.390014-08:00","closed_at":"2025-12-08T08:11:41.390014-08:00"}
@@ -544,9 +599,14 @@
544
599
  {"id":"opencode-swarm-plugin-9hya.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.401682-08:00","updated_at":"2025-12-08T11:11:26.152614-08:00","closed_at":"2025-12-08T11:11:26.152614-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hya.2","depends_on_id":"opencode-swarm-plugin-9hya","type":"parent-child","created_at":"2025-12-08T11:11:24.40198-08:00","created_by":"daemon"}]}
545
600
  {"id":"opencode-swarm-plugin-9hya.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.437295-08:00","updated_at":"2025-12-08T11:11:26.180152-08:00","closed_at":"2025-12-08T11:11:26.180152-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hya.3","depends_on_id":"opencode-swarm-plugin-9hya","type":"parent-child","created_at":"2025-12-08T11:11:24.437636-08:00","created_by":"daemon"}]}
546
601
  {"id":"opencode-swarm-plugin-9hya.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.471556-08:00","updated_at":"2025-12-08T11:11:26.207658-08:00","closed_at":"2025-12-08T11:11:26.207658-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hya.4","depends_on_id":"opencode-swarm-plugin-9hya","type":"parent-child","created_at":"2025-12-08T11:11:24.471909-08:00","created_by":"daemon"}]}
602
+ {"id":"opencode-swarm-plugin-9hyc3","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.810807-08:00","updated_at":"2025-12-14T13:58:55.609494-08:00","closed_at":"2025-12-14T13:58:55.609494-08:00"}
547
603
  {"id":"opencode-swarm-plugin-9ioz","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.947868-08:00","updated_at":"2025-12-07T19:56:45.455609-08:00","closed_at":"2025-12-07T19:56:45.455609-08:00"}
548
604
  {"id":"opencode-swarm-plugin-9itda","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.953258-08:00","updated_at":"2025-12-09T10:00:25.985697-08:00","closed_at":"2025-12-09T10:00:25.985697-08:00"}
549
605
  {"id":"opencode-swarm-plugin-9khpl","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.9783-08:00","updated_at":"2025-12-10T09:06:07.013143-08:00","closed_at":"2025-12-10T09:06:07.013143-08:00"}
606
+ {"id":"opencode-swarm-plugin-9l533","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:31.339516-08:00","updated_at":"2025-12-13T18:16:34.445544-08:00","closed_at":"2025-12-13T18:16:34.445544-08:00"}
607
+ {"id":"opencode-swarm-plugin-9l533.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.395821-08:00","updated_at":"2025-12-13T18:16:34.489282-08:00","closed_at":"2025-12-13T18:16:34.489282-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9l533.1","depends_on_id":"opencode-swarm-plugin-9l533","type":"parent-child","created_at":"2025-12-13T18:16:31.396946-08:00","created_by":"daemon"}]}
608
+ {"id":"opencode-swarm-plugin-9l533.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T18:16:31.448679-08:00","updated_at":"2025-12-13T18:16:34.535725-08:00","closed_at":"2025-12-13T18:16:34.535725-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9l533.2","depends_on_id":"opencode-swarm-plugin-9l533","type":"parent-child","created_at":"2025-12-13T18:16:31.450101-08:00","created_by":"daemon"}]}
609
+ {"id":"opencode-swarm-plugin-9l533.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:16:31.505201-08:00","updated_at":"2025-12-13T18:16:34.581142-08:00","closed_at":"2025-12-13T18:16:34.581142-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9l533.3","depends_on_id":"opencode-swarm-plugin-9l533","type":"parent-child","created_at":"2025-12-13T18:16:31.506658-08:00","created_by":"daemon"}]}
550
610
  {"id":"opencode-swarm-plugin-9lksy","title":"Pattern: 3-Strike Architecture Rule - Question Fundamentals After 3 Failures","description":"## 3-Strike Architecture Rule (from obra/superpowers)\n\n**Iron Law:** If 3+ fixes have failed, you have an architectural problem, not a bug.\n\n### The Rule\n```\nIF 3+ fixes have failed:\n STOP → Question the architecture\n DON'T attempt Fix #4\n Discuss with human partner\n\nThis is NOT a failed hypothesis.\nThis is a WRONG ARCHITECTURE.\n```\n\n### Pattern Indicators\n- Each fix reveals new shared state/coupling/problem in different place\n- Fixes require \"massive refactoring\" to implement\n- Each fix creates new symptoms elsewhere\n- \"Sticking with it through sheer inertia\"\n\n### What To Do\n1. STOP and question fundamentals\n2. Is this pattern fundamentally sound?\n3. Should we refactor architecture vs. continue fixing symptoms?\n4. Discuss with human partner before attempting more fixes\n\n### 4-Phase Debugging Framework\n| Phase | Key Activities | Success Criteria |\n|-------|---------------|------------------|\n| 1. Root Cause | Read errors, reproduce, check changes, trace data flow | Understand WHAT and WHY |\n| 2. Pattern Analysis | Find working examples, compare, identify differences | Know what's different |\n| 3. Hypothesis | Form single theory, test minimally, one variable | Confirmed or new hypothesis |\n| 4. Implementation | Create test, fix, verify | Bug resolved |\n| **4.5. Architecture** | If 3+ failures: STOP, question pattern | Discuss with human |\n\n### Key Quote\n\"Random fixes waste time and create new bugs. Quick patches mask underlying issues. Systematic debugging is FASTER than guess-and-check thrashing.\"\n\n**Full analysis:** VERIFICATION_QUALITY_PATTERNS.md","status":"closed","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:30.082677-08:00","updated_at":"2025-12-13T15:50:53.766873-08:00","closed_at":"2025-12-13T15:50:53.766873-08:00"}
551
611
  {"id":"opencode-swarm-plugin-9m1x9","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:49.895996-08:00","updated_at":"2025-12-13T11:20:52.545509-08:00","closed_at":"2025-12-13T11:20:52.545509-08:00"}
552
612
  {"id":"opencode-swarm-plugin-9mc1","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.068796-08:00","updated_at":"2025-12-08T08:56:58.30395-08:00","closed_at":"2025-12-08T08:56:58.30395-08:00"}
@@ -554,6 +614,10 @@
554
614
  {"id":"opencode-swarm-plugin-9mjt.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.392344-08:00","updated_at":"2025-12-07T19:56:44.467504-08:00","closed_at":"2025-12-07T19:56:44.467504-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9mjt.1","depends_on_id":"opencode-swarm-plugin-9mjt","type":"parent-child","created_at":"2025-12-07T19:56:44.392644-08:00","created_by":"daemon"}]}
555
615
  {"id":"opencode-swarm-plugin-9mjt.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.421947-08:00","updated_at":"2025-12-07T19:56:44.51394-08:00","closed_at":"2025-12-07T19:56:44.51394-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9mjt.2","depends_on_id":"opencode-swarm-plugin-9mjt","type":"parent-child","created_at":"2025-12-07T19:56:44.422319-08:00","created_by":"daemon"}]}
556
616
  {"id":"opencode-swarm-plugin-9n4w","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:36:16.366638-08:00","updated_at":"2025-12-08T08:36:19.065123-08:00","closed_at":"2025-12-08T08:36:19.065123-08:00"}
617
+ {"id":"opencode-swarm-plugin-9oic8","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:49.840604-08:00","updated_at":"2025-12-14T13:58:54.763982-08:00","closed_at":"2025-12-14T13:58:54.763982-08:00"}
618
+ {"id":"opencode-swarm-plugin-9ooyi","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:36.02807-08:00","updated_at":"2025-12-13T18:18:38.6905-08:00","closed_at":"2025-12-13T18:18:38.6905-08:00"}
619
+ {"id":"opencode-swarm-plugin-9ooyi.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.074792-08:00","updated_at":"2025-12-13T18:18:38.729702-08:00","closed_at":"2025-12-13T18:18:38.729702-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9ooyi.1","depends_on_id":"opencode-swarm-plugin-9ooyi","type":"parent-child","created_at":"2025-12-13T18:18:36.075595-08:00","created_by":"daemon"}]}
620
+ {"id":"opencode-swarm-plugin-9ooyi.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.122766-08:00","updated_at":"2025-12-13T18:18:38.768303-08:00","closed_at":"2025-12-13T18:18:38.768303-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9ooyi.2","depends_on_id":"opencode-swarm-plugin-9ooyi","type":"parent-child","created_at":"2025-12-13T18:18:36.123418-08:00","created_by":"daemon"}]}
557
621
  {"id":"opencode-swarm-plugin-9pbe5","title":"Analyze opencode-swarm-plugin for improvements","description":"Deep code review to identify bugs, missing tests, documentation gaps, and improvement opportunities across the plugin","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T08:43:31.027524-08:00","updated_at":"2025-12-10T09:01:57.762335-08:00","closed_at":"2025-12-10T09:01:57.762335-08:00"}
558
622
  {"id":"opencode-swarm-plugin-9pbe5.1","title":"Audit core modules: beads.ts and agent-mail.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T08:43:31.074084-08:00","updated_at":"2025-12-10T09:01:54.212232-08:00","closed_at":"2025-12-10T09:01:54.212232-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9pbe5.1","depends_on_id":"opencode-swarm-plugin-9pbe5","type":"parent-child","created_at":"2025-12-10T08:43:31.075596-08:00","created_by":"daemon"}]}
559
623
  {"id":"opencode-swarm-plugin-9pbe5.2","title":"Audit swarm orchestration: swarm.ts","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-10T08:43:31.11509-08:00","updated_at":"2025-12-10T09:01:54.837099-08:00","closed_at":"2025-12-10T09:01:54.837099-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9pbe5.2","depends_on_id":"opencode-swarm-plugin-9pbe5","type":"parent-child","created_at":"2025-12-10T08:43:31.116423-08:00","created_by":"daemon"}]}
@@ -561,12 +625,17 @@
561
625
  {"id":"opencode-swarm-plugin-9pbe5.4","title":"Audit schemas and structured output","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T08:43:31.192168-08:00","updated_at":"2025-12-10T09:01:56.18448-08:00","closed_at":"2025-12-10T09:01:56.18448-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9pbe5.4","depends_on_id":"opencode-swarm-plugin-9pbe5","type":"parent-child","created_at":"2025-12-10T08:43:31.19365-08:00","created_by":"daemon"}]}
562
626
  {"id":"opencode-swarm-plugin-9pbe5.5","title":"Audit utilities and integration","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T08:43:31.233803-08:00","updated_at":"2025-12-10T09:01:57.01093-08:00","closed_at":"2025-12-10T09:01:57.01093-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9pbe5.5","depends_on_id":"opencode-swarm-plugin-9pbe5","type":"parent-child","created_at":"2025-12-10T08:43:31.235023-08:00","created_by":"daemon"}]}
563
627
  {"id":"opencode-swarm-plugin-9q1ic","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.335832-08:00","updated_at":"2025-12-10T09:06:10.019634-08:00","closed_at":"2025-12-10T09:06:10.019634-08:00"}
628
+ {"id":"opencode-swarm-plugin-9r25d","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-14T13:58:49.952068-08:00","updated_at":"2025-12-14T13:58:54.8538-08:00","closed_at":"2025-12-14T13:58:54.8538-08:00"}
564
629
  {"id":"opencode-swarm-plugin-9ry0","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.042116-08:00","updated_at":"2025-12-07T19:56:45.480044-08:00","closed_at":"2025-12-07T19:56:45.480044-08:00"}
565
630
  {"id":"opencode-swarm-plugin-9swi","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:10:54.049301-08:00","updated_at":"2025-12-08T11:10:56.034072-08:00","closed_at":"2025-12-08T11:10:56.034072-08:00"}
566
631
  {"id":"opencode-swarm-plugin-9tvl","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.634714-08:00","updated_at":"2025-12-08T08:23:20.015026-08:00","closed_at":"2025-12-08T08:23:20.015026-08:00"}
567
632
  {"id":"opencode-swarm-plugin-9ucw","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.376401-08:00","updated_at":"2025-12-08T08:22:19.984318-08:00","closed_at":"2025-12-08T08:22:19.984318-08:00"}
568
633
  {"id":"opencode-swarm-plugin-9v33b","title":"beads.ts:260-278 - Epic rollback may fail silently","description":"beads.ts:260-278 - beads_create_epic catches rollback errors and logs them but continues. If multiple rollbacks fail, final error message may be misleading. Suggested fix: Collect rollback errors and include them in thrown error.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:13.501819-08:00","updated_at":"2025-12-10T12:00:15.295654-08:00","closed_at":"2025-12-10T12:00:15.295654-08:00"}
569
634
  {"id":"opencode-swarm-plugin-9v3z","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.122675-08:00","updated_at":"2025-12-07T19:39:31.226339-08:00","closed_at":"2025-12-07T19:39:31.226339-08:00"}
635
+ {"id":"opencode-swarm-plugin-9v9fd","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:20.14741-08:00","updated_at":"2025-12-14T09:30:23.608248-08:00","closed_at":"2025-12-14T09:30:23.608248-08:00"}
636
+ {"id":"opencode-swarm-plugin-9v9fd.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.206002-08:00","updated_at":"2025-12-14T09:30:23.652518-08:00","closed_at":"2025-12-14T09:30:23.652518-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9v9fd.1","depends_on_id":"opencode-swarm-plugin-9v9fd","type":"parent-child","created_at":"2025-12-14T09:30:20.20694-08:00","created_by":"daemon"}]}
637
+ {"id":"opencode-swarm-plugin-9v9fd.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-14T09:30:20.261881-08:00","updated_at":"2025-12-14T09:30:23.699294-08:00","closed_at":"2025-12-14T09:30:23.699294-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9v9fd.2","depends_on_id":"opencode-swarm-plugin-9v9fd","type":"parent-child","created_at":"2025-12-14T09:30:20.263435-08:00","created_by":"daemon"}]}
638
+ {"id":"opencode-swarm-plugin-9v9fd.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:30:20.318245-08:00","updated_at":"2025-12-14T09:30:23.743728-08:00","closed_at":"2025-12-14T09:30:23.743728-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9v9fd.3","depends_on_id":"opencode-swarm-plugin-9v9fd","type":"parent-child","created_at":"2025-12-14T09:30:20.319411-08:00","created_by":"daemon"}]}
570
639
  {"id":"opencode-swarm-plugin-9wo","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.299301-08:00","updated_at":"2025-12-07T19:39:20.43669-08:00","closed_at":"2025-12-07T19:39:20.43669-08:00"}
571
640
  {"id":"opencode-swarm-plugin-9wofd","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.646896-08:00","updated_at":"2025-12-10T09:08:35.879026-08:00","closed_at":"2025-12-10T09:08:35.879026-08:00"}
572
641
  {"id":"opencode-swarm-plugin-9yct","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:57.344571-08:00","updated_at":"2025-12-08T08:56:57.424671-08:00","closed_at":"2025-12-08T08:56:57.424671-08:00"}
@@ -591,6 +660,7 @@
591
660
  {"id":"opencode-swarm-plugin-a6rl7.3","title":"Mandate promotion engine with decay","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:56:58.164309-08:00","updated_at":"2025-12-13T15:05:08.587143-08:00","closed_at":"2025-12-13T15:05:08.587143-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a6rl7.3","depends_on_id":"opencode-swarm-plugin-a6rl7","type":"parent-child","created_at":"2025-12-13T14:56:58.165879-08:00","created_by":"daemon"}]}
592
661
  {"id":"opencode-swarm-plugin-a6rl7.4","title":"Plugin tools for mandate operations","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:56:58.225915-08:00","updated_at":"2025-12-13T15:50:50.367358-08:00","closed_at":"2025-12-13T15:50:50.367358-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a6rl7.4","depends_on_id":"opencode-swarm-plugin-a6rl7","type":"parent-child","created_at":"2025-12-13T14:56:58.227213-08:00","created_by":"daemon"}]}
593
662
  {"id":"opencode-swarm-plugin-a6rl7.5","title":"Integration tests and plugin export","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:56:58.282544-08:00","updated_at":"2025-12-13T15:51:04.411257-08:00","closed_at":"2025-12-13T15:51:04.411257-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a6rl7.5","depends_on_id":"opencode-swarm-plugin-a6rl7","type":"parent-child","created_at":"2025-12-13T14:56:58.283786-08:00","created_by":"daemon"}]}
663
+ {"id":"opencode-swarm-plugin-a7565","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.664176-08:00","updated_at":"2025-12-14T13:58:55.250241-08:00","closed_at":"2025-12-14T13:58:55.250241-08:00"}
594
664
  {"id":"opencode-swarm-plugin-a76x","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:21:26.918472-08:00","updated_at":"2025-12-08T08:21:29.744733-08:00","closed_at":"2025-12-08T08:21:29.744733-08:00"}
595
665
  {"id":"opencode-swarm-plugin-a8y","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:10.635641-08:00","updated_at":"2025-12-07T19:39:12.218959-08:00","closed_at":"2025-12-07T19:39:12.218959-08:00"}
596
666
  {"id":"opencode-swarm-plugin-a8y.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.693537-08:00","updated_at":"2025-12-07T19:39:12.2636-08:00","closed_at":"2025-12-07T19:39:12.2636-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a8y.2","depends_on_id":"opencode-swarm-plugin-a8y","type":"parent-child","created_at":"2025-12-07T19:39:10.693862-08:00","created_by":"daemon"}]}
@@ -598,12 +668,14 @@
598
668
  {"id":"opencode-swarm-plugin-afgnc","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:16:36.525452-08:00","updated_at":"2025-12-13T11:16:40.273203-08:00","closed_at":"2025-12-13T11:16:40.273203-08:00"}
599
669
  {"id":"opencode-swarm-plugin-afwy","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:10:52.85817-08:00","updated_at":"2025-12-08T11:10:55.531076-08:00","closed_at":"2025-12-08T11:10:55.531076-08:00"}
600
670
  {"id":"opencode-swarm-plugin-agej","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.237427-08:00","updated_at":"2025-12-07T19:39:31.31497-08:00","closed_at":"2025-12-07T19:39:31.31497-08:00"}
671
+ {"id":"opencode-swarm-plugin-ah41w","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:30:19.327312-08:00","updated_at":"2025-12-14T09:30:23.409109-08:00","closed_at":"2025-12-14T09:30:23.409109-08:00"}
601
672
  {"id":"opencode-swarm-plugin-ahfg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.57012-08:00","updated_at":"2025-12-07T19:56:44.758113-08:00","closed_at":"2025-12-07T19:56:44.758113-08:00"}
602
673
  {"id":"opencode-swarm-plugin-ahfn","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.121548-08:00","updated_at":"2025-12-08T08:23:19.717967-08:00","closed_at":"2025-12-08T08:23:19.717967-08:00"}
603
674
  {"id":"opencode-swarm-plugin-ahq8","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.356612-08:00","updated_at":"2025-12-08T11:11:25.644108-08:00","closed_at":"2025-12-08T11:11:25.644108-08:00"}
604
675
  {"id":"opencode-swarm-plugin-ai2p","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.302997-08:00","updated_at":"2025-12-08T08:22:19.488446-08:00","closed_at":"2025-12-08T08:22:19.488446-08:00"}
605
676
  {"id":"opencode-swarm-plugin-ajqu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:10.735824-08:00","updated_at":"2025-12-07T19:41:13.322607-08:00","closed_at":"2025-12-07T19:41:13.322607-08:00"}
606
677
  {"id":"opencode-swarm-plugin-am6b","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:40.362506-08:00","updated_at":"2025-12-08T08:11:42.362957-08:00","closed_at":"2025-12-08T08:11:42.362957-08:00"}
678
+ {"id":"opencode-swarm-plugin-an1wt","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-14T13:58:50.006712-08:00","updated_at":"2025-12-14T13:58:54.893558-08:00","closed_at":"2025-12-14T13:58:54.893558-08:00"}
607
679
  {"id":"opencode-swarm-plugin-anlp2","title":"AI Agent Pattern Research: Plugin Improvement Analysis","description":"Research synthesis from PDF library (Patterns for Building AI Agents, Principles of Building AI Agents, Training Complex Cognitive Skills) applied to opencode-swarm-plugin improvements.\n\n## Key Patterns Identified\n\n### 1. Context Engineering (from Patterns for Building AI Agents)\n- **Current gap**: Our SUBTASK_PROMPT is verbose but lacks structured context sections\n- **Pattern**: \"Context engineering is both art and science\" - Karpathy\n- **Improvement**: Add explicit context sections: [IDENTITY] [TASK] [CONSTRAINTS] [TOOLS] [OUTPUT]\n\n### 2. Context Compression (p.37-39)\n- **Current gap**: No automatic context pruning between agent tasks\n- **Pattern**: \"Periodic context compression can prune irrelevant context\"\n- **Improvement**: Add `swarm_compress_context` tool that summarizes completed work\n\n### 3. Feed Errors Into Context (p.40)\n- **Current gap**: Errors are logged but not fed back into agent context\n- **Pattern**: \"Good agents examine and correct errors when something goes wrong\"\n- **Improvement**: Add error accumulator that feeds into retry prompts\n\n### 4. Parallelize Carefully (p.31)\n- **Current gap**: We spawn parallel agents but don't ensure context sharing\n- **Pattern**: \"Ensure subagents can share context along the way\"\n- **Improvement**: Add `swarm_broadcast` for mid-task context updates\n\n### 5. List Failure Modes (p.46)\n- **Current gap**: No classification of why agent failures occur\n- **Pattern**: \"Create classification process for agent failures\"\n- **Improvement**: Add failure taxonomy to swarm_record_outcome\n\n### 6. Tool Calling Best Practices (Principles p.36)\n- **Current gap**: Tool descriptions are functional but not semantic\n- **Pattern**: \"Use semantic naming that matches tool's purpose\"\n- **Improvement**: Audit all tool descriptions for semantic clarity\n\n### 7. Workflows as Tools (Principles p.109)\n- **Current gap**: Swarm is a command, not composable\n- **Pattern**: \"Multi-agent architecture = primitives + arrangement\"\n- **Improvement**: Make swarm_decompose callable from other workflows\n\n### 8. Implicit Feedback Scoring (already implemented)\n- **Current strength**: swarm_record_outcome tracks duration/errors/retries\n- **Enhancement**: Add strategy-specific scoring (file-based vs feature-based)\n\n## Recommended Improvements (Priority Order)\n\n1. **HIGH**: Context compression between subtasks\n2. **HIGH**: Error accumulator for retry prompts \n3. **MEDIUM**: Failure mode taxonomy\n4. **MEDIUM**: Mid-task context broadcast\n5. **LOW**: Semantic tool description audit\n6. **LOW**: Composable workflow primitives","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-10T10:02:37.4266-08:00","updated_at":"2025-12-10T11:06:06.392-08:00","closed_at":"2025-12-10T11:06:06.392-08:00"}
608
680
  {"id":"opencode-swarm-plugin-anuj","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:57:05.6861-08:00","updated_at":"2025-12-07T19:57:08.122037-08:00","closed_at":"2025-12-07T19:57:08.122037-08:00"}
609
681
  {"id":"opencode-swarm-plugin-aoed","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:30.83873-08:00","updated_at":"2025-12-07T19:39:31.011277-08:00","closed_at":"2025-12-07T19:39:31.011277-08:00"}
@@ -612,6 +684,11 @@
612
684
  {"id":"opencode-swarm-plugin-aojf","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:41:11.831971-08:00","updated_at":"2025-12-07T19:41:13.750471-08:00","closed_at":"2025-12-07T19:41:13.750471-08:00"}
613
685
  {"id":"opencode-swarm-plugin-aojf.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.870485-08:00","updated_at":"2025-12-07T19:41:13.776876-08:00","closed_at":"2025-12-07T19:41:13.776876-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aojf.1","depends_on_id":"opencode-swarm-plugin-aojf","type":"parent-child","created_at":"2025-12-07T19:41:11.870839-08:00","created_by":"daemon"}]}
614
686
  {"id":"opencode-swarm-plugin-aojf.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-07T19:41:11.908563-08:00","updated_at":"2025-12-07T19:41:13.801066-08:00","closed_at":"2025-12-07T19:41:13.801066-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aojf.2","depends_on_id":"opencode-swarm-plugin-aojf","type":"parent-child","created_at":"2025-12-07T19:41:11.90889-08:00","created_by":"daemon"}]}
687
+ {"id":"opencode-swarm-plugin-aoppg","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:31.831751-08:00","updated_at":"2025-12-13T18:16:34.840471-08:00","closed_at":"2025-12-13T18:16:34.840471-08:00"}
688
+ {"id":"opencode-swarm-plugin-aoppg.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.887355-08:00","updated_at":"2025-12-13T18:16:34.88127-08:00","closed_at":"2025-12-13T18:16:34.88127-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aoppg.1","depends_on_id":"opencode-swarm-plugin-aoppg","type":"parent-child","created_at":"2025-12-13T18:16:31.888124-08:00","created_by":"daemon"}]}
689
+ {"id":"opencode-swarm-plugin-aoppg.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.943333-08:00","updated_at":"2025-12-13T18:16:34.922844-08:00","closed_at":"2025-12-13T18:16:34.922844-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aoppg.2","depends_on_id":"opencode-swarm-plugin-aoppg","type":"parent-child","created_at":"2025-12-13T18:16:31.94448-08:00","created_by":"daemon"}]}
690
+ {"id":"opencode-swarm-plugin-aoppg.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.998044-08:00","updated_at":"2025-12-13T18:16:34.962717-08:00","closed_at":"2025-12-13T18:16:34.962717-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aoppg.3","depends_on_id":"opencode-swarm-plugin-aoppg","type":"parent-child","created_at":"2025-12-13T18:16:31.999483-08:00","created_by":"daemon"}]}
691
+ {"id":"opencode-swarm-plugin-aoppg.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.050798-08:00","updated_at":"2025-12-13T18:16:35.004806-08:00","closed_at":"2025-12-13T18:16:35.004806-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aoppg.4","depends_on_id":"opencode-swarm-plugin-aoppg","type":"parent-child","created_at":"2025-12-13T18:16:32.051455-08:00","created_by":"daemon"}]}
615
692
  {"id":"opencode-swarm-plugin-aoxj","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.320935-08:00","updated_at":"2025-12-08T11:10:28.154338-08:00","closed_at":"2025-12-08T11:10:28.154338-08:00"}
616
693
  {"id":"opencode-swarm-plugin-apsqh","title":"Durable Streams Primitives with Effect-TS","description":"Implement Kyle Matthews' composable actor-model primitives for Swarm Mail: DurableCursor (positioned consumer), DurableDeferred (distributed promise), DurableLock (mutual exclusion), DurableMailbox (actor inbox), and Ask pattern (request/response). Uses Effect-TS service layers for dependency injection and composability.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T10:01:18.517087-08:00","updated_at":"2025-12-13T10:21:05.411996-08:00","closed_at":"2025-12-13T10:21:05.411996-08:00"}
617
694
  {"id":"opencode-swarm-plugin-apsqh.1","title":"Effect-TS foundation + DurableCursor service","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T10:01:18.574091-08:00","updated_at":"2025-12-13T10:12:29.546777-08:00","closed_at":"2025-12-13T10:12:29.546777-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-apsqh.1","depends_on_id":"opencode-swarm-plugin-apsqh","type":"parent-child","created_at":"2025-12-13T10:01:18.57601-08:00","created_by":"daemon"}]}
@@ -631,6 +708,7 @@
631
708
  {"id":"opencode-swarm-plugin-b3pr","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.77563-08:00","updated_at":"2025-12-08T08:23:20.062473-08:00","closed_at":"2025-12-08T08:23:20.062473-08:00"}
632
709
  {"id":"opencode-swarm-plugin-b40","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.696949-08:00","updated_at":"2025-12-07T19:34:54.75136-08:00","closed_at":"2025-12-07T19:34:54.75136-08:00"}
633
710
  {"id":"opencode-swarm-plugin-b4y3u","title":"Feature: Deep semantic-memory integration throughout plugin","description":"## Vision\nMake semantic-memory a first-class citizen in the plugin, not just an available tool.\n\n## Integration Points\n\n### 1. Swarm Learning\n- After swarm_complete: auto-store learnings about what worked/failed\n- After 3-strike: store architectural insights\n- Pattern maturity transitions: store why patterns got promoted/deprecated\n\n### 2. Decomposition\n- Before decomposing: query semantic-memory for similar past tasks\n- Store successful decomposition strategies with task characteristics\n- Learn which strategies work for which task types\n\n### 3. Skills\n- When skill is used successfully: reinforce in memory\n- When skill fails to help: store negative signal\n- Auto-suggest skills based on memory of past similar situations\n\n### 4. Error Handling\n- Store error patterns and their solutions\n- Query memory when hitting errors (before CASS)\n- Build project-specific error knowledge base\n\n### 5. Beads\n- Store context when closing beads (what was learned)\n- Query memory when starting similar beads\n- Track which approaches worked for which problem types\n\n## Implementation Ideas\n\n### Auto-store on key events\n```typescript\n// In swarm_complete\nif (success) {\n semantic_memory_store({\n information: `Task \"${title}\" succeeded with strategy \"${strategy}\". Key insight: ${summary}`,\n metadata: `swarm, ${strategy}, success`\n })\n}\n\n// In 3-strike detection\nsemantic_memory_store({\n information: `Architecture problem in ${bead_id}: ${prompt}. Required human decision.`,\n metadata: `architecture, 3-strike, ${bead_id}`\n})\n```\n\n### Auto-query before actions\n```typescript\n// In swarm_decompose\nconst memories = await semantic_memory_find({\n query: task,\n limit: 3\n})\n// Include relevant memories in decomposition context\n```\n\n### Validation on retrieval\n```typescript\n// When memory helps solve a problem\nsemantic_memory_validate({ id: memory.id }) // Reset decay timer\n```\n\n## Success Criteria\n- Every swarm completion stores a learning\n- Decomposition queries memory before CASS\n- Error patterns accumulate and help future debugging\n- Memory decay keeps knowledge fresh and relevant","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:18:23.293815-08:00","updated_at":"2025-12-13T16:05:13.309264-08:00","closed_at":"2025-12-13T16:05:13.309264-08:00"}
711
+ {"id":"opencode-swarm-plugin-b5al8","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.610242-08:00","updated_at":"2025-12-14T13:58:55.197084-08:00","closed_at":"2025-12-14T13:58:55.197084-08:00"}
634
712
  {"id":"opencode-swarm-plugin-b5m","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.175896-08:00","updated_at":"2025-12-07T19:39:12.06669-08:00","closed_at":"2025-12-07T19:39:12.06669-08:00"}
635
713
  {"id":"opencode-swarm-plugin-b6ff","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:24.911696-08:00","updated_at":"2025-12-08T11:10:27.394162-08:00","closed_at":"2025-12-08T11:10:27.394162-08:00"}
636
714
  {"id":"opencode-swarm-plugin-b74w","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:24.853218-08:00","updated_at":"2025-12-08T11:10:27.368339-08:00","closed_at":"2025-12-08T11:10:27.368339-08:00"}
@@ -649,10 +727,14 @@
649
727
  {"id":"opencode-swarm-plugin-bjrtc","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.91158-08:00","updated_at":"2025-12-09T10:00:25.015472-08:00","closed_at":"2025-12-09T10:00:25.015472-08:00"}
650
728
  {"id":"opencode-swarm-plugin-bkxk","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.773358-08:00","updated_at":"2025-12-08T11:10:26.851958-08:00","closed_at":"2025-12-08T11:10:26.851958-08:00"}
651
729
  {"id":"opencode-swarm-plugin-blhh","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.544524-08:00","updated_at":"2025-12-07T19:41:14.154813-08:00","closed_at":"2025-12-07T19:41:14.154813-08:00"}
730
+ {"id":"opencode-swarm-plugin-bmhgn","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.789925-08:00","updated_at":"2025-12-14T13:58:56.510677-08:00","closed_at":"2025-12-14T13:58:56.510677-08:00"}
652
731
  {"id":"opencode-swarm-plugin-bmyr9","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:40.860785-08:00","updated_at":"2025-12-13T14:48:44.928384-08:00","closed_at":"2025-12-13T14:48:44.928384-08:00"}
653
732
  {"id":"opencode-swarm-plugin-bnpn6","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:06:06.721342-08:00","updated_at":"2025-12-10T09:06:10.157952-08:00","closed_at":"2025-12-10T09:06:10.157952-08:00"}
654
733
  {"id":"opencode-swarm-plugin-bnx47","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.816648-08:00","updated_at":"2025-12-08T11:12:58.248106-08:00","closed_at":"2025-12-08T11:12:58.248106-08:00"}
655
734
  {"id":"opencode-swarm-plugin-bo3t","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.590376-08:00","updated_at":"2025-12-07T19:57:08.981729-08:00","closed_at":"2025-12-07T19:57:08.981729-08:00"}
735
+ {"id":"opencode-swarm-plugin-bpf59","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:31.721668-08:00","updated_at":"2025-12-13T18:16:34.756046-08:00","closed_at":"2025-12-13T18:16:34.756046-08:00"}
736
+ {"id":"opencode-swarm-plugin-bpf59.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:16:31.775821-08:00","updated_at":"2025-12-13T18:16:34.798062-08:00","closed_at":"2025-12-13T18:16:34.798062-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-bpf59.1","depends_on_id":"opencode-swarm-plugin-bpf59","type":"parent-child","created_at":"2025-12-13T18:16:31.776563-08:00","created_by":"daemon"}]}
737
+ {"id":"opencode-swarm-plugin-bpit4","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-13T18:16:29.334521-08:00","updated_at":"2025-12-13T18:16:33.601476-08:00","closed_at":"2025-12-13T18:16:33.601476-08:00"}
656
738
  {"id":"opencode-swarm-plugin-bqua","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.074715-08:00","updated_at":"2025-12-07T19:41:13.525519-08:00","closed_at":"2025-12-07T19:41:13.525519-08:00"}
657
739
  {"id":"opencode-swarm-plugin-bqwt","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:11:40.055179-08:00","updated_at":"2025-12-08T08:11:42.156511-08:00","closed_at":"2025-12-08T08:11:42.156511-08:00"}
658
740
  {"id":"opencode-swarm-plugin-bqzq","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.108024-08:00","updated_at":"2025-12-08T11:11:10.749445-08:00","closed_at":"2025-12-08T11:11:10.749445-08:00"}
@@ -662,6 +744,7 @@
662
744
  {"id":"opencode-swarm-plugin-bscr","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.524891-08:00","updated_at":"2025-12-08T11:11:40.962137-08:00","closed_at":"2025-12-08T11:11:40.962137-08:00"}
663
745
  {"id":"opencode-swarm-plugin-bsdi","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T07:53:44.245806-08:00","updated_at":"2025-12-08T07:53:46.503005-08:00","closed_at":"2025-12-08T07:53:46.503005-08:00"}
664
746
  {"id":"opencode-swarm-plugin-bsuvl","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.23906-08:00","updated_at":"2025-12-13T11:20:50.884161-08:00","closed_at":"2025-12-13T11:20:50.884161-08:00"}
747
+ {"id":"opencode-swarm-plugin-buytx","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.225774-08:00","updated_at":"2025-12-13T18:18:37.955175-08:00","closed_at":"2025-12-13T18:18:37.955175-08:00"}
665
748
  {"id":"opencode-swarm-plugin-bv3m","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.148679-08:00","updated_at":"2025-12-08T08:05:35.457241-08:00","closed_at":"2025-12-08T08:05:35.457241-08:00"}
666
749
  {"id":"opencode-swarm-plugin-bvot5","title":"Document regex limitations in attemptJsonRepair","description":"src/structured.ts:249-272 - attemptJsonRepair has comment \"This is a simple heuristic - won't work for all cases\" but doesn't list known limitations. Add JSDoc: \"Limitations: single quotes in nested objects, escaped quotes in keys, multiline string detection\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:47.470646-08:00","updated_at":"2025-12-13T16:45:44.852448-08:00","closed_at":"2025-12-13T16:45:44.852448-08:00"}
667
750
  {"id":"opencode-swarm-plugin-bvrh","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.796296-08:00","updated_at":"2025-12-08T09:09:33.605943-08:00","closed_at":"2025-12-08T09:09:33.605943-08:00"}
@@ -718,8 +801,10 @@
718
801
  {"id":"opencode-swarm-plugin-cmo6","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:53:44.299916-08:00","updated_at":"2025-12-08T07:53:46.527966-08:00","closed_at":"2025-12-08T07:53:46.527966-08:00"}
719
802
  {"id":"opencode-swarm-plugin-cmx0j","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:08.377019-08:00","updated_at":"2025-12-10T09:06:10.913752-08:00","closed_at":"2025-12-10T09:06:10.913752-08:00"}
720
803
  {"id":"opencode-swarm-plugin-cor","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.00247-08:00","updated_at":"2025-12-07T19:34:53.027513-08:00","closed_at":"2025-12-07T19:34:53.027513-08:00"}
804
+ {"id":"opencode-swarm-plugin-coufp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.06641-08:00","updated_at":"2025-12-14T13:58:54.936028-08:00","closed_at":"2025-12-14T13:58:54.936028-08:00"}
721
805
  {"id":"opencode-swarm-plugin-cppl","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.130656-08:00","updated_at":"2025-12-08T09:09:33.351067-08:00","closed_at":"2025-12-08T09:09:33.351067-08:00"}
722
806
  {"id":"opencode-swarm-plugin-crcm","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.504179-08:00","updated_at":"2025-12-08T08:23:19.920645-08:00","closed_at":"2025-12-08T08:23:19.920645-08:00"}
807
+ {"id":"opencode-swarm-plugin-cs3wl","title":"Cut release v0.21.0","description":"## Changes for v0.21.0\n\n**Fixed:**\n- Migration tests updated for 4 migrations (was hardcoded to 2)\n- All 230 tests passing\n\n**Features (from bead opencode-swarm-plugin-66ni8):**\n- Swarm recovery context (swarm_checkpoint, swarm_recover, auto-checkpoint at 25/50/75%)\n- Eval data capture (DecompositionGeneratedEvent, SubtaskOutcomeEvent, eval_records table)\n- Outcome-based scorers (fileOverlap, scopeAccuracy, timeBalance, successRate, humanAcceptance)\n- PGLite data loader for Evalite\n- JSONB parsing fix in store.ts/projections.ts\n\n**Steps:**\n1. Commit test fixes\n2. Update package.json version to 0.21.0\n3. Build\n4. Git tag\n5. Push\n6. Publish to npm","status":"in_progress","priority":0,"issue_type":"task","created_at":"2025-12-14T14:21:48.794294-08:00","updated_at":"2025-12-14T14:21:53.100526-08:00"}
723
808
  {"id":"opencode-swarm-plugin-csdh","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:25:10.806508-08:00","updated_at":"2025-12-08T08:25:12.779477-08:00","closed_at":"2025-12-08T08:25:12.779477-08:00"}
724
809
  {"id":"opencode-swarm-plugin-csdh.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.846377-08:00","updated_at":"2025-12-08T08:25:12.806068-08:00","closed_at":"2025-12-08T08:25:12.806068-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-csdh.1","depends_on_id":"opencode-swarm-plugin-csdh","type":"parent-child","created_at":"2025-12-08T08:25:10.846682-08:00","created_by":"daemon"}]}
725
810
  {"id":"opencode-swarm-plugin-csdh.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.881406-08:00","updated_at":"2025-12-08T08:25:12.834953-08:00","closed_at":"2025-12-08T08:25:12.834953-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-csdh.2","depends_on_id":"opencode-swarm-plugin-csdh","type":"parent-child","created_at":"2025-12-08T08:25:10.881733-08:00","created_by":"daemon"}]}
@@ -773,6 +858,7 @@
773
858
  {"id":"opencode-swarm-plugin-d9zt.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.985785-08:00","updated_at":"2025-12-08T08:05:35.829409-08:00","closed_at":"2025-12-08T08:05:35.829409-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-d9zt.2","depends_on_id":"opencode-swarm-plugin-d9zt","type":"parent-child","created_at":"2025-12-08T08:05:33.986123-08:00","created_by":"daemon"}]}
774
859
  {"id":"opencode-swarm-plugin-daf5","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.942484-08:00","updated_at":"2025-12-08T08:05:35.323265-08:00","closed_at":"2025-12-08T08:05:35.323265-08:00"}
775
860
  {"id":"opencode-swarm-plugin-dah8v","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:08:33.080399-08:00","updated_at":"2025-12-10T09:08:36.001649-08:00","closed_at":"2025-12-10T09:08:36.001649-08:00"}
861
+ {"id":"opencode-swarm-plugin-db5a7","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T13:58:51.232699-08:00","updated_at":"2025-12-14T13:58:55.464496-08:00","closed_at":"2025-12-14T13:58:55.464496-08:00"}
776
862
  {"id":"opencode-swarm-plugin-dbu9","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.158877-08:00","updated_at":"2025-12-08T11:11:25.563267-08:00","closed_at":"2025-12-08T11:11:25.563267-08:00"}
777
863
  {"id":"opencode-swarm-plugin-dbyp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.420047-08:00","updated_at":"2025-12-08T11:11:10.142417-08:00","closed_at":"2025-12-08T11:11:10.142417-08:00"}
778
864
  {"id":"opencode-swarm-plugin-dbzw","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.36563-08:00","updated_at":"2025-12-08T08:14:31.330993-08:00","closed_at":"2025-12-08T08:14:31.330993-08:00"}
@@ -787,6 +873,7 @@
787
873
  {"id":"opencode-swarm-plugin-dhwmm","title":"swarm.ts:850-870 - querySwarmMessages silently returns 0 on error","description":"swarm.ts:850-870 - querySwarmMessages catches all errors and returns 0. Callers can't distinguish between \"no messages\" and \"query failed\". Affects swarm_status accuracy. Suggested fix: Log error before returning 0.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:28.375271-08:00","updated_at":"2025-12-10T11:56:18.544136-08:00","closed_at":"2025-12-10T11:56:18.544136-08:00"}
788
874
  {"id":"opencode-swarm-plugin-dia","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:39:17.972947-08:00","updated_at":"2025-12-07T19:39:20.25944-08:00","closed_at":"2025-12-07T19:39:20.25944-08:00"}
789
875
  {"id":"opencode-swarm-plugin-dl17","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.165899-08:00","updated_at":"2025-12-08T08:56:57.785281-08:00","closed_at":"2025-12-08T08:56:57.785281-08:00"}
876
+ {"id":"opencode-swarm-plugin-dmji7","title":"Improve semantic memory usage patterns - agents should proactively store learnings","description":"## Problem\n\nSemantic memory exists but isn't being exercised in practice:\n- 35 memories total, but ~30 are test artifacts from integration tests\n- Only ~5 real learnings stored in `default` collection\n- Agents aren't proactively storing discoveries during work\n\n## Evidence\n\n```\nCollections breakdown:\n- test-patterns: ~15 (integration test pollution)\n- test-feedback: ~15 (integration test pollution) \n- default: ~5 (actual learnings)\n```\n\nReal learnings found:\n1. CRITICAL SCHEMA FIX - egghead-rails series table deprecation\n2. Docker test infrastructure - egghead migration approach\n3. POC Migration Learnings - Coursebuilder patterns\n4. Durable Streams Protocol - Electric SQL\n\n## Proposed Solutions\n\n1. **Test isolation**: Integration tests should use separate memory location or cleanup after\n2. **Agent prompting**: Update AGENTS.md to emphasize when to store memories\n3. **Automatic capture**: Hook into swarm_complete to auto-store learnings from successful tasks\n4. **Memory triggers**: Define clear triggers for when agents SHOULD store:\n - After solving a tricky bug (store the solution)\n - After architectural decisions (store the reasoning)\n - After discovering project-specific patterns\n - After debugging sessions that reveal root causes\n\n## Success Criteria\n\n- Integration tests don't pollute production memory\n- Agents store 1-3 meaningful learnings per significant session\n- Memory search returns useful context for similar future tasks","status":"open","priority":2,"issue_type":"feature","created_at":"2025-12-14T13:51:44.162675-08:00","updated_at":"2025-12-14T13:51:44.162675-08:00"}
790
877
  {"id":"opencode-swarm-plugin-dmt","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.777024-08:00","updated_at":"2025-12-07T19:39:18.800362-08:00","closed_at":"2025-12-07T19:39:18.800362-08:00"}
791
878
  {"id":"opencode-swarm-plugin-doe","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:07.043805-08:00","updated_at":"2025-12-07T19:36:08.828395-08:00","closed_at":"2025-12-07T19:36:08.828395-08:00"}
792
879
  {"id":"opencode-swarm-plugin-dqeye","title":"Add JSDoc to schema export file","description":"src/schemas/index.ts:1-78 - File lacks JSDoc describing export groups and their purposes. Add module-level JSDoc explaining that this is the central export point for all schema definitions used in the plugin.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:04.359624-08:00","updated_at":"2025-12-13T16:48:09.917903-08:00","closed_at":"2025-12-13T16:48:09.917903-08:00"}
@@ -832,6 +919,7 @@
832
919
  {"id":"opencode-swarm-plugin-ee7ef","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:31.587689-08:00","updated_at":"2025-12-10T09:08:35.232833-08:00","closed_at":"2025-12-10T09:08:35.232833-08:00"}
833
920
  {"id":"opencode-swarm-plugin-eeuvt","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:21.831731-08:00","updated_at":"2025-12-10T09:07:25.462558-08:00","closed_at":"2025-12-10T09:07:25.462558-08:00"}
834
921
  {"id":"opencode-swarm-plugin-efo","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.539045-08:00","updated_at":"2025-12-07T19:39:11.742369-08:00","closed_at":"2025-12-07T19:39:11.742369-08:00"}
922
+ {"id":"opencode-swarm-plugin-eg87t","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:21.812596-08:00","updated_at":"2025-12-14T09:30:21.953461-08:00","closed_at":"2025-12-14T09:30:21.953461-08:00"}
835
923
  {"id":"opencode-swarm-plugin-eimq9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:22.038885-08:00","updated_at":"2025-12-10T09:07:25.541926-08:00","closed_at":"2025-12-10T09:07:25.541926-08:00"}
836
924
  {"id":"opencode-swarm-plugin-ej0d","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:56:56.735593-08:00","updated_at":"2025-12-08T08:56:58.604559-08:00","closed_at":"2025-12-08T08:56:58.604559-08:00"}
837
925
  {"id":"opencode-swarm-plugin-ej0d.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.767747-08:00","updated_at":"2025-12-08T08:56:58.627416-08:00","closed_at":"2025-12-08T08:56:58.627416-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ej0d.1","depends_on_id":"opencode-swarm-plugin-ej0d","type":"parent-child","created_at":"2025-12-08T08:56:56.768209-08:00","created_by":"daemon"}]}
@@ -843,6 +931,7 @@
843
931
  {"id":"opencode-swarm-plugin-el61","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:36:17.604682-08:00","updated_at":"2025-12-08T08:36:19.5064-08:00","closed_at":"2025-12-08T08:36:19.5064-08:00"}
844
932
  {"id":"opencode-swarm-plugin-el61.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:17.643025-08:00","updated_at":"2025-12-08T08:36:19.533043-08:00","closed_at":"2025-12-08T08:36:19.533043-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-el61.1","depends_on_id":"opencode-swarm-plugin-el61","type":"parent-child","created_at":"2025-12-08T08:36:17.643305-08:00","created_by":"daemon"}]}
845
933
  {"id":"opencode-swarm-plugin-el61.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:36:17.681274-08:00","updated_at":"2025-12-08T08:36:19.561578-08:00","closed_at":"2025-12-08T08:36:19.561578-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-el61.2","depends_on_id":"opencode-swarm-plugin-el61","type":"parent-child","created_at":"2025-12-08T08:36:17.681631-08:00","created_by":"daemon"}]}
934
+ {"id":"opencode-swarm-plugin-elaod","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:33.952847-08:00","updated_at":"2025-12-13T18:18:37.773745-08:00","closed_at":"2025-12-13T18:18:37.773745-08:00"}
846
935
  {"id":"opencode-swarm-plugin-emm","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:11.319898-08:00","updated_at":"2025-12-07T19:39:11.3839-08:00","closed_at":"2025-12-07T19:39:11.3839-08:00"}
847
936
  {"id":"opencode-swarm-plugin-emw","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.137876-08:00","updated_at":"2025-12-07T19:37:36.20508-08:00","closed_at":"2025-12-07T19:37:36.20508-08:00"}
848
937
  {"id":"opencode-swarm-plugin-enbl","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.783674-08:00","updated_at":"2025-12-08T08:21:30.206569-08:00","closed_at":"2025-12-08T08:21:30.206569-08:00"}
@@ -903,6 +992,7 @@
903
992
  {"id":"opencode-swarm-plugin-fomf","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.714274-08:00","updated_at":"2025-12-08T11:12:28.097683-08:00","closed_at":"2025-12-08T11:12:28.097683-08:00"}
904
993
  {"id":"opencode-swarm-plugin-fqo6m","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:36.039029-08:00","updated_at":"2025-12-13T11:16:40.062465-08:00","closed_at":"2025-12-13T11:16:40.062465-08:00"}
905
994
  {"id":"opencode-swarm-plugin-frk9","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:25:09.263281-08:00","updated_at":"2025-12-08T08:25:12.049893-08:00","closed_at":"2025-12-08T08:25:12.049893-08:00"}
995
+ {"id":"opencode-swarm-plugin-frmzt","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.334605-08:00","updated_at":"2025-12-14T13:58:56.4249-08:00","closed_at":"2025-12-14T13:58:56.4249-08:00"}
906
996
  {"id":"opencode-swarm-plugin-fst9c","title":"Event-Sourced Agent Mail with PGLite","description":"Replace MCP-based agent mail with embedded PGLite database using Durable Streams protocol (Electric SQL). Same tool API, offset-based resumability, crash recovery, full audit trail, no external dependencies.\n\nReference: github.com/durable-streams/durable-streams\n\nKey changes from original plan:\n- Using Durable Streams protocol instead of custom event sourcing\n- Offset format: `\u003cread-seq\u003e_\u003cbyte-offset\u003e` (lexicographically sortable)\n- Recovery: scan files to reconcile with metadata on startup\n- Long-poll support for live tailing","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T08:47:30.814673-08:00","updated_at":"2025-12-13T15:51:21.968873-08:00","closed_at":"2025-12-13T15:51:21.968873-08:00"}
907
997
  {"id":"opencode-swarm-plugin-fst9c.1","title":"PGLite Foundation + Event Schema","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T08:47:30.870657-08:00","updated_at":"2025-12-13T08:49:03.269255-08:00","closed_at":"2025-12-13T08:49:03.269255-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fst9c.1","depends_on_id":"opencode-swarm-plugin-fst9c","type":"parent-child","created_at":"2025-12-13T08:47:30.871568-08:00","created_by":"daemon"}]}
908
998
  {"id":"opencode-swarm-plugin-fst9c.2","title":"Event Store Implementation","description":"TDD: Implement Durable Streams-compliant event store with PGLite\n\nTest-first approach:\n1. Write unit tests for events.ts (schemas, createEvent, isEventType)\n2. Write unit tests for store.ts (append, read, replay)\n3. Write integration tests for full flow\n4. Implement to make tests pass\n\nKey features:\n- Offset format: `\u003cread-seq\u003e_\u003cbyte-offset\u003e` (16-char zero-padded)\n- append() with sequence coordination\n- read() with offset-based resumability \n- Crash recovery: scan to reconcile metadata\n- Long-poll support for live tailing\n\nReference: github.com/durable-streams/durable-streams PROTOCOL.md","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T08:47:30.926284-08:00","updated_at":"2025-12-13T09:01:37.573559-08:00","closed_at":"2025-12-13T09:01:37.573559-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fst9c.2","depends_on_id":"opencode-swarm-plugin-fst9c","type":"parent-child","created_at":"2025-12-13T08:47:30.927781-08:00","created_by":"daemon"}]}
@@ -938,9 +1028,12 @@
938
1028
  {"id":"opencode-swarm-plugin-g63rn.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T11:12:56.645189-08:00","updated_at":"2025-12-08T11:12:58.524935-08:00","closed_at":"2025-12-08T11:12:58.524935-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g63rn.2","depends_on_id":"opencode-swarm-plugin-g63rn","type":"parent-child","created_at":"2025-12-08T11:12:56.645515-08:00","created_by":"daemon"}]}
939
1029
  {"id":"opencode-swarm-plugin-g63rn.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:56.679737-08:00","updated_at":"2025-12-08T11:12:58.550074-08:00","closed_at":"2025-12-08T11:12:58.550074-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g63rn.3","depends_on_id":"opencode-swarm-plugin-g63rn","type":"parent-child","created_at":"2025-12-08T11:12:56.680062-08:00","created_by":"daemon"}]}
940
1030
  {"id":"opencode-swarm-plugin-g6ai","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.465409-08:00","updated_at":"2025-12-08T07:49:11.988385-08:00","closed_at":"2025-12-08T07:49:11.988385-08:00"}
1031
+ {"id":"opencode-swarm-plugin-g8kdh","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.55153-08:00","updated_at":"2025-12-14T09:30:23.015879-08:00","closed_at":"2025-12-14T09:30:23.015879-08:00"}
1032
+ {"id":"opencode-swarm-plugin-g98da","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.897584-08:00","updated_at":"2025-12-13T18:16:33.890782-08:00","closed_at":"2025-12-13T18:16:33.890782-08:00"}
941
1033
  {"id":"opencode-swarm-plugin-ga3","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.459646-08:00","updated_at":"2025-12-07T19:39:20.527941-08:00","closed_at":"2025-12-07T19:39:20.527941-08:00"}
942
1034
  {"id":"opencode-swarm-plugin-gatr","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:08.773318-08:00","updated_at":"2025-12-08T11:11:10.670318-08:00","closed_at":"2025-12-08T11:11:10.670318-08:00"}
943
1035
  {"id":"opencode-swarm-plugin-gatr.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.844156-08:00","updated_at":"2025-12-08T11:11:10.722914-08:00","closed_at":"2025-12-08T11:11:10.722914-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-gatr.2","depends_on_id":"opencode-swarm-plugin-gatr","type":"parent-child","created_at":"2025-12-08T11:11:08.844503-08:00","created_by":"daemon"}]}
1036
+ {"id":"opencode-swarm-plugin-gde33","title":"Swarm Mail Generalization Analysis - Actor coordination patterns for agentic systems","description":"## Swarm Mail Generalization Analysis\n\nWrite a detailed analysis of swarm-mail as a generalized actor coordination system.\n\n### Context Sources\n- Kyle Mathews (Electric SQL) Twitter thread on actor primitives over durable streams\n- PR #6: Durable Streams primitives with Effect-TS\n- DDIA (Kleppmann) on actor models and message passing\n- Screenshots of Kyle's primitive taxonomy\n\n### Kyle's Key Insights (from screenshots)\n\n**What actors actually need as primitives:**\n1. Mailbox - ordered queue of incoming messages\n2. Address - how others send to you\n3. Reply channel - how to respond (DurableDeferred!)\n4. Cursor - where you are in processing\n5. Checkpoint - durably remember position after processing\n\n**The missing primitive:** DurableCursor - positioned consumer with checkpointing\n\n**Primitive Taxonomy:**\n| Primitive | What | Why |\n|-----------|------|-----|\n| DurableCursor | Positioned consumer with checkpointing | Exactly-once |\n| DurableDeferred | Distributed promise (we spec'd this) | Request/response |\n| DurableMailbox | Actor inbox with typed messages | Stream + cursor + envelope |\n| DurableQueue | Competing consumers work queue | Stream + claim/ack protocol |\n| DurableLock | Distributed mutex | Stream + seq=0 for CAS |\n| DurableSemaphore | Counting semaphore | Stream of acquire/release |\n| DurableBroadcast | Fan-out with delivery tracking | Stream + per-recipient cursors |\n\n**Stream combinators:**\n- stream.merge(...streams) - Fan-in\n- stream.tee(n) - Fan-out\n- stream.buffer(n) - Batch n messages\n- stream.window(ms) - Time-based batching\n- stream.pipe(fn) - Transform in flight\n\n**The Ask Pattern:**\n```typescript\nconst response = await stream.ask\u003cReq, Res\u003e(request, { timeout: 5000 })\n// Internally:\n// 1. Create DurableDeferred for response\n// 2. Append { payload: request, replyTo: deferred.url }\n// 3. Return deferred.value\n```\n\n### What We Built (PR #6)\n- DurableCursor (checkpointed consumption)\n- DurableDeferred (distributed promises with TTL)\n- DurableLock (CAS TTL locks with retries/backoff)\n- DurableMailbox (envelope mailbox over streams)\n- ask() (request/response via deferred+mailbox)\n\n### Analysis Questions to Answer\n\n1. **Generalization beyond swarm-mail:**\n - Multi-tenant SaaS coordination\n - Workflow orchestration (Temporal-like)\n - Distributed transactions (saga pattern)\n - IoT device coordination\n - Game server state sync\n\n2. **What makes this different from existing solutions?**\n - Composable primitives vs monolithic frameworks\n - Local-first (PGlite) vs cloud-dependent\n - Event-sourced (audit trail, replay) vs state-based\n\n3. **Architecture diagrams needed:**\n - Primitive composition hierarchy\n - Ask pattern sequence diagram\n - Multi-agent coordination flow\n - Comparison with Akka/Orleans/Temporal\n\n4. **Where else would this be useful?**\n - AI agent orchestration (beyond coding)\n - Microservice coordination\n - Edge computing coordination\n - Collaborative editing backends\n\n### Deliverable\nA comprehensive markdown document with:\n- Architecture diagrams (ASCII/Mermaid)\n- Primitive taxonomy with use cases\n- Comparison to existing actor frameworks\n- Generalization opportunities\n- Implementation roadmap for standalone library","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-14T09:10:19.615437-08:00","updated_at":"2025-12-14T09:11:06.664496-08:00"}
944
1037
  {"id":"opencode-swarm-plugin-gehw7","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:20:47.594999-08:00","updated_at":"2025-12-13T11:20:51.680453-08:00","closed_at":"2025-12-13T11:20:51.680453-08:00"}
945
1038
  {"id":"opencode-swarm-plugin-gf1n8","title":"Add skills documentation and create 7 new bundled skills","description":"Update README with skills feature documentation, publish new version, then create 7 new skills: agent-patterns, tacit-knowledge-extraction, learning-systems, zod-validation, resilience-patterns, mcp-tool-authoring, testing-strategies","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-12T21:49:01.067542-08:00","updated_at":"2025-12-12T21:53:55.973974-08:00","closed_at":"2025-12-12T21:53:55.973974-08:00"}
946
1039
  {"id":"opencode-swarm-plugin-gf1n8.1","title":"Update README with skills documentation","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-12T21:49:01.108379-08:00","updated_at":"2025-12-12T21:49:37.717118-08:00","closed_at":"2025-12-12T21:49:37.717118-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-gf1n8.1","depends_on_id":"opencode-swarm-plugin-gf1n8","type":"parent-child","created_at":"2025-12-12T21:49:01.109457-08:00","created_by":"daemon"}]}
@@ -1032,6 +1125,7 @@
1032
1125
  {"id":"opencode-swarm-plugin-ho3o","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:25:10.622254-08:00","updated_at":"2025-12-08T08:25:12.642091-08:00","closed_at":"2025-12-08T08:25:12.642091-08:00"}
1033
1126
  {"id":"opencode-swarm-plugin-ho3o.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.694557-08:00","updated_at":"2025-12-08T08:25:12.69221-08:00","closed_at":"2025-12-08T08:25:12.69221-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ho3o.2","depends_on_id":"opencode-swarm-plugin-ho3o","type":"parent-child","created_at":"2025-12-08T08:25:10.69491-08:00","created_by":"daemon"}]}
1034
1127
  {"id":"opencode-swarm-plugin-hpzu","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:53:44.966334-08:00","updated_at":"2025-12-08T07:53:46.804841-08:00","closed_at":"2025-12-08T07:53:46.804841-08:00"}
1128
+ {"id":"opencode-swarm-plugin-hr9o8","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.529259-08:00","updated_at":"2025-12-14T13:58:56.46863-08:00","closed_at":"2025-12-14T13:58:56.46863-08:00"}
1035
1129
  {"id":"opencode-swarm-plugin-hromn","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:31.872182-08:00","updated_at":"2025-12-10T09:08:35.337471-08:00","closed_at":"2025-12-10T09:08:35.337471-08:00"}
1036
1130
  {"id":"opencode-swarm-plugin-hs0h","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.256297-08:00","updated_at":"2025-12-07T19:57:08.436151-08:00","closed_at":"2025-12-07T19:57:08.436151-08:00"}
1037
1131
  {"id":"opencode-swarm-plugin-hsz7","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.256893-08:00","updated_at":"2025-12-08T08:14:29.281551-08:00","closed_at":"2025-12-08T08:14:29.281551-08:00"}
@@ -1076,6 +1170,9 @@
1076
1170
  {"id":"opencode-swarm-plugin-if3v","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.346318-08:00","updated_at":"2025-12-08T11:10:55.820026-08:00","closed_at":"2025-12-08T11:10:55.820026-08:00"}
1077
1171
  {"id":"opencode-swarm-plugin-ifb8b","title":"Gap: Insufficient logging/observability","description":"src/streams/store.ts, agent-mail.ts - No logging for critical operations: event appends, materialized view updates, database errors, conflicts detected. Makes debugging production issues hard. Should add structured logging (console.error/warn at minimum) for: database connection errors, event append failures, projection update failures, conflict detection, reservation operations. Consider: log levels (info/warn/error), context fields (projectKey, agentName, eventType).","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:07.066447-08:00","updated_at":"2025-12-13T16:06:34.32075-08:00","closed_at":"2025-12-13T16:06:34.32075-08:00"}
1078
1172
  {"id":"opencode-swarm-plugin-ihjia","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:48:41.498669-08:00","updated_at":"2025-12-13T14:48:45.245218-08:00","closed_at":"2025-12-13T14:48:45.245218-08:00"}
1173
+ {"id":"opencode-swarm-plugin-iim7f","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.843113-08:00","updated_at":"2025-12-13T18:16:30.886622-08:00","closed_at":"2025-12-13T18:16:30.886622-08:00"}
1174
+ {"id":"opencode-swarm-plugin-iip5r","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.607966-08:00","updated_at":"2025-12-13T18:16:33.764348-08:00","closed_at":"2025-12-13T18:16:33.764348-08:00"}
1175
+ {"id":"opencode-swarm-plugin-ijg5q","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.496038-08:00","updated_at":"2025-12-13T18:18:38.064856-08:00","closed_at":"2025-12-13T18:18:38.064856-08:00"}
1079
1176
  {"id":"opencode-swarm-plugin-ijyv","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:56:56.579396-08:00","updated_at":"2025-12-08T08:56:58.480064-08:00","closed_at":"2025-12-08T08:56:58.480064-08:00"}
1080
1177
  {"id":"opencode-swarm-plugin-ijyv.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.641855-08:00","updated_at":"2025-12-08T08:56:58.530793-08:00","closed_at":"2025-12-08T08:56:58.530793-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ijyv.2","depends_on_id":"opencode-swarm-plugin-ijyv","type":"parent-child","created_at":"2025-12-08T08:56:56.642441-08:00","created_by":"daemon"}]}
1081
1178
  {"id":"opencode-swarm-plugin-ijzjd","title":"Update README to document skills feature","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-12T21:46:13.821586-08:00","updated_at":"2025-12-12T21:49:38.634771-08:00","closed_at":"2025-12-12T21:49:38.634771-08:00"}
@@ -1090,6 +1187,9 @@
1090
1187
  {"id":"opencode-swarm-plugin-in00","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.612229-08:00","updated_at":"2025-12-08T08:56:58.075077-08:00","closed_at":"2025-12-08T08:56:58.075077-08:00"}
1091
1188
  {"id":"opencode-swarm-plugin-in05","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:30.226466-08:00","updated_at":"2025-12-08T08:14:31.78452-08:00","closed_at":"2025-12-08T08:14:31.78452-08:00"}
1092
1189
  {"id":"opencode-swarm-plugin-ineu","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:48.576554-08:00","updated_at":"2025-12-08T07:46:51.430648-08:00","closed_at":"2025-12-08T07:46:51.430648-08:00"}
1190
+ {"id":"opencode-swarm-plugin-inj0m","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:22.048222-08:00","updated_at":"2025-12-14T09:30:22.423695-08:00","closed_at":"2025-12-14T09:30:22.423695-08:00"}
1191
+ {"id":"opencode-swarm-plugin-inj0m.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:22.101967-08:00","updated_at":"2025-12-14T09:30:22.288168-08:00","closed_at":"2025-12-14T09:30:22.288168-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-inj0m.1","depends_on_id":"opencode-swarm-plugin-inj0m","type":"parent-child","created_at":"2025-12-14T09:30:22.102616-08:00","created_by":"daemon"}]}
1192
+ {"id":"opencode-swarm-plugin-inj0m.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:22.162111-08:00","updated_at":"2025-12-14T09:30:22.378662-08:00","closed_at":"2025-12-14T09:30:22.378662-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-inj0m.2","depends_on_id":"opencode-swarm-plugin-inj0m","type":"parent-child","created_at":"2025-12-14T09:30:22.163347-08:00","created_by":"daemon"}]}
1093
1193
  {"id":"opencode-swarm-plugin-ip3a","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:30.641906-08:00","updated_at":"2025-12-07T19:39:31.914284-08:00","closed_at":"2025-12-07T19:39:31.914284-08:00"}
1094
1194
  {"id":"opencode-swarm-plugin-iqcv","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T08:56:56.010575-08:00","updated_at":"2025-12-08T08:56:58.276226-08:00","closed_at":"2025-12-08T08:56:58.276226-08:00"}
1095
1195
  {"id":"opencode-swarm-plugin-ir1f","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:11:07.303296-08:00","updated_at":"2025-12-08T11:11:10.062239-08:00","closed_at":"2025-12-08T11:11:10.062239-08:00"}
@@ -1098,6 +1198,7 @@
1098
1198
  {"id":"opencode-swarm-plugin-is91","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.709259-08:00","updated_at":"2025-12-08T08:14:31.063333-08:00","closed_at":"2025-12-08T08:14:31.063333-08:00"}
1099
1199
  {"id":"opencode-swarm-plugin-ius7","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.955247-08:00","updated_at":"2025-12-08T08:11:42.132806-08:00","closed_at":"2025-12-08T08:11:42.132806-08:00"}
1100
1200
  {"id":"opencode-swarm-plugin-iuvs5","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:42.063371-08:00","updated_at":"2025-12-13T11:18:46.169309-08:00","closed_at":"2025-12-13T11:18:46.169309-08:00"}
1201
+ {"id":"opencode-swarm-plugin-iuw0v","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.251353-08:00","updated_at":"2025-12-13T18:18:38.431331-08:00","closed_at":"2025-12-13T18:18:38.431331-08:00"}
1101
1202
  {"id":"opencode-swarm-plugin-iz0p","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.73464-08:00","updated_at":"2025-12-08T08:05:35.211775-08:00","closed_at":"2025-12-08T08:05:35.211775-08:00"}
1102
1203
  {"id":"opencode-swarm-plugin-j0t3","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.837449-08:00","updated_at":"2025-12-08T08:23:20.59352-08:00","closed_at":"2025-12-08T08:23:20.59352-08:00"}
1103
1204
  {"id":"opencode-swarm-plugin-j0yl","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:56:55.284991-08:00","updated_at":"2025-12-08T08:56:57.895835-08:00","closed_at":"2025-12-08T08:56:57.895835-08:00"}
@@ -1112,7 +1213,9 @@
1112
1213
  {"id":"opencode-swarm-plugin-j9vaf","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:47.395668-08:00","updated_at":"2025-12-13T11:20:51.598422-08:00","closed_at":"2025-12-13T11:20:51.598422-08:00"}
1113
1214
  {"id":"opencode-swarm-plugin-jb8","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.396735-08:00","updated_at":"2025-12-07T19:39:20.504817-08:00","closed_at":"2025-12-07T19:39:20.504817-08:00"}
1114
1215
  {"id":"opencode-swarm-plugin-jbdj","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.731569-08:00","updated_at":"2025-12-08T11:10:56.43993-08:00","closed_at":"2025-12-08T11:10:56.43993-08:00"}
1216
+ {"id":"opencode-swarm-plugin-jby1v","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.658884-08:00","updated_at":"2025-12-14T09:30:23.115291-08:00","closed_at":"2025-12-14T09:30:23.115291-08:00"}
1115
1217
  {"id":"opencode-swarm-plugin-jc9y","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.328372-08:00","updated_at":"2025-12-07T19:39:31.358211-08:00","closed_at":"2025-12-07T19:39:31.358211-08:00"}
1218
+ {"id":"opencode-swarm-plugin-jd87w","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T18:16:29.390311-08:00","updated_at":"2025-12-13T18:16:33.6438-08:00","closed_at":"2025-12-13T18:16:33.6438-08:00"}
1116
1219
  {"id":"opencode-swarm-plugin-jdj","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.007126-08:00","updated_at":"2025-12-07T19:39:11.999539-08:00","closed_at":"2025-12-07T19:39:11.999539-08:00"}
1117
1220
  {"id":"opencode-swarm-plugin-jf6gz","title":"Add repo-crawl tools to swarm plugin","description":"repo-crawl is essential for research tasks. Should be part of the plugin rather than a separate MCP server.\n\nTools to add:\n- repo_readme(repo) - Get README content\n- repo_structure(repo) - Get repo structure and tech stack\n- repo_tree(repo, path?) - Get directory tree\n- repo_file(repo, path) - Get file content\n- repo_search(repo, query) - Search code in repo\n\nImplementation:\n- Use GitHub API (unauthenticated for public repos, GITHUB_TOKEN for private)\n- Add to tool-availability.ts checks\n- Integrate with research-based strategy\n\nFiles: src/repo-crawl.ts (new), src/index.ts, src/tool-availability.ts","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-10T11:01:29.213791-08:00","updated_at":"2025-12-10T11:09:20.028842-08:00","closed_at":"2025-12-10T11:09:20.028842-08:00"}
1118
1221
  {"id":"opencode-swarm-plugin-jg4c","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.157665-08:00","updated_at":"2025-12-08T08:22:19.932643-08:00","closed_at":"2025-12-08T08:22:19.932643-08:00"}
@@ -1123,6 +1226,8 @@
1123
1226
  {"id":"opencode-swarm-plugin-jj82","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:10:54.274252-08:00","updated_at":"2025-12-08T11:10:56.160525-08:00","closed_at":"2025-12-08T11:10:56.160525-08:00"}
1124
1227
  {"id":"opencode-swarm-plugin-jj82.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.344851-08:00","updated_at":"2025-12-08T11:10:56.211639-08:00","closed_at":"2025-12-08T11:10:56.211639-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-jj82.2","depends_on_id":"opencode-swarm-plugin-jj82","type":"parent-child","created_at":"2025-12-08T11:10:54.345263-08:00","created_by":"daemon"}]}
1125
1228
  {"id":"opencode-swarm-plugin-jkoa","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:23.548275-08:00","updated_at":"2025-12-08T11:11:25.83234-08:00","closed_at":"2025-12-08T11:11:25.83234-08:00"}
1229
+ {"id":"opencode-swarm-plugin-jlhgi","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.009307-08:00","updated_at":"2025-12-13T18:18:38.31852-08:00","closed_at":"2025-12-13T18:18:38.31852-08:00"}
1230
+ {"id":"opencode-swarm-plugin-jn01y","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.121543-08:00","updated_at":"2025-12-13T18:16:34.063494-08:00","closed_at":"2025-12-13T18:16:34.063494-08:00"}
1126
1231
  {"id":"opencode-swarm-plugin-jn7g8","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:56.105135-08:00","updated_at":"2025-12-08T11:12:58.343978-08:00","closed_at":"2025-12-08T11:12:58.343978-08:00"}
1127
1232
  {"id":"opencode-swarm-plugin-jqba","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.625335-08:00","updated_at":"2025-12-08T08:11:42.034682-08:00","closed_at":"2025-12-08T08:11:42.034682-08:00"}
1128
1233
  {"id":"opencode-swarm-plugin-jsm4","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.904551-08:00","updated_at":"2025-12-08T08:14:31.188773-08:00","closed_at":"2025-12-08T08:14:31.188773-08:00"}
@@ -1131,7 +1236,9 @@
1131
1236
  {"id":"opencode-swarm-plugin-jujj.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:20.039909-08:00","updated_at":"2025-12-07T19:39:20.114405-08:00","closed_at":"2025-12-07T19:39:20.114405-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-jujj.1","depends_on_id":"opencode-swarm-plugin-jujj","type":"parent-child","created_at":"2025-12-07T19:39:20.040195-08:00","created_by":"daemon"}]}
1132
1237
  {"id":"opencode-swarm-plugin-jujj.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:20.068843-08:00","updated_at":"2025-12-07T19:39:20.162197-08:00","closed_at":"2025-12-07T19:39:20.162197-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-jujj.2","depends_on_id":"opencode-swarm-plugin-jujj","type":"parent-child","created_at":"2025-12-07T19:39:20.06912-08:00","created_by":"daemon"}]}
1133
1238
  {"id":"opencode-swarm-plugin-jx36","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.621404-08:00","updated_at":"2025-12-07T19:57:08.075079-08:00","closed_at":"2025-12-07T19:57:08.075079-08:00"}
1239
+ {"id":"opencode-swarm-plugin-jydew","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.338144-08:00","updated_at":"2025-12-14T09:30:22.881835-08:00","closed_at":"2025-12-14T09:30:22.881835-08:00"}
1134
1240
  {"id":"opencode-swarm-plugin-k0y3i","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.790051-08:00","updated_at":"2025-12-13T11:20:51.194381-08:00","closed_at":"2025-12-13T11:20:51.194381-08:00"}
1241
+ {"id":"opencode-swarm-plugin-k20za","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.605013-08:00","updated_at":"2025-12-14T09:30:23.0694-08:00","closed_at":"2025-12-14T09:30:23.0694-08:00"}
1135
1242
  {"id":"opencode-swarm-plugin-k2liw","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T14:48:42.100461-08:00","updated_at":"2025-12-13T14:48:45.380162-08:00","closed_at":"2025-12-13T14:48:45.380162-08:00"}
1136
1243
  {"id":"opencode-swarm-plugin-k2pl","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:26.47779-08:00","updated_at":"2025-12-08T11:12:28.385061-08:00","closed_at":"2025-12-08T11:12:28.385061-08:00"}
1137
1244
  {"id":"opencode-swarm-plugin-k2wm","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.160426-08:00","updated_at":"2025-12-07T19:56:45.501563-08:00","closed_at":"2025-12-07T19:56:45.501563-08:00"}
@@ -1142,6 +1249,7 @@
1142
1249
  {"id":"opencode-swarm-plugin-k4d2.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.760668-08:00","updated_at":"2025-12-08T11:11:09.850739-08:00","closed_at":"2025-12-08T11:11:09.850739-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-k4d2.1","depends_on_id":"opencode-swarm-plugin-k4d2","type":"parent-child","created_at":"2025-12-08T11:11:09.760966-08:00","created_by":"daemon"}]}
1143
1250
  {"id":"opencode-swarm-plugin-k4d2.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.796052-08:00","updated_at":"2025-12-08T11:11:09.909645-08:00","closed_at":"2025-12-08T11:11:09.909645-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-k4d2.2","depends_on_id":"opencode-swarm-plugin-k4d2","type":"parent-child","created_at":"2025-12-08T11:11:09.796413-08:00","created_by":"daemon"}]}
1144
1251
  {"id":"opencode-swarm-plugin-k6l7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.366349-08:00","updated_at":"2025-12-08T11:11:40.832387-08:00","closed_at":"2025-12-08T11:11:40.832387-08:00"}
1252
+ {"id":"opencode-swarm-plugin-k7106","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.118457-08:00","updated_at":"2025-12-14T09:30:23.318242-08:00","closed_at":"2025-12-14T09:30:23.318242-08:00"}
1145
1253
  {"id":"opencode-swarm-plugin-k73o","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.828815-08:00","updated_at":"2025-12-08T08:56:58.186472-08:00","closed_at":"2025-12-08T08:56:58.186472-08:00"}
1146
1254
  {"id":"opencode-swarm-plugin-k7dwa","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:41.541074-08:00","updated_at":"2025-12-08T11:12:43.891188-08:00","closed_at":"2025-12-08T11:12:43.891188-08:00"}
1147
1255
  {"id":"opencode-swarm-plugin-k8d","title":"Docker integration test infrastructure","description":"Create Docker-based integration test environment with real beads CLI and Agent Mail server for testing all plugin modules without mocks","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:24:22.198656-08:00","updated_at":"2025-12-08T08:35:24.03232-08:00","closed_at":"2025-12-08T08:35:24.03232-08:00"}
@@ -1169,6 +1277,7 @@
1169
1277
  {"id":"opencode-swarm-plugin-ki74","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.662955-08:00","updated_at":"2025-12-08T11:11:25.33594-08:00","closed_at":"2025-12-08T11:11:25.33594-08:00"}
1170
1278
  {"id":"opencode-swarm-plugin-kj78","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.843125-08:00","updated_at":"2025-12-08T08:36:19.314591-08:00","closed_at":"2025-12-08T08:36:19.314591-08:00"}
1171
1279
  {"id":"opencode-swarm-plugin-kjb9","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T08:21:27.714251-08:00","updated_at":"2025-12-08T08:21:30.178633-08:00","closed_at":"2025-12-08T08:21:30.178633-08:00"}
1280
+ {"id":"opencode-swarm-plugin-kjpaf","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.471466-08:00","updated_at":"2025-12-13T18:16:35.132048-08:00","closed_at":"2025-12-13T18:16:35.132048-08:00"}
1172
1281
  {"id":"opencode-swarm-plugin-kkt0","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:46:49.490988-08:00","updated_at":"2025-12-08T07:46:51.908928-08:00","closed_at":"2025-12-08T07:46:51.908928-08:00"}
1173
1282
  {"id":"opencode-swarm-plugin-kl36","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.960304-08:00","updated_at":"2025-12-08T11:11:25.037091-08:00","closed_at":"2025-12-08T11:11:25.037091-08:00"}
1174
1283
  {"id":"opencode-swarm-plugin-klc","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.589152-08:00","updated_at":"2025-12-07T19:39:11.765447-08:00","closed_at":"2025-12-07T19:39:11.765447-08:00"}
@@ -1177,6 +1286,7 @@
1177
1286
  {"id":"opencode-swarm-plugin-knh71.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:48.37727-08:00","updated_at":"2025-12-13T11:20:51.895859-08:00","closed_at":"2025-12-13T11:20:51.895859-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-knh71.1","depends_on_id":"opencode-swarm-plugin-knh71","type":"parent-child","created_at":"2025-12-13T11:20:48.378434-08:00","created_by":"daemon"}]}
1178
1287
  {"id":"opencode-swarm-plugin-knh71.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T11:20:48.424697-08:00","updated_at":"2025-12-13T11:20:51.935658-08:00","closed_at":"2025-12-13T11:20:51.935658-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-knh71.2","depends_on_id":"opencode-swarm-plugin-knh71","type":"parent-child","created_at":"2025-12-13T11:20:48.4254-08:00","created_by":"daemon"}]}
1179
1288
  {"id":"opencode-swarm-plugin-knh71.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:20:48.479193-08:00","updated_at":"2025-12-13T11:20:51.973575-08:00","closed_at":"2025-12-13T11:20:51.973575-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-knh71.3","depends_on_id":"opencode-swarm-plugin-knh71","type":"parent-child","created_at":"2025-12-13T11:20:48.479959-08:00","created_by":"daemon"}]}
1289
+ {"id":"opencode-swarm-plugin-knzwh","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.725039-08:00","updated_at":"2025-12-14T09:30:23.169453-08:00","closed_at":"2025-12-14T09:30:23.169453-08:00"}
1180
1290
  {"id":"opencode-swarm-plugin-kptb","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:41:10.637373-08:00","updated_at":"2025-12-07T19:41:13.253191-08:00","closed_at":"2025-12-07T19:41:13.253191-08:00"}
1181
1291
  {"id":"opencode-swarm-plugin-kr0ue","title":"Document shared_context usage pattern","description":"src/schemas/task.ts:62 - `shared_context` field comment \"Context to pass to all agents\" is vague. Add example: \"/** Shared context for all agents (e.g., API contracts, shared types, project conventions) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:27.641899-08:00","updated_at":"2025-12-13T16:45:49.63414-08:00","closed_at":"2025-12-13T16:45:49.63414-08:00"}
1182
1292
  {"id":"opencode-swarm-plugin-ksf8","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.941287-08:00","updated_at":"2025-12-08T11:11:25.542086-08:00","closed_at":"2025-12-08T11:11:25.542086-08:00"}
@@ -1190,12 +1300,14 @@
1190
1300
  {"id":"opencode-swarm-plugin-l0nf","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:05:32.672544-08:00","updated_at":"2025-12-08T08:05:35.160106-08:00","closed_at":"2025-12-08T08:05:35.160106-08:00"}
1191
1301
  {"id":"opencode-swarm-plugin-l1l","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:39:09.442299-08:00","updated_at":"2025-12-07T19:39:11.67709-08:00","closed_at":"2025-12-07T19:39:11.67709-08:00"}
1192
1302
  {"id":"opencode-swarm-plugin-l1w0","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:11:22.696024-08:00","updated_at":"2025-12-08T11:11:25.44029-08:00","closed_at":"2025-12-08T11:11:25.44029-08:00"}
1303
+ {"id":"opencode-swarm-plugin-l20hb","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.641976-08:00","updated_at":"2025-12-13T18:18:38.174229-08:00","closed_at":"2025-12-13T18:18:38.174229-08:00"}
1193
1304
  {"id":"opencode-swarm-plugin-l3go","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:53:44.738182-08:00","updated_at":"2025-12-08T07:53:46.629762-08:00","closed_at":"2025-12-08T07:53:46.629762-08:00"}
1194
1305
  {"id":"opencode-swarm-plugin-l3go.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.772945-08:00","updated_at":"2025-12-08T07:53:46.652988-08:00","closed_at":"2025-12-08T07:53:46.652988-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-l3go.1","depends_on_id":"opencode-swarm-plugin-l3go","type":"parent-child","created_at":"2025-12-08T07:53:44.773334-08:00","created_by":"daemon"}]}
1195
1306
  {"id":"opencode-swarm-plugin-l3go.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T07:53:44.804338-08:00","updated_at":"2025-12-08T07:53:46.676938-08:00","closed_at":"2025-12-08T07:53:46.676938-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-l3go.2","depends_on_id":"opencode-swarm-plugin-l3go","type":"parent-child","created_at":"2025-12-08T07:53:44.804794-08:00","created_by":"daemon"}]}
1196
1307
  {"id":"opencode-swarm-plugin-l3hj","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:56:43.04206-08:00","updated_at":"2025-12-07T19:56:45.007684-08:00","closed_at":"2025-12-07T19:56:45.007684-08:00"}
1197
1308
  {"id":"opencode-swarm-plugin-l3zw","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:28.705221-08:00","updated_at":"2025-12-08T08:21:30.697066-08:00","closed_at":"2025-12-08T08:21:30.697066-08:00"}
1198
1309
  {"id":"opencode-swarm-plugin-l436","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:21:27.649303-08:00","updated_at":"2025-12-08T08:21:30.152076-08:00","closed_at":"2025-12-08T08:21:30.152076-08:00"}
1310
+ {"id":"opencode-swarm-plugin-l457r","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.082792-08:00","updated_at":"2025-12-14T09:30:22.789922-08:00","closed_at":"2025-12-14T09:30:22.789922-08:00"}
1199
1311
  {"id":"opencode-swarm-plugin-l5i5e","title":"Add validation message for datetime schema","description":"src/schemas/bead.ts:51-53 - datetime schemas have default Zod error messages. Add custom message: `.datetime({ offset: true, message: \"Must be ISO-8601 with timezone\" })`","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:08.592079-08:00","updated_at":"2025-12-13T16:48:08.881079-08:00","closed_at":"2025-12-13T16:48:08.881079-08:00"}
1200
1312
  {"id":"opencode-swarm-plugin-l5ya","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.338829-08:00","updated_at":"2025-12-08T11:12:27.840456-08:00","closed_at":"2025-12-08T11:12:27.840456-08:00"}
1201
1313
  {"id":"opencode-swarm-plugin-l6ce","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.548007-08:00","updated_at":"2025-12-08T11:11:25.671739-08:00","closed_at":"2025-12-08T11:11:25.671739-08:00"}
@@ -1207,6 +1319,9 @@
1207
1319
  {"id":"opencode-swarm-plugin-l9q","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:33.996575-08:00","updated_at":"2025-12-07T19:37:36.119686-08:00","closed_at":"2025-12-07T19:37:36.119686-08:00"}
1208
1320
  {"id":"opencode-swarm-plugin-lbbv","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:28.833926-08:00","updated_at":"2025-12-07T19:39:31.062322-08:00","closed_at":"2025-12-07T19:39:31.062322-08:00"}
1209
1321
  {"id":"opencode-swarm-plugin-ldqm","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.790881-08:00","updated_at":"2025-12-08T08:05:35.238079-08:00","closed_at":"2025-12-08T08:05:35.238079-08:00"}
1322
+ {"id":"opencode-swarm-plugin-ldski","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:31.559908-08:00","updated_at":"2025-12-13T18:16:34.623147-08:00","closed_at":"2025-12-13T18:16:34.623147-08:00"}
1323
+ {"id":"opencode-swarm-plugin-ldski.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.613179-08:00","updated_at":"2025-12-13T18:16:34.668286-08:00","closed_at":"2025-12-13T18:16:34.668286-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ldski.1","depends_on_id":"opencode-swarm-plugin-ldski","type":"parent-child","created_at":"2025-12-13T18:16:31.614221-08:00","created_by":"daemon"}]}
1324
+ {"id":"opencode-swarm-plugin-ldski.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.667627-08:00","updated_at":"2025-12-13T18:16:34.713057-08:00","closed_at":"2025-12-13T18:16:34.713057-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ldski.2","depends_on_id":"opencode-swarm-plugin-ldski","type":"parent-child","created_at":"2025-12-13T18:16:31.66969-08:00","created_by":"daemon"}]}
1210
1325
  {"id":"opencode-swarm-plugin-lgnw9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:05.842289-08:00","updated_at":"2025-12-10T09:06:09.741637-08:00","closed_at":"2025-12-10T09:06:09.741637-08:00"}
1211
1326
  {"id":"opencode-swarm-plugin-lib","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:37:35.075852-08:00","updated_at":"2025-12-07T19:37:36.603302-08:00","closed_at":"2025-12-07T19:37:36.603302-08:00"}
1212
1327
  {"id":"opencode-swarm-plugin-lifp9","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:47.300698-08:00","updated_at":"2025-12-13T11:20:51.556708-08:00","closed_at":"2025-12-13T11:20:51.556708-08:00"}
@@ -1215,6 +1330,7 @@
1215
1330
  {"id":"opencode-swarm-plugin-ll15","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:22:18.723191-08:00","updated_at":"2025-12-08T08:22:18.922132-08:00","closed_at":"2025-12-08T08:22:18.922132-08:00"}
1216
1331
  {"id":"opencode-swarm-plugin-ll15.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.756408-08:00","updated_at":"2025-12-08T08:22:18.841276-08:00","closed_at":"2025-12-08T08:22:18.841276-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ll15.1","depends_on_id":"opencode-swarm-plugin-ll15","type":"parent-child","created_at":"2025-12-08T08:22:18.756747-08:00","created_by":"daemon"}]}
1217
1332
  {"id":"opencode-swarm-plugin-ll15.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.788908-08:00","updated_at":"2025-12-08T08:22:18.895654-08:00","closed_at":"2025-12-08T08:22:18.895654-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ll15.2","depends_on_id":"opencode-swarm-plugin-ll15","type":"parent-child","created_at":"2025-12-08T08:22:18.789319-08:00","created_by":"daemon"}]}
1333
+ {"id":"opencode-swarm-plugin-lmqrp","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-14T13:58:49.898622-08:00","updated_at":"2025-12-14T13:58:54.810458-08:00","closed_at":"2025-12-14T13:58:54.810458-08:00"}
1218
1334
  {"id":"opencode-swarm-plugin-lmy1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.726664-08:00","updated_at":"2025-12-08T11:11:25.360309-08:00","closed_at":"2025-12-08T11:11:25.360309-08:00"}
1219
1335
  {"id":"opencode-swarm-plugin-ln411","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.461147-08:00","updated_at":"2025-12-09T10:00:26.686053-08:00","closed_at":"2025-12-09T10:00:26.686053-08:00"}
1220
1336
  {"id":"opencode-swarm-plugin-lnff","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:11.226267-08:00","updated_at":"2025-12-08T08:25:12.979406-08:00","closed_at":"2025-12-08T08:25:12.979406-08:00"}
@@ -1238,6 +1354,7 @@
1238
1354
  {"id":"opencode-swarm-plugin-lwukj","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T11:18:42.678779-08:00","updated_at":"2025-12-13T11:18:46.43854-08:00","closed_at":"2025-12-13T11:18:46.43854-08:00"}
1239
1355
  {"id":"opencode-swarm-plugin-lx3w","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:39.540349-08:00","updated_at":"2025-12-08T11:11:41.383578-08:00","closed_at":"2025-12-08T11:11:41.383578-08:00"}
1240
1356
  {"id":"opencode-swarm-plugin-lx3w.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:39.573613-08:00","updated_at":"2025-12-08T11:11:41.409069-08:00","closed_at":"2025-12-08T11:11:41.409069-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-lx3w.1","depends_on_id":"opencode-swarm-plugin-lx3w","type":"parent-child","created_at":"2025-12-08T11:11:39.573966-08:00","created_by":"daemon"}]}
1357
+ {"id":"opencode-swarm-plugin-lxsxu","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.129583-08:00","updated_at":"2025-12-14T13:58:56.379762-08:00","closed_at":"2025-12-14T13:58:56.379762-08:00"}
1241
1358
  {"id":"opencode-swarm-plugin-lyol","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:10:24.683373-08:00","updated_at":"2025-12-08T11:10:27.288582-08:00","closed_at":"2025-12-08T11:10:27.288582-08:00"}
1242
1359
  {"id":"opencode-swarm-plugin-lzyh","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.042074-08:00","updated_at":"2025-12-08T08:05:35.405982-08:00","closed_at":"2025-12-08T08:05:35.405982-08:00"}
1243
1360
  {"id":"opencode-swarm-plugin-m1ig","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.410479-08:00","updated_at":"2025-12-08T08:11:41.933381-08:00","closed_at":"2025-12-08T08:11:41.933381-08:00"}
@@ -1295,6 +1412,7 @@
1295
1412
  {"id":"opencode-swarm-plugin-mqhmm","title":"Document extraction strategy priority order","description":"src/structured.ts:118-190 - extractJsonFromText tries 6 strategies but priority reasoning not documented. Add JSDoc: \"Strategies tried in order: 1) direct parse (fastest), 2-3) code blocks (common), 4-5) brace matching (resilient), 6) repair (last resort)\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:42.644422-08:00","updated_at":"2025-12-13T16:45:43.863641-08:00","closed_at":"2025-12-13T16:45:43.863641-08:00"}
1296
1413
  {"id":"opencode-swarm-plugin-mquw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.67798-08:00","updated_at":"2025-12-08T08:14:31.039942-08:00","closed_at":"2025-12-08T08:14:31.039942-08:00"}
1297
1414
  {"id":"opencode-swarm-plugin-mrlu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.613409-08:00","updated_at":"2025-12-08T08:22:19.162032-08:00","closed_at":"2025-12-08T08:22:19.162032-08:00"}
1415
+ {"id":"opencode-swarm-plugin-mrsuk","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T18:16:29.448622-08:00","updated_at":"2025-12-13T18:16:33.688364-08:00","closed_at":"2025-12-13T18:16:33.688364-08:00"}
1298
1416
  {"id":"opencode-swarm-plugin-msud","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.67052-08:00","updated_at":"2025-12-08T09:09:33.50072-08:00","closed_at":"2025-12-08T09:09:33.50072-08:00"}
1299
1417
  {"id":"opencode-swarm-plugin-msud.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.702476-08:00","updated_at":"2025-12-08T09:09:33.525777-08:00","closed_at":"2025-12-08T09:09:33.525777-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-msud.1","depends_on_id":"opencode-swarm-plugin-msud","type":"parent-child","created_at":"2025-12-08T09:09:31.702811-08:00","created_by":"daemon"}]}
1300
1418
  {"id":"opencode-swarm-plugin-msud.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T09:09:31.733374-08:00","updated_at":"2025-12-08T09:09:33.551412-08:00","closed_at":"2025-12-08T09:09:33.551412-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-msud.2","depends_on_id":"opencode-swarm-plugin-msud","type":"parent-child","created_at":"2025-12-08T09:09:31.733661-08:00","created_by":"daemon"}]}
@@ -1312,12 +1430,14 @@
1312
1430
  {"id":"opencode-swarm-plugin-n0du","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:46:50.097676-08:00","updated_at":"2025-12-08T07:46:52.1419-08:00","closed_at":"2025-12-08T07:46:52.1419-08:00"}
1313
1431
  {"id":"opencode-swarm-plugin-n0du.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.17342-08:00","updated_at":"2025-12-08T07:46:52.197553-08:00","closed_at":"2025-12-08T07:46:52.197553-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-n0du.2","depends_on_id":"opencode-swarm-plugin-n0du","type":"parent-child","created_at":"2025-12-08T07:46:50.173814-08:00","created_by":"daemon"}]}
1314
1432
  {"id":"opencode-swarm-plugin-n0orb","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:35.541633-08:00","updated_at":"2025-12-13T11:16:39.776562-08:00","closed_at":"2025-12-13T11:16:39.776562-08:00"}
1433
+ {"id":"opencode-swarm-plugin-n0qk4","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.995389-08:00","updated_at":"2025-12-13T18:18:39.181866-08:00","closed_at":"2025-12-13T18:18:39.181866-08:00"}
1315
1434
  {"id":"opencode-swarm-plugin-n14z","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.470029-08:00","updated_at":"2025-12-08T08:23:19.896349-08:00","closed_at":"2025-12-08T08:23:19.896349-08:00"}
1316
1435
  {"id":"opencode-swarm-plugin-n22k","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:18.558766-08:00","updated_at":"2025-12-08T08:36:18.638197-08:00","closed_at":"2025-12-08T08:36:18.638197-08:00"}
1317
1436
  {"id":"opencode-swarm-plugin-n2c","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.529721-08:00","updated_at":"2025-12-07T19:34:54.629263-08:00","closed_at":"2025-12-07T19:34:54.629263-08:00"}
1318
1437
  {"id":"opencode-swarm-plugin-n2kq","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.794339-08:00","updated_at":"2025-12-07T19:41:12.87413-08:00","closed_at":"2025-12-07T19:41:12.87413-08:00"}
1319
1438
  {"id":"opencode-swarm-plugin-n3nl","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.85091-08:00","updated_at":"2025-12-08T08:11:39.874469-08:00","closed_at":"2025-12-08T08:11:39.874469-08:00"}
1320
1439
  {"id":"opencode-swarm-plugin-n4zi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.830391-08:00","updated_at":"2025-12-07T19:56:44.919934-08:00","closed_at":"2025-12-07T19:56:44.919934-08:00"}
1440
+ {"id":"opencode-swarm-plugin-n6430","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.959886-08:00","updated_at":"2025-12-14T13:58:54.09344-08:00","closed_at":"2025-12-14T13:58:54.09344-08:00"}
1321
1441
  {"id":"opencode-swarm-plugin-n7y8","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:56:42.357122-08:00","updated_at":"2025-12-07T19:56:44.652083-08:00","closed_at":"2025-12-07T19:56:44.652083-08:00"}
1322
1442
  {"id":"opencode-swarm-plugin-n80p","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.450922-08:00","updated_at":"2025-12-08T08:05:36.101564-08:00","closed_at":"2025-12-08T08:05:36.101564-08:00"}
1323
1443
  {"id":"opencode-swarm-plugin-nc95","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T07:46:48.649826-08:00","updated_at":"2025-12-08T07:46:51.486879-08:00","closed_at":"2025-12-08T07:46:51.486879-08:00"}
@@ -1336,6 +1456,7 @@
1336
1456
  {"id":"opencode-swarm-plugin-nnu9l","title":"Pattern: Defense-in-Depth - 4 Layers of Validation","description":"## Defense-in-Depth Validation (from obra/superpowers)\n\n**Core Principle:** Single validation = \"We fixed the bug\". Multiple layers = \"We made the bug structurally impossible.\"\n\n### The 4 Layers\n**Layer 1: Entry Point Validation**\n- Reject obviously invalid input at API boundary\n- Check: not empty, exists, is correct type\n\n**Layer 2: Business Logic Validation**\n- Ensure data makes sense for this operation\n- Check: required fields, valid ranges, business rules\n\n**Layer 3: Environment Guards**\n- Prevent dangerous operations in specific contexts\n- Example: Refuse git init outside temp dir during tests\n\n**Layer 4: Debug Instrumentation**\n- Capture context for forensics\n- Log: directory, cwd, environment, stack trace\n\n### Why All 4 Layers\nAll four layers are necessary because:\n- Different code paths bypass entry validation\n- Mocks bypass business logic checks\n- Edge cases on different platforms need environment guards\n- Debug logging identifies structural misuse\n\n### Application Process\nWhen you find a bug:\n1. **Trace the data flow** - Where does bad value originate? Where used?\n2. **Map all checkpoints** - List every point data passes through\n3. **Add validation at each layer** - Entry, business, environment, debug\n4. **Test each layer** - Try to bypass layer 1, verify layer 2 catches it\n\n### Real Example\nBug: Empty `projectDir` caused `git init` in source code\n\nLayers added:\n- Layer 1: `Project.create()` validates not empty/exists/writable\n- Layer 2: `WorkspaceManager` validates projectDir not empty\n- Layer 3: `WorktreeManager` refuses git init outside tmpdir in tests\n- Layer 4: Stack trace logging before git init\n\nResult: 1847 tests passed, bug impossible to reproduce\n\n**Full analysis:** VERIFICATION_QUALITY_PATTERNS.md","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:01:12.487844-08:00","updated_at":"2025-12-13T15:50:55.223043-08:00","closed_at":"2025-12-13T15:50:55.223043-08:00"}
1337
1457
  {"id":"opencode-swarm-plugin-nnv5p","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.33813-08:00","updated_at":"2025-12-08T11:12:57.866074-08:00","closed_at":"2025-12-08T11:12:57.866074-08:00"}
1338
1458
  {"id":"opencode-swarm-plugin-npe6t","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T11:18:43.352641-08:00","updated_at":"2025-12-13T11:18:46.618244-08:00","closed_at":"2025-12-13T11:18:46.618244-08:00"}
1459
+ {"id":"opencode-swarm-plugin-nprk1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.50619-08:00","updated_at":"2025-12-13T18:16:33.724079-08:00","closed_at":"2025-12-13T18:16:33.724079-08:00"}
1339
1460
  {"id":"opencode-swarm-plugin-nq1t","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:10.023307-08:00","updated_at":"2025-12-08T07:49:12.276319-08:00","closed_at":"2025-12-08T07:49:12.276319-08:00"}
1340
1461
  {"id":"opencode-swarm-plugin-nqms","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.539513-08:00","updated_at":"2025-12-08T11:10:28.207123-08:00","closed_at":"2025-12-08T11:10:28.207123-08:00"}
1341
1462
  {"id":"opencode-swarm-plugin-ntse","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:21:29.356283-08:00","updated_at":"2025-12-08T08:21:29.57132-08:00","closed_at":"2025-12-08T08:21:29.57132-08:00"}
@@ -1348,6 +1469,7 @@
1348
1469
  {"id":"opencode-swarm-plugin-nva6","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.240325-08:00","updated_at":"2025-12-08T11:11:10.963371-08:00","closed_at":"2025-12-08T11:11:10.963371-08:00"}
1349
1470
  {"id":"opencode-swarm-plugin-nvfu","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.348024-08:00","updated_at":"2025-12-08T08:05:36.076975-08:00","closed_at":"2025-12-08T08:05:36.076975-08:00"}
1350
1471
  {"id":"opencode-swarm-plugin-nvyf","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.424992-08:00","updated_at":"2025-12-07T19:57:08.5088-08:00","closed_at":"2025-12-07T19:57:08.5088-08:00"}
1472
+ {"id":"opencode-swarm-plugin-nvzbk","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T13:58:51.337115-08:00","updated_at":"2025-12-14T13:58:55.518389-08:00","closed_at":"2025-12-14T13:58:55.518389-08:00"}
1351
1473
  {"id":"opencode-swarm-plugin-nwwh","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.745207-08:00","updated_at":"2025-12-08T11:11:24.823126-08:00","closed_at":"2025-12-08T11:11:24.823126-08:00"}
1352
1474
  {"id":"opencode-swarm-plugin-nxt2","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.684535-08:00","updated_at":"2025-12-08T08:22:19.189792-08:00","closed_at":"2025-12-08T08:22:19.189792-08:00"}
1353
1475
  {"id":"opencode-swarm-plugin-nysq9","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:25.095632-08:00","updated_at":"2025-12-09T10:00:25.334055-08:00","closed_at":"2025-12-09T10:00:25.334055-08:00"}
@@ -1358,9 +1480,15 @@
1358
1480
  {"id":"opencode-swarm-plugin-o1oxh","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.199742-08:00","updated_at":"2025-12-09T10:00:26.088228-08:00","closed_at":"2025-12-09T10:00:26.088228-08:00"}
1359
1481
  {"id":"opencode-swarm-plugin-o1qe","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.17953-08:00","updated_at":"2025-12-07T19:39:31.271336-08:00","closed_at":"2025-12-07T19:39:31.271336-08:00"}
1360
1482
  {"id":"opencode-swarm-plugin-o3oo","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.12202-08:00","updated_at":"2025-12-08T11:11:25.648445-08:00","closed_at":"2025-12-08T11:11:25.648445-08:00"}
1483
+ {"id":"opencode-swarm-plugin-o4gw7","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:36.264085-08:00","updated_at":"2025-12-13T18:18:38.882514-08:00","closed_at":"2025-12-13T18:18:38.882514-08:00"}
1484
+ {"id":"opencode-swarm-plugin-o4gw7.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.309618-08:00","updated_at":"2025-12-13T18:18:38.920524-08:00","closed_at":"2025-12-13T18:18:38.920524-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-o4gw7.1","depends_on_id":"opencode-swarm-plugin-o4gw7","type":"parent-child","created_at":"2025-12-13T18:18:36.310802-08:00","created_by":"daemon"}]}
1485
+ {"id":"opencode-swarm-plugin-o4gw7.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.356474-08:00","updated_at":"2025-12-13T18:18:38.959403-08:00","closed_at":"2025-12-13T18:18:38.959403-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-o4gw7.2","depends_on_id":"opencode-swarm-plugin-o4gw7","type":"parent-child","created_at":"2025-12-13T18:18:36.357072-08:00","created_by":"daemon"}]}
1486
+ {"id":"opencode-swarm-plugin-o4gw7.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.401915-08:00","updated_at":"2025-12-13T18:18:38.996106-08:00","closed_at":"2025-12-13T18:18:38.996106-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-o4gw7.3","depends_on_id":"opencode-swarm-plugin-o4gw7","type":"parent-child","created_at":"2025-12-13T18:18:36.402564-08:00","created_by":"daemon"}]}
1487
+ {"id":"opencode-swarm-plugin-o4gw7.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.446159-08:00","updated_at":"2025-12-13T18:18:39.03418-08:00","closed_at":"2025-12-13T18:18:39.03418-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-o4gw7.4","depends_on_id":"opencode-swarm-plugin-o4gw7","type":"parent-child","created_at":"2025-12-13T18:18:36.446893-08:00","created_by":"daemon"}]}
1361
1488
  {"id":"opencode-swarm-plugin-o52h","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.515081-08:00","updated_at":"2025-12-07T19:41:11.543031-08:00","closed_at":"2025-12-07T19:41:11.543031-08:00"}
1362
1489
  {"id":"opencode-swarm-plugin-o56s3","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:07:22.742627-08:00","updated_at":"2025-12-10T09:07:25.934376-08:00","closed_at":"2025-12-10T09:07:25.934376-08:00"}
1363
1490
  {"id":"opencode-swarm-plugin-o5do","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.853933-08:00","updated_at":"2025-12-07T19:56:45.433884-08:00","closed_at":"2025-12-07T19:56:45.433884-08:00"}
1491
+ {"id":"opencode-swarm-plugin-o5dqr","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T18:18:34.047956-08:00","updated_at":"2025-12-13T18:18:37.846259-08:00","closed_at":"2025-12-13T18:18:37.846259-08:00"}
1364
1492
  {"id":"opencode-swarm-plugin-o6o4","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.065379-08:00","updated_at":"2025-12-08T07:46:51.708595-08:00","closed_at":"2025-12-08T07:46:51.708595-08:00"}
1365
1493
  {"id":"opencode-swarm-plugin-o6s","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:39:18.006147-08:00","updated_at":"2025-12-07T19:39:20.281664-08:00","closed_at":"2025-12-07T19:39:20.281664-08:00"}
1366
1494
  {"id":"opencode-swarm-plugin-o7ab8","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.123784-08:00","updated_at":"2025-12-08T11:12:58.860702-08:00","closed_at":"2025-12-08T11:12:58.860702-08:00"}
@@ -1390,10 +1518,12 @@
1390
1518
  {"id":"opencode-swarm-plugin-omr6","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:14:29.079665-08:00","updated_at":"2025-12-08T08:14:31.260584-08:00","closed_at":"2025-12-08T08:14:31.260584-08:00"}
1391
1519
  {"id":"opencode-swarm-plugin-on7a4","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:41.125177-08:00","updated_at":"2025-12-13T14:48:45.06171-08:00","closed_at":"2025-12-13T14:48:45.06171-08:00"}
1392
1520
  {"id":"opencode-swarm-plugin-ongog","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:42.483364-08:00","updated_at":"2025-12-13T11:18:46.348908-08:00","closed_at":"2025-12-13T11:18:46.348908-08:00"}
1521
+ {"id":"opencode-swarm-plugin-onq1t","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:18:35.171224-08:00","updated_at":"2025-12-13T18:18:38.392681-08:00","closed_at":"2025-12-13T18:18:38.392681-08:00"}
1393
1522
  {"id":"opencode-swarm-plugin-ons9","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.698832-08:00","updated_at":"2025-12-07T19:41:14.180153-08:00","closed_at":"2025-12-07T19:41:14.180153-08:00"}
1394
1523
  {"id":"opencode-swarm-plugin-oog0","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.262211-08:00","updated_at":"2025-12-08T11:11:10.036821-08:00","closed_at":"2025-12-08T11:11:10.036821-08:00"}
1395
1524
  {"id":"opencode-swarm-plugin-oor1l","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-10T09:07:21.742108-08:00","updated_at":"2025-12-10T09:07:25.38537-08:00","closed_at":"2025-12-10T09:07:25.38537-08:00"}
1396
1525
  {"id":"opencode-swarm-plugin-opjh","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.420345-08:00","updated_at":"2025-12-08T11:11:25.782158-08:00","closed_at":"2025-12-08T11:11:25.782158-08:00"}
1526
+ {"id":"opencode-swarm-plugin-opn0k","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.123349-08:00","updated_at":"2025-12-14T13:58:55.422024-08:00","closed_at":"2025-12-14T13:58:55.422024-08:00"}
1397
1527
  {"id":"opencode-swarm-plugin-osjw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.65254-08:00","updated_at":"2025-12-08T11:11:10.21755-08:00","closed_at":"2025-12-08T11:11:10.21755-08:00"}
1398
1528
  {"id":"opencode-swarm-plugin-otl2","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:22:16.488559-08:00","updated_at":"2025-12-08T08:22:19.084348-08:00","closed_at":"2025-12-08T08:22:19.084348-08:00"}
1399
1529
  {"id":"opencode-swarm-plugin-owkcr","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:08.073749-08:00","updated_at":"2025-12-10T09:06:10.8399-08:00","closed_at":"2025-12-10T09:06:10.8399-08:00"}
@@ -1419,6 +1549,10 @@
1419
1549
  {"id":"opencode-swarm-plugin-p80f4","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T09:07:23.618353-08:00","updated_at":"2025-12-10T09:07:26.264352-08:00","closed_at":"2025-12-10T09:07:26.264352-08:00"}
1420
1550
  {"id":"opencode-swarm-plugin-p80f4.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:23.670829-08:00","updated_at":"2025-12-10T09:07:26.29912-08:00","closed_at":"2025-12-10T09:07:26.29912-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p80f4.1","depends_on_id":"opencode-swarm-plugin-p80f4","type":"parent-child","created_at":"2025-12-10T09:07:23.672656-08:00","created_by":"daemon"}]}
1421
1551
  {"id":"opencode-swarm-plugin-p80f4.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:23.718235-08:00","updated_at":"2025-12-10T09:07:26.337894-08:00","closed_at":"2025-12-10T09:07:26.337894-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p80f4.2","depends_on_id":"opencode-swarm-plugin-p80f4","type":"parent-child","created_at":"2025-12-10T09:07:23.71982-08:00","created_by":"daemon"}]}
1552
+ {"id":"opencode-swarm-plugin-p843x","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:35.826162-08:00","updated_at":"2025-12-13T18:18:38.540185-08:00","closed_at":"2025-12-13T18:18:38.540185-08:00"}
1553
+ {"id":"opencode-swarm-plugin-p843x.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.874629-08:00","updated_at":"2025-12-13T18:18:38.578087-08:00","closed_at":"2025-12-13T18:18:38.578087-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p843x.1","depends_on_id":"opencode-swarm-plugin-p843x","type":"parent-child","created_at":"2025-12-13T18:18:35.875654-08:00","created_by":"daemon"}]}
1554
+ {"id":"opencode-swarm-plugin-p843x.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T18:18:35.931722-08:00","updated_at":"2025-12-13T18:18:38.615786-08:00","closed_at":"2025-12-13T18:18:38.615786-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p843x.2","depends_on_id":"opencode-swarm-plugin-p843x","type":"parent-child","created_at":"2025-12-13T18:18:35.933088-08:00","created_by":"daemon"}]}
1555
+ {"id":"opencode-swarm-plugin-p843x.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:18:35.979182-08:00","updated_at":"2025-12-13T18:18:38.652301-08:00","closed_at":"2025-12-13T18:18:38.652301-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p843x.3","depends_on_id":"opencode-swarm-plugin-p843x","type":"parent-child","created_at":"2025-12-13T18:18:35.982093-08:00","created_by":"daemon"}]}
1422
1556
  {"id":"opencode-swarm-plugin-p9oz","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.959102-08:00","updated_at":"2025-12-08T08:14:31.213231-08:00","closed_at":"2025-12-08T08:14:31.213231-08:00"}
1423
1557
  {"id":"opencode-swarm-plugin-pak9","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:30.168986-08:00","updated_at":"2025-12-07T19:39:31.738313-08:00","closed_at":"2025-12-07T19:39:31.738313-08:00"}
1424
1558
  {"id":"opencode-swarm-plugin-pak9.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:30.199641-08:00","updated_at":"2025-12-07T19:39:31.761417-08:00","closed_at":"2025-12-07T19:39:31.761417-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pak9.1","depends_on_id":"opencode-swarm-plugin-pak9","type":"parent-child","created_at":"2025-12-07T19:39:30.199936-08:00","created_by":"daemon"}]}
@@ -1435,6 +1569,7 @@
1435
1569
  {"id":"opencode-swarm-plugin-peo7","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.695367-08:00","updated_at":"2025-12-08T08:36:19.242793-08:00","closed_at":"2025-12-08T08:36:19.242793-08:00"}
1436
1570
  {"id":"opencode-swarm-plugin-pf4w","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.621529-08:00","updated_at":"2025-12-07T19:56:44.781463-08:00","closed_at":"2025-12-07T19:56:44.781463-08:00"}
1437
1571
  {"id":"opencode-swarm-plugin-phkfw","title":"Gap: No fallback if PGLite initialization fails","description":"src/streams/index.ts:58-78 \u0026 agent-mail.ts - If PGLite fails to initialize (corrupted DB, disk issues), entire agent-mail system is unusable. No graceful degradation or in-memory fallback. Should: detect init failure, offer in-memory mode for session, log clear error with recovery instructions, or provide \"rebuild database\" option. Critical for production reliability.","status":"closed","priority":1,"issue_type":"chore","created_at":"2025-12-13T09:25:03.421024-08:00","updated_at":"2025-12-13T09:34:08.051882-08:00","closed_at":"2025-12-13T09:34:08.051882-08:00"}
1572
+ {"id":"opencode-swarm-plugin-pjdb5","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T09:30:19.218747-08:00","updated_at":"2025-12-14T09:30:23.365488-08:00","closed_at":"2025-12-14T09:30:23.365488-08:00"}
1438
1573
  {"id":"opencode-swarm-plugin-pjxoi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.464236-08:00","updated_at":"2025-12-08T11:12:58.034865-08:00","closed_at":"2025-12-08T11:12:58.034865-08:00"}
1439
1574
  {"id":"opencode-swarm-plugin-pk6","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:37:35.135647-08:00","updated_at":"2025-12-07T19:37:36.645175-08:00","closed_at":"2025-12-07T19:37:36.645175-08:00"}
1440
1575
  {"id":"opencode-swarm-plugin-pk6.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.163639-08:00","updated_at":"2025-12-07T19:37:36.666257-08:00","closed_at":"2025-12-07T19:37:36.666257-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pk6.1","depends_on_id":"opencode-swarm-plugin-pk6","type":"parent-child","created_at":"2025-12-07T19:37:35.163919-08:00","created_by":"daemon"}]}
@@ -1455,8 +1590,13 @@
1455
1590
  {"id":"opencode-swarm-plugin-psfm3","title":"swarm.ts:1710-1725 - Critical bug blocking silently continues on parse error","description":"swarm.ts:1710-1725 - swarm_complete catches Zod parse errors on evaluation but doesn't block completion for critical issues beyond evaluation. If UBS returns parse errors, they're ignored. Suggested fix: Block completion on UBS parse errors too.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:35.874785-08:00","updated_at":"2025-12-10T11:56:12.284646-08:00","closed_at":"2025-12-10T11:56:12.284646-08:00"}
1456
1591
  {"id":"opencode-swarm-plugin-psm","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:19.273159-08:00","updated_at":"2025-12-07T19:39:20.860341-08:00","closed_at":"2025-12-07T19:39:20.860341-08:00"}
1457
1592
  {"id":"opencode-swarm-plugin-pvw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.123613-08:00","updated_at":"2025-12-07T19:39:20.346988-08:00","closed_at":"2025-12-07T19:39:20.346988-08:00"}
1593
+ {"id":"opencode-swarm-plugin-pwkbp","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.92352-08:00","updated_at":"2025-12-13T18:18:38.282103-08:00","closed_at":"2025-12-13T18:18:38.282103-08:00"}
1458
1594
  {"id":"opencode-swarm-plugin-pwwfa","title":"Add TDD section to AGENTS.md with lore from prime knowledge","description":"Added TDD as default development approach with RED-GREEN-REFACTOR. Includes lore from Kent Beck, Michael Feathers, and Ousterhout counterpoint about when TDD can lead to tactical programming.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T09:07:58.982391-08:00","updated_at":"2025-12-13T09:08:02.759949-08:00","closed_at":"2025-12-13T09:08:02.759949-08:00"}
1459
1595
  {"id":"opencode-swarm-plugin-px38","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.475528-08:00","updated_at":"2025-12-08T09:09:33.937467-08:00","closed_at":"2025-12-08T09:09:33.937467-08:00"}
1596
+ {"id":"opencode-swarm-plugin-pz2k5","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:52.169574-08:00","updated_at":"2025-12-14T13:58:55.700532-08:00","closed_at":"2025-12-14T13:58:55.700532-08:00"}
1597
+ {"id":"opencode-swarm-plugin-pz2k5.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.228308-08:00","updated_at":"2025-12-14T13:58:55.747529-08:00","closed_at":"2025-12-14T13:58:55.747529-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pz2k5.1","depends_on_id":"opencode-swarm-plugin-pz2k5","type":"parent-child","created_at":"2025-12-14T13:58:52.229024-08:00","created_by":"daemon"}]}
1598
+ {"id":"opencode-swarm-plugin-pz2k5.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-14T13:58:52.280483-08:00","updated_at":"2025-12-14T13:58:55.79651-08:00","closed_at":"2025-12-14T13:58:55.79651-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pz2k5.2","depends_on_id":"opencode-swarm-plugin-pz2k5","type":"parent-child","created_at":"2025-12-14T13:58:52.281527-08:00","created_by":"daemon"}]}
1599
+ {"id":"opencode-swarm-plugin-pz2k5.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T13:58:52.330275-08:00","updated_at":"2025-12-14T13:58:55.839869-08:00","closed_at":"2025-12-14T13:58:55.839869-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pz2k5.3","depends_on_id":"opencode-swarm-plugin-pz2k5","type":"parent-child","created_at":"2025-12-14T13:58:52.331087-08:00","created_by":"daemon"}]}
1460
1600
  {"id":"opencode-swarm-plugin-pzj6","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.916664-08:00","updated_at":"2025-12-07T19:57:08.239624-08:00","closed_at":"2025-12-07T19:57:08.239624-08:00"}
1461
1601
  {"id":"opencode-swarm-plugin-q05b","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.495416-08:00","updated_at":"2025-12-08T08:14:30.963712-08:00","closed_at":"2025-12-08T08:14:30.963712-08:00"}
1462
1602
  {"id":"opencode-swarm-plugin-q0yh","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.306014-08:00","updated_at":"2025-12-08T11:11:08.331423-08:00","closed_at":"2025-12-08T11:11:08.331423-08:00"}
@@ -1501,10 +1641,16 @@
1501
1641
  {"id":"opencode-swarm-plugin-qpa0","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.832175-08:00","updated_at":"2025-12-08T07:53:46.263135-08:00","closed_at":"2025-12-08T07:53:46.263135-08:00"}
1502
1642
  {"id":"opencode-swarm-plugin-qtl0y","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T14:48:40.317918-08:00","updated_at":"2025-12-13T14:48:44.624735-08:00","closed_at":"2025-12-13T14:48:44.624735-08:00"}
1503
1643
  {"id":"opencode-swarm-plugin-qutq","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:14:28.460611-08:00","updated_at":"2025-12-08T08:14:30.937119-08:00","closed_at":"2025-12-08T08:14:30.937119-08:00"}
1644
+ {"id":"opencode-swarm-plugin-qw7h4","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.06859-08:00","updated_at":"2025-12-13T18:16:34.020222-08:00","closed_at":"2025-12-13T18:16:34.020222-08:00"}
1504
1645
  {"id":"opencode-swarm-plugin-qwe","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:36:06.794509-08:00","updated_at":"2025-12-07T19:36:08.762615-08:00","closed_at":"2025-12-07T19:36:08.762615-08:00"}
1505
1646
  {"id":"opencode-swarm-plugin-qxbap","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:40.697194-08:00","updated_at":"2025-12-13T14:48:44.79472-08:00","closed_at":"2025-12-13T14:48:44.79472-08:00"}
1506
1647
  {"id":"opencode-swarm-plugin-qxtq","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.757904-08:00","updated_at":"2025-12-08T08:36:19.291277-08:00","closed_at":"2025-12-08T08:36:19.291277-08:00"}
1507
1648
  {"id":"opencode-swarm-plugin-qzg5","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:11.005599-08:00","updated_at":"2025-12-08T07:49:12.748038-08:00","closed_at":"2025-12-08T07:49:12.748038-08:00"}
1649
+ {"id":"opencode-swarm-plugin-qzqdv","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:52.655913-08:00","updated_at":"2025-12-14T13:58:56.14013-08:00","closed_at":"2025-12-14T13:58:56.14013-08:00"}
1650
+ {"id":"opencode-swarm-plugin-qzqdv.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.857867-08:00","updated_at":"2025-12-14T13:58:56.183447-08:00","closed_at":"2025-12-14T13:58:56.183447-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qzqdv.1","depends_on_id":"opencode-swarm-plugin-qzqdv","type":"parent-child","created_at":"2025-12-14T13:58:52.858814-08:00","created_by":"daemon"}]}
1651
+ {"id":"opencode-swarm-plugin-qzqdv.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.970422-08:00","updated_at":"2025-12-14T13:58:56.236043-08:00","closed_at":"2025-12-14T13:58:56.236043-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qzqdv.2","depends_on_id":"opencode-swarm-plugin-qzqdv","type":"parent-child","created_at":"2025-12-14T13:58:52.971156-08:00","created_by":"daemon"}]}
1652
+ {"id":"opencode-swarm-plugin-qzqdv.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.027951-08:00","updated_at":"2025-12-14T13:58:56.294449-08:00","closed_at":"2025-12-14T13:58:56.294449-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qzqdv.3","depends_on_id":"opencode-swarm-plugin-qzqdv","type":"parent-child","created_at":"2025-12-14T13:58:53.028614-08:00","created_by":"daemon"}]}
1653
+ {"id":"opencode-swarm-plugin-qzqdv.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.076883-08:00","updated_at":"2025-12-14T13:58:56.335561-08:00","closed_at":"2025-12-14T13:58:56.335561-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qzqdv.4","depends_on_id":"opencode-swarm-plugin-qzqdv","type":"parent-child","created_at":"2025-12-14T13:58:53.077517-08:00","created_by":"daemon"}]}
1508
1654
  {"id":"opencode-swarm-plugin-r2jp","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.615478-08:00","updated_at":"2025-12-08T11:11:25.857526-08:00","closed_at":"2025-12-08T11:11:25.857526-08:00"}
1509
1655
  {"id":"opencode-swarm-plugin-r4u7","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T07:49:09.900669-08:00","updated_at":"2025-12-08T07:49:12.224173-08:00","closed_at":"2025-12-08T07:49:12.224173-08:00"}
1510
1656
  {"id":"opencode-swarm-plugin-r4ur","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:39.607208-08:00","updated_at":"2025-12-08T11:11:41.437562-08:00","closed_at":"2025-12-08T11:11:41.437562-08:00"}
@@ -1550,6 +1696,7 @@
1550
1696
  {"id":"opencode-swarm-plugin-ryzv","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.146246-08:00","updated_at":"2025-12-07T19:56:43.167763-08:00","closed_at":"2025-12-07T19:56:43.167763-08:00"}
1551
1697
  {"id":"opencode-swarm-plugin-s0ah","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.991261-08:00","updated_at":"2025-12-08T08:25:12.921305-08:00","closed_at":"2025-12-08T08:25:12.921305-08:00"}
1552
1698
  {"id":"opencode-swarm-plugin-s0fr","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.824343-08:00","updated_at":"2025-12-08T08:11:42.592959-08:00","closed_at":"2025-12-08T08:11:42.592959-08:00"}
1699
+ {"id":"opencode-swarm-plugin-s3hyt","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.195853-08:00","updated_at":"2025-12-14T13:58:54.977402-08:00","closed_at":"2025-12-14T13:58:54.977402-08:00"}
1553
1700
  {"id":"opencode-swarm-plugin-s4xfg","title":"Simplify errorBullets initialization in StructuredValidationError","description":"src/structured.ts:47 - `this.errorBullets = zodError ? formatZodErrors(zodError) : [message];` could use nullish coalescing for clarity: `this.errorBullets = zodError ? formatZodErrors(zodError) : [message];` (no change needed, but could assign in constructor params for cleaner code)","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:39.878643-08:00","updated_at":"2025-12-13T16:45:43.398628-08:00","closed_at":"2025-12-13T16:45:43.398628-08:00"}
1554
1701
  {"id":"opencode-swarm-plugin-s5eh","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.355512-08:00","updated_at":"2025-12-07T19:57:08.933805-08:00","closed_at":"2025-12-07T19:57:08.933805-08:00"}
1555
1702
  {"id":"opencode-swarm-plugin-s5nu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:48.728004-08:00","updated_at":"2025-12-08T07:46:51.543929-08:00","closed_at":"2025-12-08T07:46:51.543929-08:00"}
@@ -1561,8 +1708,14 @@
1561
1708
  {"id":"opencode-swarm-plugin-s9w5","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T07:53:43.536704-08:00","updated_at":"2025-12-08T07:53:46.115732-08:00","closed_at":"2025-12-08T07:53:46.115732-08:00"}
1562
1709
  {"id":"opencode-swarm-plugin-saif","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:49:09.962714-08:00","updated_at":"2025-12-08T07:49:12.249883-08:00","closed_at":"2025-12-08T07:49:12.249883-08:00"}
1563
1710
  {"id":"opencode-swarm-plugin-satc","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.690909-08:00","updated_at":"2025-12-08T11:11:10.242801-08:00","closed_at":"2025-12-08T11:11:10.242801-08:00"}
1711
+ {"id":"opencode-swarm-plugin-sd9ev","title":"MCP Output Guardrails + Evalite Integration","description":"Add context protection via tool output interception and quality evaluation framework using Evalite","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T17:53:20.125833-08:00","updated_at":"2025-12-13T18:01:50.731899-08:00","closed_at":"2025-12-13T18:01:50.731899-08:00"}
1712
+ {"id":"opencode-swarm-plugin-sd9ev.1","title":"Implement output-guardrails.ts module","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T17:53:20.183296-08:00","updated_at":"2025-12-13T18:00:10.410723-08:00","closed_at":"2025-12-13T18:00:10.410723-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sd9ev.1","depends_on_id":"opencode-swarm-plugin-sd9ev","type":"parent-child","created_at":"2025-12-13T17:53:20.184446-08:00","created_by":"daemon"}]}
1713
+ {"id":"opencode-swarm-plugin-sd9ev.2","title":"Integrate guardrails into plugin hook","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T17:53:20.240057-08:00","updated_at":"2025-12-13T18:00:05.172185-08:00","closed_at":"2025-12-13T18:00:05.172185-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sd9ev.2","depends_on_id":"opencode-swarm-plugin-sd9ev","type":"parent-child","created_at":"2025-12-13T17:53:20.241272-08:00","created_by":"daemon"}]}
1714
+ {"id":"opencode-swarm-plugin-sd9ev.3","title":"Set up Evalite infrastructure","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T17:53:20.293998-08:00","updated_at":"2025-12-13T18:00:11.418403-08:00","closed_at":"2025-12-13T18:00:11.418403-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sd9ev.3","depends_on_id":"opencode-swarm-plugin-sd9ev","type":"parent-child","created_at":"2025-12-13T17:53:20.294691-08:00","created_by":"daemon"}]}
1715
+ {"id":"opencode-swarm-plugin-sd9ev.4","title":"Create swarm decomposition eval","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T17:53:20.346751-08:00","updated_at":"2025-12-13T18:01:49.491638-08:00","closed_at":"2025-12-13T18:01:49.491638-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sd9ev.4","depends_on_id":"opencode-swarm-plugin-sd9ev","type":"parent-child","created_at":"2025-12-13T17:53:20.348143-08:00","created_by":"daemon"}]}
1564
1716
  {"id":"opencode-swarm-plugin-sdb4r","title":"agent-mail.ts:380-398 - Missing cleanup after process spawn","description":"agent-mail.ts:380-398 - restartServer() spawns processes but doesn't track them for cleanup. If kill commands fail or processes don't respond, orphaned processes accumulate. Suggested fix: Store PIDs and add cleanup handler.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:03.389992-08:00","updated_at":"2025-12-13T08:52:56.497517-08:00","closed_at":"2025-12-13T08:52:56.497517-08:00"}
1565
1717
  {"id":"opencode-swarm-plugin-sf0l","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.600521-08:00","updated_at":"2025-12-08T07:49:12.09398-08:00","closed_at":"2025-12-08T07:49:12.09398-08:00"}
1718
+ {"id":"opencode-swarm-plugin-sfkxg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.141504-08:00","updated_at":"2025-12-13T18:18:37.919868-08:00","closed_at":"2025-12-13T18:18:37.919868-08:00"}
1566
1719
  {"id":"opencode-swarm-plugin-sfqn","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:41:12.151388-08:00","updated_at":"2025-12-07T19:41:13.97239-08:00","closed_at":"2025-12-07T19:41:13.97239-08:00"}
1567
1720
  {"id":"opencode-swarm-plugin-sfqn.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.186663-08:00","updated_at":"2025-12-07T19:41:13.997277-08:00","closed_at":"2025-12-07T19:41:13.997277-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sfqn.1","depends_on_id":"opencode-swarm-plugin-sfqn","type":"parent-child","created_at":"2025-12-07T19:41:12.186976-08:00","created_by":"daemon"}]}
1568
1721
  {"id":"opencode-swarm-plugin-sfqn.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.224852-08:00","updated_at":"2025-12-07T19:41:14.021244-08:00","closed_at":"2025-12-07T19:41:14.021244-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sfqn.2","depends_on_id":"opencode-swarm-plugin-sfqn","type":"parent-child","created_at":"2025-12-07T19:41:12.225222-08:00","created_by":"daemon"}]}
@@ -1585,6 +1738,13 @@
1585
1738
  {"id":"opencode-swarm-plugin-snyxj.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:45.34182-08:00","updated_at":"2025-12-13T11:18:45.510728-08:00","closed_at":"2025-12-13T11:18:45.510728-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-snyxj.2","depends_on_id":"opencode-swarm-plugin-snyxj","type":"parent-child","created_at":"2025-12-13T11:18:45.343303-08:00","created_by":"daemon"}]}
1586
1739
  {"id":"opencode-swarm-plugin-spr1z","title":"Gap: No error handling in getDatabase initialization","description":"src/streams/index.ts:58-78 - getDatabase() has no try/catch around PGLite instantiation or schema initialization. If PGLite fails to initialize (e.g., disk full, permissions issue), the error will propagate uncaught. Should wrap in try/catch and provide graceful degradation or clear error message. Consider: retry logic, fallback to in-memory mode, or circuit breaker pattern.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:24:44.317017-08:00","updated_at":"2025-12-13T09:55:52.136578-08:00","closed_at":"2025-12-13T09:55:52.136578-08:00"}
1587
1740
  {"id":"opencode-swarm-plugin-sr7t","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:41:11.327659-08:00","updated_at":"2025-12-07T19:41:13.622857-08:00","closed_at":"2025-12-07T19:41:13.622857-08:00"}
1741
+ {"id":"opencode-swarm-plugin-ss6em","title":"Eval Data Capture \u0026 Outcome-Based Scoring","description":"Wire real swarm execution data into evals. Add event capture to durable streams, outcome-based scorers, and PGlite-backed eval data loader. Make swarm-mail default for agents.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:00:23.215537-08:00","updated_at":"2025-12-14T09:32:11.570116-08:00","closed_at":"2025-12-14T09:32:11.570116-08:00"}
1742
+ {"id":"opencode-swarm-plugin-ss6em.1","title":"Add eval capture events to durable streams","description":"✅ Added 3 new eval capture event types to AgentEvent discriminated union:\n- DecompositionGeneratedEvent (captures task, context, strategy, epic_title, subtasks array)\n- SubtaskOutcomeEvent (captures planned_files, actual_files, duration_ms, error_count, retry_count, success)\n- HumanFeedbackEvent (captures accepted, modified, notes)\n\nAll schemas follow existing patterns with Zod validation.\nAdded comprehensive tests covering:\n- Complete event validation\n- Default value handling\n- Enum/bounds validation\n- Edge cases\n\nTypeScript: ✓ No errors\nTests: ✓ 230 pass (all existing + 15 new tests for eval events)","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.27377-08:00","updated_at":"2025-12-14T09:12:34.904686-08:00","closed_at":"2025-12-14T09:12:34.904686-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.1","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.275265-08:00","created_by":"daemon"}]}
1743
+ {"id":"opencode-swarm-plugin-ss6em.2","title":"Create eval_records projection and materialized view","description":"Completed implementation:\n- Added migration v3 for eval_records table\n- Added event handlers for decomposition_generated, subtask_outcome, human_feedback\n- Implemented metric computation (file overlap, scope accuracy, time balance ratio)\n- Added query functions getEvalRecords() and getEvalStats()\n- All typechecks pass","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.327955-08:00","updated_at":"2025-12-14T09:19:31.685729-08:00","closed_at":"2025-12-14T09:19:31.685729-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.2","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.328686-08:00","created_by":"daemon"}]}
1744
+ {"id":"opencode-swarm-plugin-ss6em.3","title":"Add outcome-based scorers for Evalite","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.390475-08:00","updated_at":"2025-12-14T09:12:36.250094-08:00","closed_at":"2025-12-14T09:12:36.250094-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.3","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.391549-08:00","created_by":"daemon"}]}
1745
+ {"id":"opencode-swarm-plugin-ss6em.4","title":"Create PGlite-backed eval data loader","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.445093-08:00","updated_at":"2025-12-14T09:29:01.126814-08:00","closed_at":"2025-12-14T09:29:01.126814-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.4","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.446598-08:00","created_by":"daemon"}]}
1746
+ {"id":"opencode-swarm-plugin-ss6em.5","title":"Wire eval capture into swarm tools","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.496255-08:00","updated_at":"2025-12-14T09:19:30.723371-08:00","closed_at":"2025-12-14T09:19:30.723371-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.5","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.497591-08:00","created_by":"daemon"}]}
1747
+ {"id":"opencode-swarm-plugin-ss6em.6","title":"Make swarm-mail initialization default for agents","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:00:23.556716-08:00","updated_at":"2025-12-14T09:12:37.331677-08:00","closed_at":"2025-12-14T09:12:37.331677-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.6","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.55747-08:00","created_by":"daemon"}]}
1588
1748
  {"id":"opencode-swarm-plugin-sskwh","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T09:06:07.593264-08:00","updated_at":"2025-12-10T09:06:10.473765-08:00","closed_at":"2025-12-10T09:06:10.473765-08:00"}
1589
1749
  {"id":"opencode-swarm-plugin-sskwh.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:07.646775-08:00","updated_at":"2025-12-10T09:06:10.512362-08:00","closed_at":"2025-12-10T09:06:10.512362-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sskwh.1","depends_on_id":"opencode-swarm-plugin-sskwh","type":"parent-child","created_at":"2025-12-10T09:06:07.648289-08:00","created_by":"daemon"}]}
1590
1750
  {"id":"opencode-swarm-plugin-sskwh.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:07.694607-08:00","updated_at":"2025-12-10T09:06:10.548911-08:00","closed_at":"2025-12-10T09:06:10.548911-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sskwh.2","depends_on_id":"opencode-swarm-plugin-sskwh","type":"parent-child","created_at":"2025-12-10T09:06:07.695769-08:00","created_by":"daemon"}]}
@@ -1597,6 +1757,7 @@
1597
1757
  {"id":"opencode-swarm-plugin-sxn","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.756103-08:00","updated_at":"2025-12-07T19:39:11.854315-08:00","closed_at":"2025-12-07T19:39:11.854315-08:00"}
1598
1758
  {"id":"opencode-swarm-plugin-syjs","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:53:44.867728-08:00","updated_at":"2025-12-08T07:53:46.727858-08:00","closed_at":"2025-12-08T07:53:46.727858-08:00"}
1599
1759
  {"id":"opencode-swarm-plugin-syjs.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.934935-08:00","updated_at":"2025-12-08T07:53:46.779726-08:00","closed_at":"2025-12-08T07:53:46.779726-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-syjs.2","depends_on_id":"opencode-swarm-plugin-syjs","type":"parent-child","created_at":"2025-12-08T07:53:44.935372-08:00","created_by":"daemon"}]}
1760
+ {"id":"opencode-swarm-plugin-syl2x","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.49503-08:00","updated_at":"2025-12-14T09:30:22.965724-08:00","closed_at":"2025-12-14T09:30:22.965724-08:00"}
1600
1761
  {"id":"opencode-swarm-plugin-syw4w","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:56.86688-08:00","updated_at":"2025-12-08T11:12:58.707358-08:00","closed_at":"2025-12-08T11:12:58.707358-08:00"}
1601
1762
  {"id":"opencode-swarm-plugin-syw4w.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.89878-08:00","updated_at":"2025-12-08T11:12:58.734794-08:00","closed_at":"2025-12-08T11:12:58.734794-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-syw4w.1","depends_on_id":"opencode-swarm-plugin-syw4w","type":"parent-child","created_at":"2025-12-08T11:12:56.899055-08:00","created_by":"daemon"}]}
1602
1763
  {"id":"opencode-swarm-plugin-syw4w.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.928924-08:00","updated_at":"2025-12-08T11:12:58.762197-08:00","closed_at":"2025-12-08T11:12:58.762197-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-syw4w.2","depends_on_id":"opencode-swarm-plugin-syw4w","type":"parent-child","created_at":"2025-12-08T11:12:56.929225-08:00","created_by":"daemon"}]}
@@ -1605,6 +1766,7 @@
1605
1766
  {"id":"opencode-swarm-plugin-t0g","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:11.44067-08:00","updated_at":"2025-12-07T19:39:11.60743-08:00","closed_at":"2025-12-07T19:39:11.60743-08:00"}
1606
1767
  {"id":"opencode-swarm-plugin-t0g.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:11.468223-08:00","updated_at":"2025-12-07T19:39:11.541443-08:00","closed_at":"2025-12-07T19:39:11.541443-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-t0g.1","depends_on_id":"opencode-swarm-plugin-t0g","type":"parent-child","created_at":"2025-12-07T19:39:11.468521-08:00","created_by":"daemon"}]}
1607
1768
  {"id":"opencode-swarm-plugin-t0g.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:11.496868-08:00","updated_at":"2025-12-07T19:39:11.58521-08:00","closed_at":"2025-12-07T19:39:11.58521-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-t0g.2","depends_on_id":"opencode-swarm-plugin-t0g","type":"parent-child","created_at":"2025-12-07T19:39:11.49712-08:00","created_by":"daemon"}]}
1769
+ {"id":"opencode-swarm-plugin-t1tjj","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T09:30:19.997583-08:00","updated_at":"2025-12-14T09:30:23.561322-08:00","closed_at":"2025-12-14T09:30:23.561322-08:00"}
1608
1770
  {"id":"opencode-swarm-plugin-t52c","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:57:06.367147-08:00","updated_at":"2025-12-07T19:57:08.483841-08:00","closed_at":"2025-12-07T19:57:08.483841-08:00"}
1609
1771
  {"id":"opencode-swarm-plugin-t5oc9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:41.581841-08:00","updated_at":"2025-12-13T11:18:45.906988-08:00","closed_at":"2025-12-13T11:18:45.906988-08:00"}
1610
1772
  {"id":"opencode-swarm-plugin-t5p7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.143856-08:00","updated_at":"2025-12-07T19:57:08.387342-08:00","closed_at":"2025-12-07T19:57:08.387342-08:00"}
@@ -1640,6 +1802,7 @@
1640
1802
  {"id":"opencode-swarm-plugin-tnz9","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:24.885382-08:00","updated_at":"2025-12-08T11:11:25.083688-08:00","closed_at":"2025-12-08T11:11:25.083688-08:00"}
1641
1803
  {"id":"opencode-swarm-plugin-tnz9.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.920391-08:00","updated_at":"2025-12-08T11:11:25.008828-08:00","closed_at":"2025-12-08T11:11:25.008828-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-tnz9.1","depends_on_id":"opencode-swarm-plugin-tnz9","type":"parent-child","created_at":"2025-12-08T11:11:24.920745-08:00","created_by":"daemon"}]}
1642
1804
  {"id":"opencode-swarm-plugin-tnz9.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.956371-08:00","updated_at":"2025-12-08T11:11:25.059063-08:00","closed_at":"2025-12-08T11:11:25.059063-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-tnz9.2","depends_on_id":"opencode-swarm-plugin-tnz9","type":"parent-child","created_at":"2025-12-08T11:11:24.956743-08:00","created_by":"daemon"}]}
1805
+ {"id":"opencode-swarm-plugin-to2ui","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T13:58:52.031043-08:00","updated_at":"2025-12-14T13:58:55.652452-08:00","closed_at":"2025-12-14T13:58:55.652452-08:00"}
1643
1806
  {"id":"opencode-swarm-plugin-tpem","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.229302-08:00","updated_at":"2025-12-08T08:21:29.926869-08:00","closed_at":"2025-12-08T08:21:29.926869-08:00"}
1644
1807
  {"id":"opencode-swarm-plugin-tqbww","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T14:48:43.978217-08:00","updated_at":"2025-12-13T14:48:44.314847-08:00","closed_at":"2025-12-13T14:48:44.314847-08:00"}
1645
1808
  {"id":"opencode-swarm-plugin-tqbww.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:44.031769-08:00","updated_at":"2025-12-13T14:48:44.174383-08:00","closed_at":"2025-12-13T14:48:44.174383-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-tqbww.1","depends_on_id":"opencode-swarm-plugin-tqbww","type":"parent-child","created_at":"2025-12-13T14:48:44.032827-08:00","created_by":"daemon"}]}
@@ -1654,6 +1817,7 @@
1654
1817
  {"id":"opencode-swarm-plugin-ts1b","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.500016-08:00","updated_at":"2025-12-08T08:22:20.009621-08:00","closed_at":"2025-12-08T08:22:20.009621-08:00"}
1655
1818
  {"id":"opencode-swarm-plugin-ts3","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.362915-08:00","updated_at":"2025-12-07T19:39:20.482638-08:00","closed_at":"2025-12-07T19:39:20.482638-08:00"}
1656
1819
  {"id":"opencode-swarm-plugin-tuf","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:34:52.899792-08:00","updated_at":"2025-12-07T19:34:54.852639-08:00","closed_at":"2025-12-07T19:34:54.852639-08:00"}
1820
+ {"id":"opencode-swarm-plugin-tw5bn","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.595779-08:00","updated_at":"2025-12-13T18:18:38.137266-08:00","closed_at":"2025-12-13T18:18:38.137266-08:00"}
1657
1821
  {"id":"opencode-swarm-plugin-twoql","title":"Bug: Remove all agentmail references - replace with swarmmail","description":"## Problem\nCurrent version still has agentmail_init references that cause errors. We removed agentmail from exports in v0.14.0 but prompts/docs still reference it.\n\n## Task\nFind and replace ALL agentmail references with swarmmail equivalents:\n- agentmail_init → swarmmail_init\n- agentmail_send → swarmmail_send\n- agentmail_inbox → swarmmail_inbox\n- agentmail_read_message → swarmmail_read_message\n- agentmail_reserve → swarmmail_reserve\n- agentmail_release → swarmmail_release\n\n## Files to Check\n- src/swarm.ts (SUBTASK_PROMPT_V2 and other prompts)\n- examples/commands/*.md\n- global-skills/**/*.md\n- Any other prompt templates\n\n## Verification\nAfter fix: grep -r \"agentmail\" should return 0 results (except maybe comments explaining the migration)","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-13T14:18:28.580449-08:00","updated_at":"2025-12-13T14:21:45.26748-08:00","closed_at":"2025-12-13T14:21:45.26748-08:00"}
1658
1822
  {"id":"opencode-swarm-plugin-txep","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:40.264723-08:00","updated_at":"2025-12-08T08:11:42.28708-08:00","closed_at":"2025-12-08T08:11:42.28708-08:00"}
1659
1823
  {"id":"opencode-swarm-plugin-txep.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.329538-08:00","updated_at":"2025-12-08T08:11:42.337696-08:00","closed_at":"2025-12-08T08:11:42.337696-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-txep.2","depends_on_id":"opencode-swarm-plugin-txep","type":"parent-child","created_at":"2025-12-08T08:11:40.329857-08:00","created_by":"daemon"}]}
@@ -1669,6 +1833,7 @@
1669
1833
  {"id":"opencode-swarm-plugin-u11z.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:55.245648-08:00","updated_at":"2025-12-08T11:10:55.331822-08:00","closed_at":"2025-12-08T11:10:55.331822-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u11z.1","depends_on_id":"opencode-swarm-plugin-u11z","type":"parent-child","created_at":"2025-12-08T11:10:55.245978-08:00","created_by":"daemon"}]}
1670
1834
  {"id":"opencode-swarm-plugin-u11z.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:55.280239-08:00","updated_at":"2025-12-08T11:10:55.38192-08:00","closed_at":"2025-12-08T11:10:55.38192-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u11z.2","depends_on_id":"opencode-swarm-plugin-u11z","type":"parent-child","created_at":"2025-12-08T11:10:55.280541-08:00","created_by":"daemon"}]}
1671
1835
  {"id":"opencode-swarm-plugin-u1m9","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.804446-08:00","updated_at":"2025-12-08T11:11:10.316778-08:00","closed_at":"2025-12-08T11:11:10.316778-08:00"}
1836
+ {"id":"opencode-swarm-plugin-u203n","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.84164-08:00","updated_at":"2025-12-13T18:18:38.24816-08:00","closed_at":"2025-12-13T18:18:38.24816-08:00"}
1672
1837
  {"id":"opencode-swarm-plugin-u33l","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.971493-08:00","updated_at":"2025-12-08T09:09:33.730575-08:00","closed_at":"2025-12-08T09:09:33.730575-08:00"}
1673
1838
  {"id":"opencode-swarm-plugin-u33l.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.002048-08:00","updated_at":"2025-12-08T09:09:33.755227-08:00","closed_at":"2025-12-08T09:09:33.755227-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u33l.1","depends_on_id":"opencode-swarm-plugin-u33l","type":"parent-child","created_at":"2025-12-08T09:09:32.002347-08:00","created_by":"daemon"}]}
1674
1839
  {"id":"opencode-swarm-plugin-u33l.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.034741-08:00","updated_at":"2025-12-08T09:09:33.780515-08:00","closed_at":"2025-12-08T09:09:33.780515-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u33l.2","depends_on_id":"opencode-swarm-plugin-u33l","type":"parent-child","created_at":"2025-12-08T09:09:32.035068-08:00","created_by":"daemon"}]}
@@ -1683,6 +1848,7 @@
1683
1848
  {"id":"opencode-swarm-plugin-u3q34.5","title":"Update tool-availability.ts and supporting modules","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T10:46:25.897832-08:00","updated_at":"2025-12-13T11:07:53.974396-08:00","closed_at":"2025-12-13T11:07:53.974396-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.5","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.898654-08:00","created_by":"daemon"}]}
1684
1849
  {"id":"opencode-swarm-plugin-u3q34.6","title":"Migrate tests from agent-mail to swarm-mail","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T10:46:25.947081-08:00","updated_at":"2025-12-13T11:07:54.960497-08:00","closed_at":"2025-12-13T11:07:54.960497-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.6","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.94776-08:00","created_by":"daemon"}]}
1685
1850
  {"id":"opencode-swarm-plugin-u3q34.7","title":"Remove old agent-mail.ts and update documentation","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T10:46:25.99697-08:00","updated_at":"2025-12-13T16:42:01.379047-08:00","closed_at":"2025-12-13T16:42:01.379047-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.7","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.997868-08:00","created_by":"daemon"}]}
1851
+ {"id":"opencode-swarm-plugin-u3wwo","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.449617-08:00","updated_at":"2025-12-14T13:58:55.056313-08:00","closed_at":"2025-12-14T13:58:55.056313-08:00"}
1686
1852
  {"id":"opencode-swarm-plugin-u4cv","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.799579-08:00","updated_at":"2025-12-07T19:57:08.192357-08:00","closed_at":"2025-12-07T19:57:08.192357-08:00"}
1687
1853
  {"id":"opencode-swarm-plugin-u4w6a","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:12:55.402022-08:00","updated_at":"2025-12-08T11:12:57.960131-08:00","closed_at":"2025-12-08T11:12:57.960131-08:00"}
1688
1854
  {"id":"opencode-swarm-plugin-u5lz","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.831249-08:00","updated_at":"2025-12-08T07:49:12.197825-08:00","closed_at":"2025-12-08T07:49:12.197825-08:00"}
@@ -1696,6 +1862,7 @@
1696
1862
  {"id":"opencode-swarm-plugin-uboo.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:26.806466-08:00","updated_at":"2025-12-08T11:12:28.609201-08:00","closed_at":"2025-12-08T11:12:28.609201-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-uboo.1","depends_on_id":"opencode-swarm-plugin-uboo","type":"parent-child","created_at":"2025-12-08T11:12:26.806791-08:00","created_by":"daemon"}]}
1697
1863
  {"id":"opencode-swarm-plugin-ubp6h","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:42.983106-08:00","updated_at":"2025-12-13T11:18:43.023852-08:00","closed_at":"2025-12-13T11:18:43.023852-08:00"}
1698
1864
  {"id":"opencode-swarm-plugin-ubx49","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:50.061416-08:00","updated_at":"2025-12-13T11:20:50.203366-08:00","closed_at":"2025-12-13T11:20:50.203366-08:00"}
1865
+ {"id":"opencode-swarm-plugin-ugqsn","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.01196-08:00","updated_at":"2025-12-14T13:58:55.374092-08:00","closed_at":"2025-12-14T13:58:55.374092-08:00"}
1699
1866
  {"id":"opencode-swarm-plugin-ugx8","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:36:17.879155-08:00","updated_at":"2025-12-08T08:36:19.711988-08:00","closed_at":"2025-12-08T08:36:19.711988-08:00"}
1700
1867
  {"id":"opencode-swarm-plugin-uila","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.009374-08:00","updated_at":"2025-12-07T19:57:08.312771-08:00","closed_at":"2025-12-07T19:57:08.312771-08:00"}
1701
1868
  {"id":"opencode-swarm-plugin-uiw73","title":"Fix critical audit findings from swarm review","description":"Address critical bugs, race conditions, and quick wins identified by the 5-agent audit of opencode-swarm-plugin","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T08:55:18.929554-08:00","updated_at":"2025-12-10T09:00:56.759764-08:00","closed_at":"2025-12-10T09:00:56.759764-08:00"}
@@ -1739,11 +1906,15 @@
1739
1906
  {"id":"opencode-swarm-plugin-uvjz.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.12605-08:00","updated_at":"2025-12-08T08:22:19.907489-08:00","closed_at":"2025-12-08T08:22:19.907489-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-uvjz.4","depends_on_id":"opencode-swarm-plugin-uvjz","type":"parent-child","created_at":"2025-12-08T08:22:18.126351-08:00","created_by":"daemon"}]}
1740
1907
  {"id":"opencode-swarm-plugin-uvwx","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.796571-08:00","updated_at":"2025-12-08T08:11:42.109197-08:00","closed_at":"2025-12-08T08:11:42.109197-08:00"}
1741
1908
  {"id":"opencode-swarm-plugin-uw97d","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:24.37411-08:00","updated_at":"2025-12-10T09:07:26.700598-08:00","closed_at":"2025-12-10T09:07:26.700598-08:00"}
1909
+ {"id":"opencode-swarm-plugin-uz0gg","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:37.329385-08:00","updated_at":"2025-12-13T18:18:37.614413-08:00","closed_at":"2025-12-13T18:18:37.614413-08:00"}
1910
+ {"id":"opencode-swarm-plugin-uz0gg.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:37.375555-08:00","updated_at":"2025-12-13T18:18:37.499499-08:00","closed_at":"2025-12-13T18:18:37.499499-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-uz0gg.1","depends_on_id":"opencode-swarm-plugin-uz0gg","type":"parent-child","created_at":"2025-12-13T18:18:37.376306-08:00","created_by":"daemon"}]}
1911
+ {"id":"opencode-swarm-plugin-uz0gg.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:37.422893-08:00","updated_at":"2025-12-13T18:18:37.577954-08:00","closed_at":"2025-12-13T18:18:37.577954-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-uz0gg.2","depends_on_id":"opencode-swarm-plugin-uz0gg","type":"parent-child","created_at":"2025-12-13T18:18:37.423542-08:00","created_by":"daemon"}]}
1742
1912
  {"id":"opencode-swarm-plugin-uzp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.238171-08:00","updated_at":"2025-12-07T19:39:20.391173-08:00","closed_at":"2025-12-07T19:39:20.391173-08:00"}
1743
1913
  {"id":"opencode-swarm-plugin-uzv8r","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-13T11:16:35.268224-08:00","updated_at":"2025-12-13T11:16:39.605244-08:00","closed_at":"2025-12-13T11:16:39.605244-08:00"}
1744
1914
  {"id":"opencode-swarm-plugin-uzz7","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.254618-08:00","updated_at":"2025-12-07T19:57:08.91203-08:00","closed_at":"2025-12-07T19:57:08.91203-08:00"}
1745
1915
  {"id":"opencode-swarm-plugin-v155u","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.357052-08:00","updated_at":"2025-12-09T10:00:25.675146-08:00","closed_at":"2025-12-09T10:00:25.675146-08:00"}
1746
1916
  {"id":"opencode-swarm-plugin-v1gu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.25204-08:00","updated_at":"2025-12-08T11:11:10.802916-08:00","closed_at":"2025-12-08T11:11:10.802916-08:00"}
1917
+ {"id":"opencode-swarm-plugin-v3zt5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.360578-08:00","updated_at":"2025-12-13T18:18:37.991482-08:00","closed_at":"2025-12-13T18:18:37.991482-08:00"}
1747
1918
  {"id":"opencode-swarm-plugin-v4bf","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.087446-08:00","updated_at":"2025-12-08T08:25:12.460472-08:00","closed_at":"2025-12-08T08:25:12.460472-08:00"}
1748
1919
  {"id":"opencode-swarm-plugin-v4g4","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:14:30.587378-08:00","updated_at":"2025-12-08T08:14:30.768869-08:00","closed_at":"2025-12-08T08:14:30.768869-08:00"}
1749
1920
  {"id":"opencode-swarm-plugin-v4g4.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:30.618692-08:00","updated_at":"2025-12-08T08:14:30.698262-08:00","closed_at":"2025-12-08T08:14:30.698262-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-v4g4.1","depends_on_id":"opencode-swarm-plugin-v4g4","type":"parent-child","created_at":"2025-12-08T08:14:30.618992-08:00","created_by":"daemon"}]}
@@ -1763,15 +1934,21 @@
1763
1934
  {"id":"opencode-swarm-plugin-v8oa","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.951289-08:00","updated_at":"2025-12-08T07:46:51.033444-08:00","closed_at":"2025-12-08T07:46:51.033444-08:00"}
1764
1935
  {"id":"opencode-swarm-plugin-v8rf","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:39:28.865894-08:00","updated_at":"2025-12-07T19:39:31.084269-08:00","closed_at":"2025-12-07T19:39:31.084269-08:00"}
1765
1936
  {"id":"opencode-swarm-plugin-v8wf","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:11:22.658761-08:00","updated_at":"2025-12-08T11:11:25.414717-08:00","closed_at":"2025-12-08T11:11:25.414717-08:00"}
1937
+ {"id":"opencode-swarm-plugin-v99vd","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:20.558136-08:00","updated_at":"2025-12-14T09:30:23.950652-08:00","closed_at":"2025-12-14T09:30:23.950652-08:00"}
1938
+ {"id":"opencode-swarm-plugin-v99vd.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:30:20.635312-08:00","updated_at":"2025-12-14T09:30:23.99255-08:00","closed_at":"2025-12-14T09:30:23.99255-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-v99vd.1","depends_on_id":"opencode-swarm-plugin-v99vd","type":"parent-child","created_at":"2025-12-14T09:30:20.636933-08:00","created_by":"daemon"}]}
1939
+ {"id":"opencode-swarm-plugin-v9vw0","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.346089-08:00","updated_at":"2025-12-13T18:16:34.146288-08:00","closed_at":"2025-12-13T18:16:34.146288-08:00"}
1766
1940
  {"id":"opencode-swarm-plugin-v9xpe","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:35.985168-08:00","updated_at":"2025-12-13T11:16:40.021286-08:00","closed_at":"2025-12-13T11:16:40.021286-08:00"}
1767
1941
  {"id":"opencode-swarm-plugin-vbd0","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.223902-08:00","updated_at":"2025-12-08T11:10:27.572571-08:00","closed_at":"2025-12-08T11:10:27.572571-08:00"}
1768
1942
  {"id":"opencode-swarm-plugin-vbhx","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.902467-08:00","updated_at":"2025-12-08T09:09:33.682198-08:00","closed_at":"2025-12-08T09:09:33.682198-08:00"}
1769
1943
  {"id":"opencode-swarm-plugin-vc5","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.895729-08:00","updated_at":"2025-12-07T19:34:55.311453-08:00","closed_at":"2025-12-07T19:34:55.311453-08:00"}
1770
1944
  {"id":"opencode-swarm-plugin-vd03","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.740823-08:00","updated_at":"2025-12-07T19:56:44.871695-08:00","closed_at":"2025-12-07T19:56:44.871695-08:00"}
1945
+ {"id":"opencode-swarm-plugin-vddr6","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.728942-08:00","updated_at":"2025-12-13T18:16:34.31488-08:00","closed_at":"2025-12-13T18:16:34.31488-08:00"}
1771
1946
  {"id":"opencode-swarm-plugin-vesg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.014761-08:00","updated_at":"2025-12-08T11:11:25.56871-08:00","closed_at":"2025-12-08T11:11:25.56871-08:00"}
1947
+ {"id":"opencode-swarm-plugin-vg7fi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.350667-08:00","updated_at":"2025-12-14T13:58:55.015406-08:00","closed_at":"2025-12-14T13:58:55.015406-08:00"}
1772
1948
  {"id":"opencode-swarm-plugin-vh4o","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:29.103901-08:00","updated_at":"2025-12-08T08:21:30.778313-08:00","closed_at":"2025-12-08T08:21:30.778313-08:00"}
1773
1949
  {"id":"opencode-swarm-plugin-vheb","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:39:28.899385-08:00","updated_at":"2025-12-07T19:39:31.107581-08:00","closed_at":"2025-12-07T19:39:31.107581-08:00"}
1774
1950
  {"id":"opencode-swarm-plugin-vi4c4","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:21.7884-08:00","updated_at":"2025-12-10T09:07:25.423117-08:00","closed_at":"2025-12-10T09:07:25.423117-08:00"}
1951
+ {"id":"opencode-swarm-plugin-vj2op","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.558731-08:00","updated_at":"2025-12-14T13:58:55.151966-08:00","closed_at":"2025-12-14T13:58:55.151966-08:00"}
1775
1952
  {"id":"opencode-swarm-plugin-vjdh","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.713488-08:00","updated_at":"2025-12-08T08:23:20.038693-08:00","closed_at":"2025-12-08T08:23:20.038693-08:00"}
1776
1953
  {"id":"opencode-swarm-plugin-vkiq","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:57:07.791999-08:00","updated_at":"2025-12-07T19:57:07.982208-08:00","closed_at":"2025-12-07T19:57:07.982208-08:00"}
1777
1954
  {"id":"opencode-swarm-plugin-vkiq.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.82266-08:00","updated_at":"2025-12-07T19:57:07.909754-08:00","closed_at":"2025-12-07T19:57:07.909754-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-vkiq.1","depends_on_id":"opencode-swarm-plugin-vkiq","type":"parent-child","created_at":"2025-12-07T19:57:07.822947-08:00","created_by":"daemon"}]}
@@ -1784,6 +1961,7 @@
1784
1961
  {"id":"opencode-swarm-plugin-vpe.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.044865-08:00","updated_at":"2025-12-07T19:37:36.581991-08:00","closed_at":"2025-12-07T19:37:36.581991-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-vpe.2","depends_on_id":"opencode-swarm-plugin-vpe","type":"parent-child","created_at":"2025-12-07T19:37:35.045183-08:00","created_by":"daemon"}]}
1785
1962
  {"id":"opencode-swarm-plugin-vtmu3","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-10T09:08:31.455316-08:00","updated_at":"2025-12-10T09:08:35.111369-08:00","closed_at":"2025-12-10T09:08:35.111369-08:00"}
1786
1963
  {"id":"opencode-swarm-plugin-vtoh","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.383534-08:00","updated_at":"2025-12-07T19:39:31.380788-08:00","closed_at":"2025-12-07T19:39:31.380788-08:00"}
1964
+ {"id":"opencode-swarm-plugin-vtovb","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T18:16:31.203735-08:00","updated_at":"2025-12-13T18:16:34.399095-08:00","closed_at":"2025-12-13T18:16:34.399095-08:00"}
1787
1965
  {"id":"opencode-swarm-plugin-vvg","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.744475-08:00","updated_at":"2025-12-07T19:36:08.742363-08:00","closed_at":"2025-12-07T19:36:08.742363-08:00"}
1788
1966
  {"id":"opencode-swarm-plugin-vvqd","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.451235-08:00","updated_at":"2025-12-08T08:56:57.976108-08:00","closed_at":"2025-12-08T08:56:57.976108-08:00"}
1789
1967
  {"id":"opencode-swarm-plugin-vvwj","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.570734-08:00","updated_at":"2025-12-08T08:23:19.968321-08:00","closed_at":"2025-12-08T08:23:19.968321-08:00"}
@@ -1875,12 +2053,17 @@
1875
2053
  {"id":"opencode-swarm-plugin-xcavl.9","title":"Fix CI to run integration tests","description":"## Changes Made\n\nAdded integration test step to CI workflow (.github/workflows/ci.yml):\n\n**Before:**\n- Only ran unit tests (`bun run test`)\n\n**After:**\n- Runs unit tests (step: \"Run unit tests\")\n- Runs integration tests (step: \"Run integration tests\") with 10-minute timeout\n\n## Implementation Details\n\n1. **Single job approach:** Both unit and integration tests run in the same job sequentially\n2. **Timeout:** Integration tests have `timeout-minutes: 10` to prevent hanging\n3. **Fail fast:** If either test suite fails, the build fails (default behavior)\n4. **Verified:** \n - 10 integration test files exist in src/\n - `test:integration` script exists in package.json\n - Script uses vitest with proper config (vitest.integration.config.ts)\n - Tests run serially to avoid race conditions\n\n## Success Criteria Met\n- ✅ CI runs both unit and integration tests\n- ✅ Build fails if either test suite fails (continue-on-error is false by default)\n- ✅ Integration tests have reasonable timeout (10 min)\n\n## Workflow Structure\n```yaml\n- Run unit tests (bun run test)\n- Run integration tests (bun run test:integration, timeout: 10 min)\n```\n\nBoth steps must pass for CI to succeed.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T16:57:58.429642-08:00","updated_at":"2025-12-13T17:05:49.697088-08:00","closed_at":"2025-12-13T17:05:49.697088-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.9","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.430689-08:00","created_by":"daemon"}]}
1876
2054
  {"id":"opencode-swarm-plugin-xdstu","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:44.585559-08:00","updated_at":"2025-12-13T11:18:47.343607-08:00","closed_at":"2025-12-13T11:18:47.343607-08:00"}
1877
2055
  {"id":"opencode-swarm-plugin-xfs29","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:33.821533-08:00","updated_at":"2025-12-10T09:08:36.641013-08:00","closed_at":"2025-12-10T09:08:36.641013-08:00"}
2056
+ {"id":"opencode-swarm-plugin-xgtvf","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.525659-08:00","updated_at":"2025-12-13T18:18:38.467998-08:00","closed_at":"2025-12-13T18:18:38.467998-08:00"}
1878
2057
  {"id":"opencode-swarm-plugin-xid","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.617824-08:00","updated_at":"2025-12-07T19:34:54.705834-08:00","closed_at":"2025-12-07T19:34:54.705834-08:00"}
1879
2058
  {"id":"opencode-swarm-plugin-xk86","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.306947-08:00","updated_at":"2025-12-08T11:11:40.806621-08:00","closed_at":"2025-12-08T11:11:40.806621-08:00"}
1880
2059
  {"id":"opencode-swarm-plugin-xmh7","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:08.182543-08:00","updated_at":"2025-12-08T11:11:10.468898-08:00","closed_at":"2025-12-08T11:11:10.468898-08:00"}
1881
2060
  {"id":"opencode-swarm-plugin-xmkj","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.617346-08:00","updated_at":"2025-12-08T08:25:12.246871-08:00","closed_at":"2025-12-08T08:25:12.246871-08:00"}
1882
2061
  {"id":"opencode-swarm-plugin-xn742","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.216046-08:00","updated_at":"2025-12-10T09:08:35.570565-08:00","closed_at":"2025-12-10T09:08:35.570565-08:00"}
2062
+ {"id":"opencode-swarm-plugin-xo3f8","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:54.196181-08:00","updated_at":"2025-12-14T13:58:54.577673-08:00","closed_at":"2025-12-14T13:58:54.577673-08:00"}
2063
+ {"id":"opencode-swarm-plugin-xo3f8.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:54.253459-08:00","updated_at":"2025-12-14T13:58:54.439901-08:00","closed_at":"2025-12-14T13:58:54.439901-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xo3f8.1","depends_on_id":"opencode-swarm-plugin-xo3f8","type":"parent-child","created_at":"2025-12-14T13:58:54.26703-08:00","created_by":"daemon"}]}
2064
+ {"id":"opencode-swarm-plugin-xo3f8.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:54.343123-08:00","updated_at":"2025-12-14T13:58:54.526419-08:00","closed_at":"2025-12-14T13:58:54.526419-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xo3f8.2","depends_on_id":"opencode-swarm-plugin-xo3f8","type":"parent-child","created_at":"2025-12-14T13:58:54.343738-08:00","created_by":"daemon"}]}
1883
2065
  {"id":"opencode-swarm-plugin-xoki","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.488887-08:00","updated_at":"2025-12-08T08:05:33.516474-08:00","closed_at":"2025-12-08T08:05:33.516474-08:00"}
2066
+ {"id":"opencode-swarm-plugin-xp7rp","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T18:18:35.089873-08:00","updated_at":"2025-12-13T18:18:38.354925-08:00","closed_at":"2025-12-13T18:18:38.354925-08:00"}
1884
2067
  {"id":"opencode-swarm-plugin-xpau","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:56:42.988097-08:00","updated_at":"2025-12-07T19:56:44.986299-08:00","closed_at":"2025-12-07T19:56:44.986299-08:00"}
1885
2068
  {"id":"opencode-swarm-plugin-xpd","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.397472-08:00","updated_at":"2025-12-07T19:34:54.56087-08:00","closed_at":"2025-12-07T19:34:54.56087-08:00"}
1886
2069
  {"id":"opencode-swarm-plugin-xppp","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.916625-08:00","updated_at":"2025-12-08T08:36:19.337744-08:00","closed_at":"2025-12-08T08:36:19.337744-08:00"}
@@ -1896,10 +2079,12 @@
1896
2079
  {"id":"opencode-swarm-plugin-xwlda","title":"Pattern: Socratic Planner - Transform Ideas into Executable Plans","description":"## Socratic Planner Pattern (from obra/superpowers)\n\nTwo-phase workflow that transforms rough ideas into executable implementation plans:\n\n### Phase 1: Brainstorming (Socratic Refinement)\n- **One question at a time** - Never overwhelm with multiple questions\n- **Multiple choice preferred** - Easier to answer than open-ended\n- **Project context first** - Check files/docs/commits before asking\n- **2-3 alternatives with trade-offs** - Lead with recommendation + reasoning\n- **Incremental validation (200-300 words)** - Present design in digestible sections\n- **YAGNI ruthlessly** - Remove unnecessary features\n\n### Phase 2: Writing Plans (Zero-Context Execution)\n- **Bite-sized tasks (2-5 min each)** - Each step is ONE action\n- **Zero context assumption** - Write for \"junior engineer with poor taste, no judgment, no project context\"\n- **Exact file paths always** - `src/auth/login.py:45-67` not \"update the auth flow\"\n- **Complete code in plans** - Don't say \"add validation\" - show the exact code\n- **DRY, YAGNI, TDD** - Enforce in every task\n- **Frequent commits** - Every task ends with a commit\n\n### Integration\nBrainstorming → Design Doc → Git Worktree → Writing Plans → Execution (subagent-driven OR batch)\n\n### Key Insight\nThe two-phase split serves context preservation: brainstorming keeps context lean (200-300 word checkpoints), plans are context-free and reusable across agents/sessions.\n\n**Full analysis:** docs/analysis-socratic-planner-pattern.md","status":"closed","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:08.183656-08:00","updated_at":"2025-12-13T15:50:52.088177-08:00","closed_at":"2025-12-13T15:50:52.088177-08:00"}
1897
2080
  {"id":"opencode-swarm-plugin-xwz1","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:26.372159-08:00","updated_at":"2025-12-08T11:12:28.359777-08:00","closed_at":"2025-12-08T11:12:28.359777-08:00"}
1898
2081
  {"id":"opencode-swarm-plugin-xx0","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.643828-08:00","updated_at":"2025-12-07T19:36:08.701265-08:00","closed_at":"2025-12-07T19:36:08.701265-08:00"}
2082
+ {"id":"opencode-swarm-plugin-xymhv","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.811605-08:00","updated_at":"2025-12-13T18:18:39.147447-08:00","closed_at":"2025-12-13T18:18:39.147447-08:00"}
1899
2083
  {"id":"opencode-swarm-plugin-y0gg","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.967823-08:00","updated_at":"2025-12-08T11:11:10.647724-08:00","closed_at":"2025-12-08T11:11:10.647724-08:00"}
1900
2084
  {"id":"opencode-swarm-plugin-y0i","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:19.054837-08:00","updated_at":"2025-12-07T19:39:20.706972-08:00","closed_at":"2025-12-07T19:39:20.706972-08:00"}
1901
2085
  {"id":"opencode-swarm-plugin-y0i.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:19.084608-08:00","updated_at":"2025-12-07T19:39:20.729108-08:00","closed_at":"2025-12-07T19:39:20.729108-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-y0i.1","depends_on_id":"opencode-swarm-plugin-y0i","type":"parent-child","created_at":"2025-12-07T19:39:19.084903-08:00","created_by":"daemon"}]}
1902
2086
  {"id":"opencode-swarm-plugin-y0i.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-07T19:39:19.116352-08:00","updated_at":"2025-12-07T19:39:20.751727-08:00","closed_at":"2025-12-07T19:39:20.751727-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-y0i.2","depends_on_id":"opencode-swarm-plugin-y0i","type":"parent-child","created_at":"2025-12-07T19:39:19.116677-08:00","created_by":"daemon"}]}
2087
+ {"id":"opencode-swarm-plugin-y1fqh","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.438438-08:00","updated_at":"2025-12-13T18:16:34.186235-08:00","closed_at":"2025-12-13T18:16:34.186235-08:00"}
1903
2088
  {"id":"opencode-swarm-plugin-y1y9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.052657-08:00","updated_at":"2025-12-08T08:21:29.831991-08:00","closed_at":"2025-12-08T08:21:29.831991-08:00"}
1904
2089
  {"id":"opencode-swarm-plugin-y45t","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:25:09.965003-08:00","updated_at":"2025-12-08T08:25:12.410416-08:00","closed_at":"2025-12-08T08:25:12.410416-08:00"}
1905
2090
  {"id":"opencode-swarm-plugin-y5ot","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.428191-08:00","updated_at":"2025-12-08T07:53:44.454576-08:00","closed_at":"2025-12-08T07:53:44.454576-08:00"}
@@ -1918,6 +2103,7 @@
1918
2103
  {"id":"opencode-swarm-plugin-ycioz.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-10T09:06:07.77857-08:00","updated_at":"2025-12-10T09:06:10.62676-08:00","closed_at":"2025-12-10T09:06:10.62676-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ycioz.1","depends_on_id":"opencode-swarm-plugin-ycioz","type":"parent-child","created_at":"2025-12-10T09:06:07.779528-08:00","created_by":"daemon"}]}
1919
2104
  {"id":"opencode-swarm-plugin-ycmf","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.567442-08:00","updated_at":"2025-12-08T07:49:12.064719-08:00","closed_at":"2025-12-08T07:49:12.064719-08:00"}
1920
2105
  {"id":"opencode-swarm-plugin-ye1s","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.807149-08:00","updated_at":"2025-12-08T11:11:25.410867-08:00","closed_at":"2025-12-08T11:11:25.410867-08:00"}
2106
+ {"id":"opencode-swarm-plugin-ye49x","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-13T18:18:34.00161-08:00","updated_at":"2025-12-13T18:18:37.810025-08:00","closed_at":"2025-12-13T18:18:37.810025-08:00"}
1921
2107
  {"id":"opencode-swarm-plugin-ygl","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.568621-08:00","updated_at":"2025-12-07T19:39:20.574381-08:00","closed_at":"2025-12-07T19:39:20.574381-08:00"}
1922
2108
  {"id":"opencode-swarm-plugin-ygpl","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:26.265071-08:00","updated_at":"2025-12-08T11:12:26.289606-08:00","closed_at":"2025-12-08T11:12:26.289606-08:00"}
1923
2109
  {"id":"opencode-swarm-plugin-ygpma","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:38.610431-08:00","updated_at":"2025-12-13T11:16:41.177098-08:00","closed_at":"2025-12-13T11:16:41.177098-08:00"}
@@ -1925,6 +2111,10 @@
1925
2111
  {"id":"opencode-swarm-plugin-yi3ke","title":"Document warnMissingTool deduplication strategy","description":"src/tool-availability.ts:301-310 - warnMissingTool uses Set for deduplication but comment doesn't explain why. Add JSDoc: \"/** Logs warning once per tool per session. Uses Set to prevent spam when tool is checked repeatedly. */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:11.393397-08:00","updated_at":"2025-12-13T16:41:52.798405-08:00","closed_at":"2025-12-13T16:41:52.798405-08:00"}
1926
2112
  {"id":"opencode-swarm-plugin-yih","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.525069-08:00","updated_at":"2025-12-07T19:36:08.634794-08:00","closed_at":"2025-12-07T19:36:08.634794-08:00"}
1927
2113
  {"id":"opencode-swarm-plugin-yj2i","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.55214-08:00","updated_at":"2025-12-08T08:14:30.988935-08:00","closed_at":"2025-12-08T08:14:30.988935-08:00"}
2114
+ {"id":"opencode-swarm-plugin-yjexv","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.290908-08:00","updated_at":"2025-12-13T18:16:35.089159-08:00","closed_at":"2025-12-13T18:16:35.089159-08:00"}
2115
+ {"id":"opencode-swarm-plugin-ymqsl","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:52.546127-08:00","updated_at":"2025-12-14T13:58:56.03996-08:00","closed_at":"2025-12-14T13:58:56.03996-08:00"}
2116
+ {"id":"opencode-swarm-plugin-ymqsl.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T13:58:52.59933-08:00","updated_at":"2025-12-14T13:58:56.085015-08:00","closed_at":"2025-12-14T13:58:56.085015-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ymqsl.1","depends_on_id":"opencode-swarm-plugin-ymqsl","type":"parent-child","created_at":"2025-12-14T13:58:52.600056-08:00","created_by":"daemon"}]}
2117
+ {"id":"opencode-swarm-plugin-yn9e3","title":"Swarm-aware beads with durable recovery context","description":"## Problem\n\nSwarms die when context compacts. Coordinator state lives in ephemeral context - when OpenCode compacts or session ends, swarm recovery requires manual reconstruction.\n\n## Solution: Beads as Durable Swarm State\n\nExtend beads to carry swarm execution context that survives compaction:\n\n```typescript\ninterface SwarmBeadContext {\n epic_id: string;\n strategy: \"file-based\" | \"feature-based\" | \"risk-based\";\n files: string[]; // Reserved files\n dependencies: string[]; // Bead IDs this depends on\n \n // Directives for agent pickup\n directives: {\n shared_context: string; // Synthesized knowledge\n skills_to_load: string[];\n coordinator_notes: string;\n };\n \n // Recovery checkpoint\n recovery: {\n last_checkpoint: string; // ISO timestamp\n files_modified: string[];\n progress_percent: number;\n last_message: string;\n error_context?: string; // If blocked/failed\n };\n}\n```\n\n## Implementation\n\n1. **Store swarm context in PGlite** - New `swarm_beads` table linked to bead ID\n2. **Checkpoint on compaction** - Hook into OpenCode's compaction (if available) or periodic save\n3. **Recovery on session start** - `beads_ready()` returns swarm context, agent can resume\n4. **Event sourcing** - Use existing durable streams for swarm state changes\n\n## Integration Points\n\n- `beads_create_epic` - Initialize swarm context for epic + subtasks\n- `swarm_progress` - Update recovery checkpoint\n- `swarm_complete` - Finalize and archive swarm context\n- New: `swarm_recover(epic_id)` - Reconstruct coordinator state from PGlite\n\n## Benefits\n\n- Swarms survive context compaction\n- Any agent can pick up mid-flight work\n- Full audit trail via event sourcing\n- Enables \"swarm handoff\" between sessions\n\n## Related\n\n- PR #6: Durable Streams primitives (DurableCursor, DurableDeferred, etc.)\n- Kyle Mathews actor primitives analysis (bead gde33)\n- Existing swarm-mail coordination layer","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-14T09:16:47.670546-08:00","updated_at":"2025-12-14T09:42:33.092759-08:00","closed_at":"2025-12-14T09:42:33.092759-08:00"}
1928
2118
  {"id":"opencode-swarm-plugin-yo4","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:36:06.212343-08:00","updated_at":"2025-12-07T19:36:08.45342-08:00","closed_at":"2025-12-07T19:36:08.45342-08:00"}
1929
2119
  {"id":"opencode-swarm-plugin-yrcu","title":"Swarm Plugin Intelligence Upgrade","description":"Add learning and validation capabilities from cass-memory, ubs, and cass patterns: confidence decay, outcome scoring, anti-patterns, conflict detection, maturity tracking, UBS scanning, CASS history","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:37:04.64051-08:00","updated_at":"2025-12-08T07:47:04.718697-08:00","closed_at":"2025-12-08T07:47:04.718697-08:00"}
1930
2120
  {"id":"opencode-swarm-plugin-yrcu.1","title":"Add confidence decay to evaluation criteria","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:37:04.680246-08:00","updated_at":"2025-12-08T07:39:13.801147-08:00","closed_at":"2025-12-08T07:39:13.801147-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-yrcu.1","depends_on_id":"opencode-swarm-plugin-yrcu","type":"parent-child","created_at":"2025-12-08T07:37:04.680563-08:00","created_by":"daemon"}]}
@@ -1934,6 +2124,7 @@
1934
2124
  {"id":"opencode-swarm-plugin-yrcu.5","title":"Add pattern maturity tracking","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:37:04.819413-08:00","updated_at":"2025-12-08T07:44:35.925234-08:00","closed_at":"2025-12-08T07:44:35.925234-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-yrcu.5","depends_on_id":"opencode-swarm-plugin-yrcu","type":"parent-child","created_at":"2025-12-08T07:37:04.819785-08:00","created_by":"daemon"}]}
1935
2125
  {"id":"opencode-swarm-plugin-yrcu.6","title":"Add UBS pre-completion scan","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:37:04.853068-08:00","updated_at":"2025-12-08T07:45:45.058166-08:00","closed_at":"2025-12-08T07:45:45.058166-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-yrcu.6","depends_on_id":"opencode-swarm-plugin-yrcu","type":"parent-child","created_at":"2025-12-08T07:37:04.853376-08:00","created_by":"daemon"}]}
1936
2126
  {"id":"opencode-swarm-plugin-yrcu.7","title":"Add CASS history context","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:37:04.888083-08:00","updated_at":"2025-12-08T07:46:57.562984-08:00","closed_at":"2025-12-08T07:46:57.562984-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-yrcu.7","depends_on_id":"opencode-swarm-plugin-yrcu","type":"parent-child","created_at":"2025-12-08T07:37:04.888396-08:00","created_by":"daemon"}]}
2127
+ {"id":"opencode-swarm-plugin-ytgek","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.013503-08:00","updated_at":"2025-12-13T18:16:33.978373-08:00","closed_at":"2025-12-13T18:16:33.978373-08:00"}
1937
2128
  {"id":"opencode-swarm-plugin-yunl","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.033023-08:00","updated_at":"2025-12-08T11:10:55.63671-08:00","closed_at":"2025-12-08T11:10:55.63671-08:00"}
1938
2129
  {"id":"opencode-swarm-plugin-yv05j","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:34.46505-08:00","updated_at":"2025-12-10T09:08:34.576054-08:00","closed_at":"2025-12-10T09:08:34.576054-08:00"}
1939
2130
  {"id":"opencode-swarm-plugin-yvag","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:11.117366-08:00","updated_at":"2025-12-08T07:49:12.774248-08:00","closed_at":"2025-12-08T07:49:12.774248-08:00"}
@@ -1945,18 +2136,27 @@
1945
2136
  {"id":"opencode-swarm-plugin-z3j5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.156441-08:00","updated_at":"2025-12-08T11:11:40.752804-08:00","closed_at":"2025-12-08T11:11:40.752804-08:00"}
1946
2137
  {"id":"opencode-swarm-plugin-z41xe","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:35.211913-08:00","updated_at":"2025-12-13T11:16:39.567258-08:00","closed_at":"2025-12-13T11:16:39.567258-08:00"}
1947
2138
  {"id":"opencode-swarm-plugin-z4bc","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.542895-08:00","updated_at":"2025-12-08T08:25:12.189207-08:00","closed_at":"2025-12-08T08:25:12.189207-08:00"}
2139
+ {"id":"opencode-swarm-plugin-z4bmf","title":"Swarm-aware beads with durable recovery context","description":"Extend beads to carry swarm execution context that survives context compaction. When OpenCode compacts or session ends, swarms can recover coordinator state from durable storage.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:42:27.61346-08:00","updated_at":"2025-12-14T09:47:48.901952-08:00","closed_at":"2025-12-14T09:47:48.901952-08:00"}
2140
+ {"id":"opencode-swarm-plugin-z4bmf.1","title":"Schema and migration for swarm_contexts table","description":"Completed: Added migration v4 for swarm_contexts table and SwarmBeadContext Zod schemas. Migration follows existing patterns (v1-v3) with proper indexes. Schemas exported from index.ts. All type checks passing.","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T09:42:27.668076-08:00","updated_at":"2025-12-14T09:47:41.858044-08:00","closed_at":"2025-12-14T09:47:41.858044-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-z4bmf.1","depends_on_id":"opencode-swarm-plugin-z4bmf","type":"parent-child","created_at":"2025-12-14T09:42:27.668846-08:00","created_by":"daemon"}]}
2141
+ {"id":"opencode-swarm-plugin-z4bmf.2","title":"Event types for swarm checkpoint and recovery","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:42:27.721299-08:00","updated_at":"2025-12-14T09:47:42.496735-08:00","closed_at":"2025-12-14T09:47:42.496735-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-z4bmf.2","depends_on_id":"opencode-swarm-plugin-z4bmf","type":"parent-child","created_at":"2025-12-14T09:42:27.722112-08:00","created_by":"daemon"}]}
2142
+ {"id":"opencode-swarm-plugin-z4bmf.3","title":"swarm_checkpoint and swarm_recover tools","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:42:27.770156-08:00","updated_at":"2025-12-14T09:47:43.212016-08:00","closed_at":"2025-12-14T09:47:43.212016-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-z4bmf.3","depends_on_id":"opencode-swarm-plugin-z4bmf","type":"parent-child","created_at":"2025-12-14T09:42:27.770839-08:00","created_by":"daemon"}]}
2143
+ {"id":"opencode-swarm-plugin-z4bmf.4","title":"Beads and prompts integration for recovery context","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:42:27.818298-08:00","updated_at":"2025-12-14T09:47:43.854612-08:00","closed_at":"2025-12-14T09:47:43.854612-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-z4bmf.4","depends_on_id":"opencode-swarm-plugin-z4bmf","type":"parent-child","created_at":"2025-12-14T09:42:27.819819-08:00","created_by":"daemon"}]}
1948
2144
  {"id":"opencode-swarm-plugin-z7bu","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.356112-08:00","updated_at":"2025-12-08T08:14:30.865474-08:00","closed_at":"2025-12-08T08:14:30.865474-08:00"}
2145
+ {"id":"opencode-swarm-plugin-z80p3","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:21.177482-08:00","updated_at":"2025-12-14T09:30:24.302585-08:00","closed_at":"2025-12-14T09:30:24.302585-08:00"}
1949
2146
  {"id":"opencode-swarm-plugin-z8rkb","title":"Add validation for SpawnedAgent.agent_name format","description":"src/schemas/task.ts:81 - `agent_name` is plain string but Agent Mail uses specific format (e.g., \"BlueLake\"). Add regex validation or comment: \"/** Agent Mail name (e.g., 'BlueLake', 'CrimsonRiver') */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:30.499386-08:00","updated_at":"2025-12-13T16:45:50.112928-08:00","closed_at":"2025-12-13T16:45:50.112928-08:00"}
1950
2147
  {"id":"opencode-swarm-plugin-z8td","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.11505-08:00","updated_at":"2025-12-08T08:22:19.411331-08:00","closed_at":"2025-12-08T08:22:19.411331-08:00"}
1951
2148
  {"id":"opencode-swarm-plugin-z9yl","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:28.946829-08:00","updated_at":"2025-12-08T08:21:30.752391-08:00","closed_at":"2025-12-08T08:21:30.752391-08:00"}
1952
2149
  {"id":"opencode-swarm-plugin-zasi","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.739509-08:00","updated_at":"2025-12-08T08:14:31.090283-08:00","closed_at":"2025-12-08T08:14:31.090283-08:00"}
2150
+ {"id":"opencode-swarm-plugin-zbbjj","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.688484-08:00","updated_at":"2025-12-13T18:18:38.210915-08:00","closed_at":"2025-12-13T18:18:38.210915-08:00"}
1953
2151
  {"id":"opencode-swarm-plugin-zd49","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.637086-08:00","updated_at":"2025-12-07T19:39:29.661321-08:00","closed_at":"2025-12-07T19:39:29.661321-08:00"}
1954
2152
  {"id":"opencode-swarm-plugin-zdaf4","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:47.060691-08:00","updated_at":"2025-12-13T11:20:51.444037-08:00","closed_at":"2025-12-13T11:20:51.444037-08:00"}
1955
2153
  {"id":"opencode-swarm-plugin-zfmmy","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.046223-08:00","updated_at":"2025-12-08T11:12:58.320343-08:00","closed_at":"2025-12-08T11:12:58.320343-08:00"}
2154
+ {"id":"opencode-swarm-plugin-zhpak","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:21.634003-08:00","updated_at":"2025-12-14T09:30:24.399155-08:00","closed_at":"2025-12-14T09:30:24.399155-08:00"}
1956
2155
  {"id":"opencode-swarm-plugin-zhs6","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.030431-08:00","updated_at":"2025-12-08T11:11:25.512594-08:00","closed_at":"2025-12-08T11:11:25.512594-08:00"}
1957
2156
  {"id":"opencode-swarm-plugin-zi40","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.602461-08:00","updated_at":"2025-12-07T19:57:08.530817-08:00","closed_at":"2025-12-07T19:57:08.530817-08:00"}
1958
2157
  {"id":"opencode-swarm-plugin-zi7n","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:36:16.30257-08:00","updated_at":"2025-12-08T08:36:19.014772-08:00","closed_at":"2025-12-08T08:36:19.014772-08:00"}
1959
2158
  {"id":"opencode-swarm-plugin-zj6j9","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.222284-08:00","updated_at":"2025-12-08T11:12:58.884345-08:00","closed_at":"2025-12-08T11:12:58.884345-08:00"}
2159
+ {"id":"opencode-swarm-plugin-zjhns","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.912506-08:00","updated_at":"2025-12-14T13:58:55.331109-08:00","closed_at":"2025-12-14T13:58:55.331109-08:00"}
1960
2160
  {"id":"opencode-swarm-plugin-zjku","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.199507-08:00","updated_at":"2025-12-08T08:14:31.307698-08:00","closed_at":"2025-12-08T08:14:31.307698-08:00"}
1961
2161
  {"id":"opencode-swarm-plugin-zmzuw","title":"Gap: N+1 query in handleMessageSent","description":"src/streams/store.ts:360-395 - handleMessageSent() loops through recipients and inserts one-by-one with separate queries. For messages with many recipients, this is N+1 pattern. Should use bulk INSERT with VALUES (...), (...), (...) or INSERT ... SELECT. Similar issue in handleFileReserved (lines 398-416) which loops through paths.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:14.000433-08:00","updated_at":"2025-12-13T16:06:33.70323-08:00","closed_at":"2025-12-13T16:06:33.70323-08:00"}
1962
2162
  {"id":"opencode-swarm-plugin-zn4of","title":"Review skill-builder PR branch","description":"Analyze skill-builder PR branch for errors, omissions, improvements, oversights, gaps, and ideas. READ-ONLY code review - no modifications.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-12T21:05:18.645731-08:00","updated_at":"2025-12-12T21:17:59.05899-08:00","closed_at":"2025-12-12T21:17:59.05899-08:00"}
@@ -1970,9 +2170,11 @@
1970
2170
  {"id":"opencode-swarm-plugin-zp1h","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:10:25.748023-08:00","updated_at":"2025-12-08T11:10:27.732005-08:00","closed_at":"2025-12-08T11:10:27.732005-08:00"}
1971
2171
  {"id":"opencode-swarm-plugin-zp9","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:08.055038-08:00","updated_at":"2025-12-07T19:36:08.128158-08:00","closed_at":"2025-12-07T19:36:08.128158-08:00"}
1972
2172
  {"id":"opencode-swarm-plugin-zrof","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:10.22112-08:00","updated_at":"2025-12-08T11:11:10.295789-08:00","closed_at":"2025-12-08T11:11:10.295789-08:00"}
2173
+ {"id":"opencode-swarm-plugin-zt3re","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T18:16:30.532077-08:00","updated_at":"2025-12-13T18:16:34.234428-08:00","closed_at":"2025-12-13T18:16:34.234428-08:00"}
1973
2174
  {"id":"opencode-swarm-plugin-ztg7","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:10:53.675624-08:00","updated_at":"2025-12-08T11:10:55.958409-08:00","closed_at":"2025-12-08T11:10:55.958409-08:00"}
1974
2175
  {"id":"opencode-swarm-plugin-zw3b","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T07:49:09.23617-08:00","updated_at":"2025-12-08T07:49:11.88343-08:00","closed_at":"2025-12-08T07:49:11.88343-08:00"}
1975
2176
  {"id":"opencode-swarm-plugin-zwgf","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:11:08.122483-08:00","updated_at":"2025-12-08T11:11:10.443356-08:00","closed_at":"2025-12-08T11:11:10.443356-08:00"}
2177
+ {"id":"opencode-swarm-plugin-zwng0","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T18:18:34.096277-08:00","updated_at":"2025-12-13T18:18:37.883439-08:00","closed_at":"2025-12-13T18:18:37.883439-08:00"}
1976
2178
  {"id":"opencode-swarm-plugin-zx8r","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.681528-08:00","updated_at":"2025-12-08T11:12:28.06447-08:00","closed_at":"2025-12-08T11:12:28.06447-08:00"}
1977
2179
  {"id":"opencode-swarm-plugin-zxbnz","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:31.413371-08:00","updated_at":"2025-12-10T09:08:35.075122-08:00","closed_at":"2025-12-10T09:08:35.075122-08:00"}
1978
2180
  {"id":"opencode-swarm-plugin-zxic","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.336447-08:00","updated_at":"2025-12-08T09:09:33.91114-08:00","closed_at":"2025-12-08T09:09:33.91114-08:00"}