opencode-swarm-plugin 0.10.0 → 0.11.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.
@@ -6,10 +6,15 @@
6
6
  {"id":"opencode-swarm-plugin-044p.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.520507-08:00","updated_at":"2025-12-08T11:10:56.339784-08:00","closed_at":"2025-12-08T11:10:56.339784-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-044p.2","depends_on_id":"opencode-swarm-plugin-044p","type":"parent-child","created_at":"2025-12-08T11:10:54.520862-08:00","created_by":"daemon"}]}
7
7
  {"id":"opencode-swarm-plugin-044p.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.554603-08:00","updated_at":"2025-12-08T11:10:56.365658-08:00","closed_at":"2025-12-08T11:10:56.365658-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-044p.3","depends_on_id":"opencode-swarm-plugin-044p","type":"parent-child","created_at":"2025-12-08T11:10:54.55496-08:00","created_by":"daemon"}]}
8
8
  {"id":"opencode-swarm-plugin-044p.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.58671-08:00","updated_at":"2025-12-08T11:10:56.390567-08:00","closed_at":"2025-12-08T11:10:56.390567-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-044p.4","depends_on_id":"opencode-swarm-plugin-044p","type":"parent-child","created_at":"2025-12-08T11:10:54.587031-08:00","created_by":"daemon"}]}
9
+ {"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"}
9
10
  {"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"}
10
11
  {"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"}
11
12
  {"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"}
12
13
  {"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"}
14
+ {"id":"opencode-swarm-plugin-0bodc","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:23.682038-08:00","updated_at":"2025-12-09T10:00:26.189078-08:00","closed_at":"2025-12-09T10:00:26.189078-08:00"}
15
+ {"id":"opencode-swarm-plugin-0bodc.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.726612-08:00","updated_at":"2025-12-09T10:00:26.219506-08:00","closed_at":"2025-12-09T10:00:26.219506-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.1","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.72705-08:00","created_by":"daemon"}]}
16
+ {"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"}]}
17
+ {"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"}]}
13
18
  {"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"}
14
19
  {"id":"opencode-swarm-plugin-0jxx","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.923763-08:00","updated_at":"2025-12-08T08:22:19.339586-08:00","closed_at":"2025-12-08T08:22:19.339586-08:00"}
15
20
  {"id":"opencode-swarm-plugin-0kb2","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:23:18.591779-08:00","updated_at":"2025-12-08T08:23:20.415392-08:00","closed_at":"2025-12-08T08:23:20.415392-08:00"}
@@ -30,6 +35,8 @@
30
35
  {"id":"opencode-swarm-plugin-0t77w.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:42.476141-08:00","updated_at":"2025-12-08T11:12:44.267359-08:00","closed_at":"2025-12-08T11:12:44.267359-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0t77w.3","depends_on_id":"opencode-swarm-plugin-0t77w","type":"parent-child","created_at":"2025-12-08T11:12:42.476485-08:00","created_by":"daemon"}]}
31
36
  {"id":"opencode-swarm-plugin-0t77w.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:42.510238-08:00","updated_at":"2025-12-08T11:12:44.291151-08:00","closed_at":"2025-12-08T11:12:44.291151-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0t77w.4","depends_on_id":"opencode-swarm-plugin-0t77w","type":"parent-child","created_at":"2025-12-08T11:12:42.510555-08:00","created_by":"daemon"}]}
32
37
  {"id":"opencode-swarm-plugin-0tgw","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.149976-08:00","updated_at":"2025-12-08T08:25:10.1787-08:00","closed_at":"2025-12-08T08:25:10.1787-08:00"}
38
+ {"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"}
39
+ {"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"}]}
33
40
  {"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"}
34
41
  {"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"}
35
42
  {"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"}
@@ -94,6 +101,7 @@
94
101
  {"id":"opencode-swarm-plugin-2dgp","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.972688-08:00","updated_at":"2025-12-08T11:12:28.230821-08:00","closed_at":"2025-12-08T11:12:28.230821-08:00"}
95
102
  {"id":"opencode-swarm-plugin-2e5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.695902-08:00","updated_at":"2025-12-07T19:39:11.80833-08:00","closed_at":"2025-12-07T19:39:11.80833-08:00"}
96
103
  {"id":"opencode-swarm-plugin-2en2","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.538491-08:00","updated_at":"2025-12-08T08:36:19.141453-08:00","closed_at":"2025-12-08T08:36:19.141453-08:00"}
104
+ {"id":"opencode-swarm-plugin-2es9k","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-09T10:00:23.038522-08:00","updated_at":"2025-12-09T10:00:26.018021-08:00","closed_at":"2025-12-09T10:00:26.018021-08:00"}
97
105
  {"id":"opencode-swarm-plugin-2euk","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.431394-08:00","updated_at":"2025-12-08T11:11:40.884465-08:00","closed_at":"2025-12-08T11:11:40.884465-08:00"}
98
106
  {"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"}
99
107
  {"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"}
@@ -131,6 +139,7 @@
131
139
  {"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"}]}
132
140
  {"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"}
133
141
  {"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"}
142
+ {"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"}
134
143
  {"id":"opencode-swarm-plugin-3aip","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.475806-08:00","updated_at":"2025-12-08T11:11:10.963225-08:00","closed_at":"2025-12-08T11:11:10.963225-08:00"}
135
144
  {"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"}
136
145
  {"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"}
@@ -236,6 +245,7 @@
236
245
  {"id":"opencode-swarm-plugin-5clp.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.794972-08:00","updated_at":"2025-12-07T19:56:45.385226-08:00","closed_at":"2025-12-07T19:56:45.385226-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5clp.3","depends_on_id":"opencode-swarm-plugin-5clp","type":"parent-child","created_at":"2025-12-07T19:56:43.795274-08:00","created_by":"daemon"}]}
237
246
  {"id":"opencode-swarm-plugin-5clp.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.823681-08:00","updated_at":"2025-12-07T19:56:45.409007-08:00","closed_at":"2025-12-07T19:56:45.409007-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5clp.4","depends_on_id":"opencode-swarm-plugin-5clp","type":"parent-child","created_at":"2025-12-07T19:56:43.823995-08:00","created_by":"daemon"}]}
238
247
  {"id":"opencode-swarm-plugin-5fbe","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:21:28.099537-08:00","updated_at":"2025-12-08T08:21:30.260533-08:00","closed_at":"2025-12-08T08:21:30.260533-08:00"}
248
+ {"id":"opencode-swarm-plugin-5j0dj","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-09T10:00:23.568472-08:00","updated_at":"2025-12-09T10:00:26.155879-08:00","closed_at":"2025-12-09T10:00:26.155879-08:00"}
239
249
  {"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"}
240
250
  {"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"}
241
251
  {"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"}
@@ -255,6 +265,7 @@
255
265
  {"id":"opencode-swarm-plugin-5s1ar.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T11:12:42.110834-08:00","updated_at":"2025-12-08T11:12:44.034215-08:00","closed_at":"2025-12-08T11:12:44.034215-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5s1ar.2","depends_on_id":"opencode-swarm-plugin-5s1ar","type":"parent-child","created_at":"2025-12-08T11:12:42.111139-08:00","created_by":"daemon"}]}
256
266
  {"id":"opencode-swarm-plugin-5s1ar.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:42.14615-08:00","updated_at":"2025-12-08T11:12:44.058059-08:00","closed_at":"2025-12-08T11:12:44.058059-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5s1ar.3","depends_on_id":"opencode-swarm-plugin-5s1ar","type":"parent-child","created_at":"2025-12-08T11:12:42.146502-08:00","created_by":"daemon"}]}
257
267
  {"id":"opencode-swarm-plugin-5sm","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.233019-08:00","updated_at":"2025-12-07T19:39:10.257081-08:00","closed_at":"2025-12-07T19:39:10.257081-08:00"}
268
+ {"id":"opencode-swarm-plugin-5t4k0","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.667287-08:00","updated_at":"2025-12-09T10:00:25.879488-08:00","closed_at":"2025-12-09T10:00:25.879488-08:00"}
258
269
  {"id":"opencode-swarm-plugin-5tio","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:38.963071-08:00","updated_at":"2025-12-08T08:11:41.63682-08:00","closed_at":"2025-12-08T08:11:41.63682-08:00"}
259
270
  {"id":"opencode-swarm-plugin-5tk","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:10.779775-08:00","updated_at":"2025-12-07T19:39:12.330046-08:00","closed_at":"2025-12-07T19:39:12.330046-08:00"}
260
271
  {"id":"opencode-swarm-plugin-5tk.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.809874-08:00","updated_at":"2025-12-07T19:39:12.353042-08:00","closed_at":"2025-12-07T19:39:12.353042-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5tk.1","depends_on_id":"opencode-swarm-plugin-5tk","type":"parent-child","created_at":"2025-12-07T19:39:10.810153-08:00","created_by":"daemon"}]}
@@ -323,6 +334,7 @@
323
334
  {"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"}
324
335
  {"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"}
325
336
  {"id":"opencode-swarm-plugin-7fog","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:57.247738-08:00","updated_at":"2025-12-08T08:56:58.803615-08:00","closed_at":"2025-12-08T08:56:58.803615-08:00"}
337
+ {"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"}
326
338
  {"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"}
327
339
  {"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"}
328
340
  {"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"}
@@ -393,6 +405,7 @@
393
405
  {"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"}
394
406
  {"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"}
395
407
  {"id":"opencode-swarm-plugin-8td","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:10.72267-08:00","updated_at":"2025-12-07T19:39:12.284908-08:00","closed_at":"2025-12-07T19:39:12.284908-08:00"}
408
+ {"id":"opencode-swarm-plugin-8thxw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.786941-08:00","updated_at":"2025-12-09T10:00:25.916352-08:00","closed_at":"2025-12-09T10:00:25.916352-08:00"}
396
409
  {"id":"opencode-swarm-plugin-8tzk","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:11:23.483585-08:00","updated_at":"2025-12-08T11:11:25.807512-08:00","closed_at":"2025-12-08T11:11:25.807512-08:00"}
397
410
  {"id":"opencode-swarm-plugin-8u3","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:54.094622-08:00","updated_at":"2025-12-07T19:34:54.159994-08:00","closed_at":"2025-12-07T19:34:54.159994-08:00"}
398
411
  {"id":"opencode-swarm-plugin-8um","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.553979-08:00","updated_at":"2025-12-07T19:36:08.658993-08:00","closed_at":"2025-12-07T19:36:08.658993-08:00"}
@@ -414,6 +427,7 @@
414
427
  {"id":"opencode-swarm-plugin-9c6","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-07T19:34:52.310497-08:00","updated_at":"2025-12-07T19:34:54.508737-08:00","closed_at":"2025-12-07T19:34:54.508737-08:00"}
415
428
  {"id":"opencode-swarm-plugin-9csf","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.347968-08:00","updated_at":"2025-12-08T08:11:41.877049-08:00","closed_at":"2025-12-08T08:11:41.877049-08:00"}
416
429
  {"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"}
430
+ {"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"}
417
431
  {"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"}
418
432
  {"id":"opencode-swarm-plugin-9gks.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:41.227583-08:00","updated_at":"2025-12-08T08:11:41.313181-08:00","closed_at":"2025-12-08T08:11:41.313181-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9gks.1","depends_on_id":"opencode-swarm-plugin-9gks","type":"parent-child","created_at":"2025-12-08T08:11:41.227892-08:00","created_by":"daemon"}]}
419
433
  {"id":"opencode-swarm-plugin-9gks.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:41.260544-08:00","updated_at":"2025-12-08T08:11:41.363657-08:00","closed_at":"2025-12-08T08:11:41.363657-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9gks.2","depends_on_id":"opencode-swarm-plugin-9gks","type":"parent-child","created_at":"2025-12-08T08:11:41.260862-08:00","created_by":"daemon"}]}
@@ -429,6 +443,7 @@
429
443
  {"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"}]}
430
444
  {"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"}]}
431
445
  {"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"}
446
+ {"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"}
432
447
  {"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"}
433
448
  {"id":"opencode-swarm-plugin-9mjt","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:56:44.363301-08:00","updated_at":"2025-12-07T19:56:44.53648-08:00","closed_at":"2025-12-07T19:56:44.53648-08:00"}
434
449
  {"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"}]}
@@ -490,6 +505,7 @@
490
505
  {"id":"opencode-swarm-plugin-bhkr","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:52.818993-08:00","updated_at":"2025-12-08T11:10:55.506981-08:00","closed_at":"2025-12-08T11:10:55.506981-08:00"}
491
506
  {"id":"opencode-swarm-plugin-bhou","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T09:09:30.49932-08:00","updated_at":"2025-12-08T09:09:33.037008-08:00","closed_at":"2025-12-08T09:09:33.037008-08:00"}
492
507
  {"id":"opencode-swarm-plugin-bil","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.72472-08:00","updated_at":"2025-12-07T19:39:20.642494-08:00","closed_at":"2025-12-07T19:39:20.642494-08:00"}
508
+ {"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"}
493
509
  {"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"}
494
510
  {"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"}
495
511
  {"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"}
@@ -605,6 +621,7 @@
605
621
  {"id":"opencode-swarm-plugin-dxd.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.648233-08:00","updated_at":"2025-12-07T19:34:55.226478-08:00","closed_at":"2025-12-07T19:34:55.226478-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-dxd.3","depends_on_id":"opencode-swarm-plugin-dxd","type":"parent-child","created_at":"2025-12-07T19:34:53.648515-08:00","created_by":"daemon"}]}
606
622
  {"id":"opencode-swarm-plugin-dxd.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.676335-08:00","updated_at":"2025-12-07T19:34:55.249574-08:00","closed_at":"2025-12-07T19:34:55.249574-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-dxd.4","depends_on_id":"opencode-swarm-plugin-dxd","type":"parent-child","created_at":"2025-12-07T19:34:53.676601-08:00","created_by":"daemon"}]}
607
623
  {"id":"opencode-swarm-plugin-e1fi","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.265711-08:00","updated_at":"2025-12-07T19:41:13.598483-08:00","closed_at":"2025-12-07T19:41:13.598483-08:00"}
624
+ {"id":"opencode-swarm-plugin-e23mw","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.482256-08:00","updated_at":"2025-12-09T10:00:25.741691-08:00","closed_at":"2025-12-09T10:00:25.741691-08:00"}
608
625
  {"id":"opencode-swarm-plugin-e3df","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:56:57.486088-08:00","updated_at":"2025-12-08T08:56:57.688826-08:00","closed_at":"2025-12-08T08:56:57.688826-08:00"}
609
626
  {"id":"opencode-swarm-plugin-e3df.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:57.520387-08:00","updated_at":"2025-12-08T08:56:57.614232-08:00","closed_at":"2025-12-08T08:56:57.614232-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-e3df.1","depends_on_id":"opencode-swarm-plugin-e3df","type":"parent-child","created_at":"2025-12-08T08:56:57.521758-08:00","created_by":"daemon"}]}
610
627
  {"id":"opencode-swarm-plugin-e3df.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:57.562037-08:00","updated_at":"2025-12-08T08:56:57.663478-08:00","closed_at":"2025-12-08T08:56:57.663478-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-e3df.2","depends_on_id":"opencode-swarm-plugin-e3df","type":"parent-child","created_at":"2025-12-08T08:56:57.562353-08:00","created_by":"daemon"}]}
@@ -650,11 +667,13 @@
650
667
  {"id":"opencode-swarm-plugin-fbwv","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:40.231566-08:00","updated_at":"2025-12-08T11:11:40.305595-08:00","closed_at":"2025-12-08T11:11:40.305595-08:00"}
651
668
  {"id":"opencode-swarm-plugin-fccf","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.363067-08:00","updated_at":"2025-12-08T08:25:12.106967-08:00","closed_at":"2025-12-08T08:25:12.106967-08:00"}
652
669
  {"id":"opencode-swarm-plugin-fda2","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.014177-08:00","updated_at":"2025-12-08T11:10:27.471037-08:00","closed_at":"2025-12-08T11:10:27.471037-08:00"}
670
+ {"id":"opencode-swarm-plugin-fdqcb","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.274956-08:00","updated_at":"2025-12-09T10:00:23.305265-08:00","closed_at":"2025-12-09T10:00:23.305265-08:00"}
653
671
  {"id":"opencode-swarm-plugin-fdqh","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.462721-08:00","updated_at":"2025-12-08T11:12:27.952505-08:00","closed_at":"2025-12-08T11:12:27.952505-08:00"}
654
672
  {"id":"opencode-swarm-plugin-feuk","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:10:26.086022-08:00","updated_at":"2025-12-08T11:10:27.965011-08:00","closed_at":"2025-12-08T11:10:27.965011-08:00"}
655
673
  {"id":"opencode-swarm-plugin-fg1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.047465-08:00","updated_at":"2025-12-07T19:37:36.139721-08:00","closed_at":"2025-12-07T19:37:36.139721-08:00"}
656
674
  {"id":"opencode-swarm-plugin-fg2","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.409209-08:00","updated_at":"2025-12-07T19:39:11.655882-08:00","closed_at":"2025-12-07T19:39:11.655882-08:00"}
657
675
  {"id":"opencode-swarm-plugin-fh9","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-07T19:39:18.036521-08:00","updated_at":"2025-12-07T19:39:20.302739-08:00","closed_at":"2025-12-07T19:39:20.302739-08:00"}
676
+ {"id":"opencode-swarm-plugin-fm3r6","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.000563-08:00","updated_at":"2025-12-09T10:00:25.469262-08:00","closed_at":"2025-12-09T10:00:25.469262-08:00"}
658
677
  {"id":"opencode-swarm-plugin-fmkz8","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:43.15846-08:00","updated_at":"2025-12-08T11:12:43.368908-08:00","closed_at":"2025-12-08T11:12:43.368908-08:00"}
659
678
  {"id":"opencode-swarm-plugin-fmkz8.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:43.192563-08:00","updated_at":"2025-12-08T11:12:43.285206-08:00","closed_at":"2025-12-08T11:12:43.285206-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fmkz8.1","depends_on_id":"opencode-swarm-plugin-fmkz8","type":"parent-child","created_at":"2025-12-08T11:12:43.192901-08:00","created_by":"daemon"}]}
660
679
  {"id":"opencode-swarm-plugin-fmkz8.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:43.229469-08:00","updated_at":"2025-12-08T11:12:43.340511-08:00","closed_at":"2025-12-08T11:12:43.340511-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fmkz8.2","depends_on_id":"opencode-swarm-plugin-fmkz8","type":"parent-child","created_at":"2025-12-08T11:12:43.229808-08:00","created_by":"daemon"}]}
@@ -683,6 +702,7 @@
683
702
  {"id":"opencode-swarm-plugin-g1ew","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:36:17.759116-08:00","updated_at":"2025-12-08T08:36:19.615871-08:00","closed_at":"2025-12-08T08:36:19.615871-08:00"}
684
703
  {"id":"opencode-swarm-plugin-g1ew.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:17.840961-08:00","updated_at":"2025-12-08T08:36:19.680324-08:00","closed_at":"2025-12-08T08:36:19.680324-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g1ew.2","depends_on_id":"opencode-swarm-plugin-g1ew","type":"parent-child","created_at":"2025-12-08T08:36:17.84128-08:00","created_by":"daemon"}]}
685
704
  {"id":"opencode-swarm-plugin-g3uu","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.47499-08:00","updated_at":"2025-12-08T09:09:33.449119-08:00","closed_at":"2025-12-08T09:09:33.449119-08:00"}
705
+ {"id":"opencode-swarm-plugin-g3wth","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-09T10:00:22.044647-08:00","updated_at":"2025-12-09T10:00:25.502832-08:00","closed_at":"2025-12-09T10:00:25.502832-08:00"}
686
706
  {"id":"opencode-swarm-plugin-g63rn","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:56.584599-08:00","updated_at":"2025-12-08T11:12:58.474985-08:00","closed_at":"2025-12-08T11:12:58.474985-08:00"}
687
707
  {"id":"opencode-swarm-plugin-g63rn.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.615586-08:00","updated_at":"2025-12-08T11:12:58.499924-08:00","closed_at":"2025-12-08T11:12:58.499924-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g63rn.1","depends_on_id":"opencode-swarm-plugin-g63rn","type":"parent-child","created_at":"2025-12-08T11:12:56.615912-08:00","created_by":"daemon"}]}
688
708
  {"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"}]}
@@ -743,6 +763,7 @@
743
763
  {"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"}
744
764
  {"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"}
745
765
  {"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"}
766
+ {"id":"opencode-swarm-plugin-ht2eb","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-09T10:00:24.61169-08:00","updated_at":"2025-12-09T10:00:26.72117-08:00","closed_at":"2025-12-09T10:00:26.72117-08:00"}
746
767
  {"id":"opencode-swarm-plugin-hu1y","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.468927-08:00","updated_at":"2025-12-08T07:46:52.420696-08:00","closed_at":"2025-12-08T07:46:52.420696-08:00"}
747
768
  {"id":"opencode-swarm-plugin-hu8n","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:12:25.401784-08:00","updated_at":"2025-12-08T11:12:27.893642-08:00","closed_at":"2025-12-08T11:12:27.893642-08:00"}
748
769
  {"id":"opencode-swarm-plugin-hvgh","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:12:25.369967-08:00","updated_at":"2025-12-08T11:12:27.863957-08:00","closed_at":"2025-12-08T11:12:27.863957-08:00"}
@@ -877,6 +898,7 @@
877
898
  {"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"}]}
878
899
  {"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"}]}
879
900
  {"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"}
901
+ {"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"}
880
902
  {"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"}
881
903
  {"id":"opencode-swarm-plugin-lnlv","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:21:28.524305-08:00","updated_at":"2025-12-08T08:21:30.551746-08:00","closed_at":"2025-12-08T08:21:30.551746-08:00"}
882
904
  {"id":"opencode-swarm-plugin-lnlv.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:28.559944-08:00","updated_at":"2025-12-08T08:21:30.580498-08:00","closed_at":"2025-12-08T08:21:30.580498-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-lnlv.1","depends_on_id":"opencode-swarm-plugin-lnlv","type":"parent-child","created_at":"2025-12-08T08:21:28.560254-08:00","created_by":"daemon"}]}
@@ -976,8 +998,12 @@
976
998
  {"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"}
977
999
  {"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"}
978
1000
  {"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"}
1001
+ {"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"}
1002
+ {"id":"opencode-swarm-plugin-nysq9.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:25.140236-08:00","updated_at":"2025-12-09T10:00:25.244881-08:00","closed_at":"2025-12-09T10:00:25.244881-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-nysq9.1","depends_on_id":"opencode-swarm-plugin-nysq9","type":"parent-child","created_at":"2025-12-09T10:00:25.14061-08:00","created_by":"daemon"}]}
1003
+ {"id":"opencode-swarm-plugin-nysq9.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:25.183169-08:00","updated_at":"2025-12-09T10:00:25.304369-08:00","closed_at":"2025-12-09T10:00:25.304369-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-nysq9.2","depends_on_id":"opencode-swarm-plugin-nysq9","type":"parent-child","created_at":"2025-12-09T10:00:25.183493-08:00","created_by":"daemon"}]}
979
1004
  {"id":"opencode-swarm-plugin-o0dr","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.499295-08:00","updated_at":"2025-12-08T07:49:12.014253-08:00","closed_at":"2025-12-08T07:49:12.014253-08:00"}
980
1005
  {"id":"opencode-swarm-plugin-o10","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:19.483574-08:00","updated_at":"2025-12-07T19:39:21.021668-08:00","closed_at":"2025-12-07T19:39:21.021668-08:00"}
1006
+ {"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"}
981
1007
  {"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"}
982
1008
  {"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"}
983
1009
  {"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"}
@@ -997,6 +1023,7 @@
997
1023
  {"id":"opencode-swarm-plugin-of2b","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:22:17.681082-08:00","updated_at":"2025-12-08T08:22:19.565292-08:00","closed_at":"2025-12-08T08:22:19.565292-08:00"}
998
1024
  {"id":"opencode-swarm-plugin-of2b.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.713562-08:00","updated_at":"2025-12-08T08:22:19.589501-08:00","closed_at":"2025-12-08T08:22:19.589501-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-of2b.1","depends_on_id":"opencode-swarm-plugin-of2b","type":"parent-child","created_at":"2025-12-08T08:22:17.713882-08:00","created_by":"daemon"}]}
999
1025
  {"id":"opencode-swarm-plugin-of2b.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:22:17.748705-08:00","updated_at":"2025-12-08T08:22:19.614951-08:00","closed_at":"2025-12-08T08:22:19.614951-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-of2b.2","depends_on_id":"opencode-swarm-plugin-of2b","type":"parent-child","created_at":"2025-12-08T08:22:17.74916-08:00","created_by":"daemon"}]}
1026
+ {"id":"opencode-swarm-plugin-ogvhk","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.316842-08:00","updated_at":"2025-12-09T10:00:26.650386-08:00","closed_at":"2025-12-09T10:00:26.650386-08:00"}
1000
1027
  {"id":"opencode-swarm-plugin-oiay","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:39.900004-08:00","updated_at":"2025-12-08T11:11:41.716621-08:00","closed_at":"2025-12-08T11:11:41.716621-08:00"}
1001
1028
  {"id":"opencode-swarm-plugin-okoq","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:10:24.650895-08:00","updated_at":"2025-12-08T11:10:27.261778-08:00","closed_at":"2025-12-08T11:10:27.261778-08:00"}
1002
1029
  {"id":"opencode-swarm-plugin-olit","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.692207-08:00","updated_at":"2025-12-08T11:11:11.041521-08:00","closed_at":"2025-12-08T11:11:11.041521-08:00"}
@@ -1006,9 +1033,15 @@
1006
1033
  {"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"}
1007
1034
  {"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"}
1008
1035
  {"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"}
1036
+ {"id":"opencode-swarm-plugin-oydms","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.435657-08:00","updated_at":"2025-12-09T10:00:25.70816-08:00","closed_at":"2025-12-09T10:00:25.70816-08:00"}
1009
1037
  {"id":"opencode-swarm-plugin-ozht","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:24.258405-08:00","updated_at":"2025-12-08T11:11:26.043528-08:00","closed_at":"2025-12-08T11:11:26.043528-08:00"}
1010
1038
  {"id":"opencode-swarm-plugin-ozht.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:24.29561-08:00","updated_at":"2025-12-08T11:11:26.069944-08:00","closed_at":"2025-12-08T11:11:26.069944-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ozht.1","depends_on_id":"opencode-swarm-plugin-ozht","type":"parent-child","created_at":"2025-12-08T11:11:24.295964-08:00","created_by":"daemon"}]}
1011
1039
  {"id":"opencode-swarm-plugin-p1l1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.092797-08:00","updated_at":"2025-12-08T08:11:41.741779-08:00","closed_at":"2025-12-08T08:11:41.741779-08:00"}
1040
+ {"id":"opencode-swarm-plugin-p1tsh","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:24.104718-08:00","updated_at":"2025-12-09T10:00:26.471738-08:00","closed_at":"2025-12-09T10:00:26.471738-08:00"}
1041
+ {"id":"opencode-swarm-plugin-p1tsh.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.15123-08:00","updated_at":"2025-12-09T10:00:26.507903-08:00","closed_at":"2025-12-09T10:00:26.507903-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p1tsh.1","depends_on_id":"opencode-swarm-plugin-p1tsh","type":"parent-child","created_at":"2025-12-09T10:00:24.151555-08:00","created_by":"daemon"}]}
1042
+ {"id":"opencode-swarm-plugin-p1tsh.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.19306-08:00","updated_at":"2025-12-09T10:00:26.541849-08:00","closed_at":"2025-12-09T10:00:26.541849-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p1tsh.2","depends_on_id":"opencode-swarm-plugin-p1tsh","type":"parent-child","created_at":"2025-12-09T10:00:24.193492-08:00","created_by":"daemon"}]}
1043
+ {"id":"opencode-swarm-plugin-p1tsh.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.234077-08:00","updated_at":"2025-12-09T10:00:26.578965-08:00","closed_at":"2025-12-09T10:00:26.578965-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p1tsh.3","depends_on_id":"opencode-swarm-plugin-p1tsh","type":"parent-child","created_at":"2025-12-09T10:00:24.234415-08:00","created_by":"daemon"}]}
1044
+ {"id":"opencode-swarm-plugin-p1tsh.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.273182-08:00","updated_at":"2025-12-09T10:00:26.614421-08:00","closed_at":"2025-12-09T10:00:26.614421-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p1tsh.4","depends_on_id":"opencode-swarm-plugin-p1tsh","type":"parent-child","created_at":"2025-12-09T10:00:24.273511-08:00","created_by":"daemon"}]}
1012
1045
  {"id":"opencode-swarm-plugin-p39z","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.766197-08:00","updated_at":"2025-12-08T11:11:10.291767-08:00","closed_at":"2025-12-08T11:11:10.291767-08:00"}
1013
1046
  {"id":"opencode-swarm-plugin-p3ba","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:11:39.026705-08:00","updated_at":"2025-12-08T08:11:41.689809-08:00","closed_at":"2025-12-08T08:11:41.689809-08:00"}
1014
1047
  {"id":"opencode-swarm-plugin-p7dc","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:27.437762-08:00","updated_at":"2025-12-08T11:12:27.510016-08:00","closed_at":"2025-12-08T11:12:27.510016-08:00"}
@@ -1034,9 +1067,11 @@
1034
1067
  {"id":"opencode-swarm-plugin-pk6.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.19197-08:00","updated_at":"2025-12-07T19:37:36.687027-08:00","closed_at":"2025-12-07T19:37:36.687027-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pk6.2","depends_on_id":"opencode-swarm-plugin-pk6","type":"parent-child","created_at":"2025-12-07T19:37:35.192252-08:00","created_by":"daemon"}]}
1035
1068
  {"id":"opencode-swarm-plugin-pk6.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.219292-08:00","updated_at":"2025-12-07T19:37:36.708239-08:00","closed_at":"2025-12-07T19:37:36.708239-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pk6.3","depends_on_id":"opencode-swarm-plugin-pk6","type":"parent-child","created_at":"2025-12-07T19:37:35.219606-08:00","created_by":"daemon"}]}
1036
1069
  {"id":"opencode-swarm-plugin-pk6.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.24747-08:00","updated_at":"2025-12-07T19:37:36.729939-08:00","closed_at":"2025-12-07T19:37:36.729939-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pk6.4","depends_on_id":"opencode-swarm-plugin-pk6","type":"parent-child","created_at":"2025-12-07T19:37:35.247773-08:00","created_by":"daemon"}]}
1070
+ {"id":"opencode-swarm-plugin-pne89","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.415605-08:00","updated_at":"2025-12-09T10:00:26.122015-08:00","closed_at":"2025-12-09T10:00:26.122015-08:00"}
1037
1071
  {"id":"opencode-swarm-plugin-pnzl","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.062458-08:00","updated_at":"2025-12-08T11:11:10.417441-08:00","closed_at":"2025-12-08T11:11:10.417441-08:00"}
1038
1072
  {"id":"opencode-swarm-plugin-po6t","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.036931-08:00","updated_at":"2025-12-07T19:41:13.502931-08:00","closed_at":"2025-12-07T19:41:13.502931-08:00"}
1039
1073
  {"id":"opencode-swarm-plugin-prx0","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.332649-08:00","updated_at":"2025-12-08T11:11:25.183868-08:00","closed_at":"2025-12-08T11:11:25.183868-08:00"}
1074
+ {"id":"opencode-swarm-plugin-ps5u4","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.870132-08:00","updated_at":"2025-12-09T10:00:25.95012-08:00","closed_at":"2025-12-09T10:00:25.95012-08:00"}
1040
1075
  {"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"}
1041
1076
  {"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"}
1042
1077
  {"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"}
@@ -1047,6 +1082,7 @@
1047
1082
  {"id":"opencode-swarm-plugin-q13n","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:09.990099-08:00","updated_at":"2025-12-08T11:11:11.61092-08:00","closed_at":"2025-12-08T11:11:11.61092-08:00"}
1048
1083
  {"id":"opencode-swarm-plugin-q1ao","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.057252-08:00","updated_at":"2025-12-08T08:23:18.081432-08:00","closed_at":"2025-12-08T08:23:18.081432-08:00"}
1049
1084
  {"id":"opencode-swarm-plugin-q29t","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:18.468848-08:00","updated_at":"2025-12-08T08:36:19.999602-08:00","closed_at":"2025-12-08T08:36:19.999602-08:00"}
1085
+ {"id":"opencode-swarm-plugin-q39pp","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-09T10:00:22.125472-08:00","updated_at":"2025-12-09T10:00:25.573739-08:00","closed_at":"2025-12-09T10:00:25.573739-08:00"}
1050
1086
  {"id":"opencode-swarm-plugin-q5a2","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:10:52.939852-08:00","updated_at":"2025-12-08T11:10:55.584849-08:00","closed_at":"2025-12-08T11:10:55.584849-08:00"}
1051
1087
  {"id":"opencode-swarm-plugin-q5nd","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:18.236022-08:00","updated_at":"2025-12-08T08:36:19.943852-08:00","closed_at":"2025-12-08T08:36:19.943852-08:00"}
1052
1088
  {"id":"opencode-swarm-plugin-q6sz","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:40.895782-08:00","updated_at":"2025-12-08T11:12:43.598675-08:00","closed_at":"2025-12-08T11:12:43.598675-08:00"}
@@ -1092,6 +1128,7 @@
1092
1128
  {"id":"opencode-swarm-plugin-rrih.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.048952-08:00","updated_at":"2025-12-07T19:41:13.898152-08:00","closed_at":"2025-12-07T19:41:13.898152-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-rrih.2","depends_on_id":"opencode-swarm-plugin-rrih","type":"parent-child","created_at":"2025-12-07T19:41:12.049256-08:00","created_by":"daemon"}]}
1093
1129
  {"id":"opencode-swarm-plugin-rt4i","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.683264-08:00","updated_at":"2025-12-08T08:56:58.123097-08:00","closed_at":"2025-12-08T08:56:58.123097-08:00"}
1094
1130
  {"id":"opencode-swarm-plugin-rt6o","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.335801-08:00","updated_at":"2025-12-08T07:49:11.936688-08:00","closed_at":"2025-12-08T07:49:11.936688-08:00"}
1131
+ {"id":"opencode-swarm-plugin-rwqj5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.165821-08:00","updated_at":"2025-12-09T10:00:25.608129-08:00","closed_at":"2025-12-09T10:00:25.608129-08:00"}
1095
1132
  {"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"}
1096
1133
  {"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"}
1097
1134
  {"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"}
@@ -1155,6 +1192,7 @@
1155
1192
  {"id":"opencode-swarm-plugin-tke2u","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.719413-08:00","updated_at":"2025-12-08T11:12:58.172826-08:00","closed_at":"2025-12-08T11:12:58.172826-08:00"}
1156
1193
  {"id":"opencode-swarm-plugin-tl16","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.265797-08:00","updated_at":"2025-12-08T08:25:12.486871-08:00","closed_at":"2025-12-08T08:25:12.486871-08:00"}
1157
1194
  {"id":"opencode-swarm-plugin-tms9","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:56:42.389532-08:00","updated_at":"2025-12-07T19:56:44.672953-08:00","closed_at":"2025-12-07T19:56:44.672953-08:00"}
1195
+ {"id":"opencode-swarm-plugin-tnrmo","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:23.120112-08:00","updated_at":"2025-12-09T10:00:26.054247-08:00","closed_at":"2025-12-09T10:00:26.054247-08:00"}
1158
1196
  {"id":"opencode-swarm-plugin-tnys","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:46:50.210687-08:00","updated_at":"2025-12-08T07:46:52.226415-08:00","closed_at":"2025-12-08T07:46:52.226415-08:00"}
1159
1197
  {"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"}
1160
1198
  {"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"}]}
@@ -1212,6 +1250,7 @@
1212
1250
  {"id":"opencode-swarm-plugin-unyi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.839104-08:00","updated_at":"2025-12-08T11:11:25.516678-08:00","closed_at":"2025-12-08T11:11:25.516678-08:00"}
1213
1251
  {"id":"opencode-swarm-plugin-uoid","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:41:11.743571-08:00","updated_at":"2025-12-07T19:41:13.723385-08:00","closed_at":"2025-12-07T19:41:13.723385-08:00"}
1214
1252
  {"id":"opencode-swarm-plugin-uqc2","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.318929-08:00","updated_at":"2025-12-08T08:23:19.847347-08:00","closed_at":"2025-12-08T08:23:19.847347-08:00"}
1253
+ {"id":"opencode-swarm-plugin-uriht","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.528976-08:00","updated_at":"2025-12-09T10:00:25.777953-08:00","closed_at":"2025-12-09T10:00:25.777953-08:00"}
1215
1254
  {"id":"opencode-swarm-plugin-us81","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:53:45.402174-08:00","updated_at":"2025-12-08T07:53:47.023877-08:00","closed_at":"2025-12-08T07:53:47.023877-08:00"}
1216
1255
  {"id":"opencode-swarm-plugin-utd","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.881432-08:00","updated_at":"2025-12-07T19:39:20.663394-08:00","closed_at":"2025-12-07T19:39:20.663394-08:00"}
1217
1256
  {"id":"opencode-swarm-plugin-uv92","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.803795-08:00","updated_at":"2025-12-08T11:10:53.829421-08:00","closed_at":"2025-12-08T11:10:53.829421-08:00"}
@@ -1223,6 +1262,7 @@
1223
1262
  {"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"}
1224
1263
  {"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"}
1225
1264
  {"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"}
1265
+ {"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"}
1226
1266
  {"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"}
1227
1267
  {"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"}
1228
1268
  {"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"}
@@ -1350,6 +1390,7 @@
1350
1390
  {"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"}
1351
1391
  {"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"}
1352
1392
  {"id":"opencode-swarm-plugin-yvnz","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.993848-08:00","updated_at":"2025-12-08T08:36:19.361588-08:00","closed_at":"2025-12-08T08:36:19.361588-08:00"}
1393
+ {"id":"opencode-swarm-plugin-yzcon","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.240016-08:00","updated_at":"2025-12-09T10:00:25.641139-08:00","closed_at":"2025-12-09T10:00:25.641139-08:00"}
1353
1394
  {"id":"opencode-swarm-plugin-z011","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.770825-08:00","updated_at":"2025-12-08T07:49:12.173678-08:00","closed_at":"2025-12-08T07:49:12.173678-08:00"}
1354
1395
  {"id":"opencode-swarm-plugin-z0s","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.949471-08:00","updated_at":"2025-12-07T19:36:06.970397-08:00","closed_at":"2025-12-07T19:36:06.970397-08:00"}
1355
1396
  {"id":"opencode-swarm-plugin-z0zh","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T09:09:31.242765-08:00","updated_at":"2025-12-08T09:09:33.398869-08:00","closed_at":"2025-12-08T09:09:33.398869-08:00"}
@@ -1376,6 +1417,9 @@
1376
1417
  {"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"}
1377
1418
  {"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"}
1378
1419
  {"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"}
1420
+ {"id":"opencode-swarm-plugin-zxt20","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:23.863717-08:00","updated_at":"2025-12-09T10:00:26.312897-08:00","closed_at":"2025-12-09T10:00:26.312897-08:00"}
1421
+ {"id":"opencode-swarm-plugin-zxt20.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.915167-08:00","updated_at":"2025-12-09T10:00:26.344216-08:00","closed_at":"2025-12-09T10:00:26.344216-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zxt20.1","depends_on_id":"opencode-swarm-plugin-zxt20","type":"parent-child","created_at":"2025-12-09T10:00:23.91553-08:00","created_by":"daemon"}]}
1422
+ {"id":"opencode-swarm-plugin-zxt20.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.961458-08:00","updated_at":"2025-12-09T10:00:26.374108-08:00","closed_at":"2025-12-09T10:00:26.374108-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zxt20.2","depends_on_id":"opencode-swarm-plugin-zxt20","type":"parent-child","created_at":"2025-12-09T10:00:23.961807-08:00","created_by":"daemon"}]}
1379
1423
  {"id":"opencode-swarm-plugin-zzw","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:34:53.29698-08:00","updated_at":"2025-12-07T19:34:54.947962-08:00","closed_at":"2025-12-07T19:34:54.947962-08:00"}
1380
1424
  {"id":"opencode-swarm-plugin-zzw.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.324677-08:00","updated_at":"2025-12-07T19:34:54.971396-08:00","closed_at":"2025-12-07T19:34:54.971396-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zzw.1","depends_on_id":"opencode-swarm-plugin-zzw","type":"parent-child","created_at":"2025-12-07T19:34:53.324987-08:00","created_by":"daemon"}]}
1381
1425
  {"id":"opencode-swarm-plugin-zzw.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-07T19:34:53.354227-08:00","updated_at":"2025-12-07T19:34:54.993123-08:00","closed_at":"2025-12-07T19:34:54.993123-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zzw.2","depends_on_id":"opencode-swarm-plugin-zzw","type":"parent-child","created_at":"2025-12-07T19:34:53.354536-08:00","created_by":"daemon"}]}
package/bin/swarm.ts CHANGED
@@ -13,11 +13,16 @@
13
13
  */
14
14
 
15
15
  import * as p from "@clack/prompts";
16
- import { existsSync, mkdirSync, writeFileSync } from "fs";
16
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
17
17
  import { homedir } from "os";
18
- import { join } from "path";
18
+ import { dirname, join } from "path";
19
+ import { fileURLToPath } from "url";
19
20
 
20
- const VERSION = "0.10.0";
21
+ const __dirname = dirname(fileURLToPath(import.meta.url));
22
+ const pkg = JSON.parse(
23
+ readFileSync(join(__dirname, "..", "package.json"), "utf-8"),
24
+ );
25
+ const VERSION: string = pkg.version;
21
26
 
22
27
  // ============================================================================
23
28
  // ASCII Art & Branding
@@ -45,6 +50,247 @@ const TAGLINE = "Multi-agent coordination for OpenCode";
45
50
  const dim = (s: string) => `\x1b[2m${s}\x1b[0m`;
46
51
  const yellow = (s: string) => `\x1b[33m${s}\x1b[0m`;
47
52
  const cyan = (s: string) => `\x1b[36m${s}\x1b[0m`;
53
+ const green = (s: string) => `\x1b[32m${s}\x1b[0m`;
54
+ const magenta = (s: string) => `\x1b[35m${s}\x1b[0m`;
55
+
56
+ const PACKAGE_NAME = "opencode-swarm-plugin";
57
+
58
+ // ============================================================================
59
+ // Seasonal Messages (inspired by Astro's Houston)
60
+ // ============================================================================
61
+
62
+ type Season = "spooky" | "holiday" | "new-year" | "summer" | "default";
63
+
64
+ function getSeason(): Season {
65
+ const date = new Date();
66
+ const month = date.getMonth() + 1;
67
+ const day = date.getDate();
68
+
69
+ if (month === 1 && day <= 7) return "new-year";
70
+ if (month === 10 && day > 7) return "spooky";
71
+ if (month === 12 && day > 7 && day < 26) return "holiday";
72
+ if (month >= 6 && month <= 8) return "summer";
73
+ return "default";
74
+ }
75
+
76
+ interface SeasonalBee {
77
+ messages: string[];
78
+ decorations?: string[];
79
+ }
80
+
81
+ function getSeasonalBee(): SeasonalBee {
82
+ const season = getSeason();
83
+ const year = new Date().getFullYear();
84
+
85
+ switch (season) {
86
+ case "new-year":
87
+ return {
88
+ messages: [
89
+ `New year, new swarm! Let's build something amazing in ${year}!`,
90
+ `${year} is the year of parallel agents! bzzzz...`,
91
+ `Kicking off ${year} with coordinated chaos!`,
92
+ `Happy ${year}! Time to orchestrate some magic.`,
93
+ ],
94
+ decorations: ["🎉", "🎊", "✨"],
95
+ };
96
+ case "spooky":
97
+ return {
98
+ messages: [
99
+ `Boo! Just kidding. Let's spawn some agents!`,
100
+ `The hive is buzzing with spooky energy...`,
101
+ `No tricks here, only parallel treats!`,
102
+ `Let's conjure up a swarm of worker bees!`,
103
+ `Something wicked this way computes...`,
104
+ ],
105
+ decorations: ["🎃", "👻", "🕷️", "🦇"],
106
+ };
107
+ case "holiday":
108
+ return {
109
+ messages: [
110
+ `'Tis the season to parallelize!`,
111
+ `The hive is warm and cozy. Let's build!`,
112
+ `Ho ho ho! Time to unwrap some agents!`,
113
+ `Jingle bells, agents swell, tasks get done today!`,
114
+ `The best gift? A well-coordinated swarm.`,
115
+ ],
116
+ decorations: ["🎄", "🎁", "❄️", "⭐"],
117
+ };
118
+ case "summer":
119
+ return {
120
+ messages: [
121
+ `Summer vibes and parallel pipelines!`,
122
+ `The hive is buzzing in the sunshine!`,
123
+ `Hot code, cool agents. Let's go!`,
124
+ `Beach day? Nah, build day!`,
125
+ ],
126
+ decorations: ["☀️", "🌻", "🌴"],
127
+ };
128
+ default:
129
+ return {
130
+ messages: [
131
+ `The hive awaits your command.`,
132
+ `Ready to coordinate the swarm!`,
133
+ `Let's build something awesome together.`,
134
+ `Parallel agents, standing by.`,
135
+ `Time to orchestrate some magic!`,
136
+ `The bees are ready to work.`,
137
+ `Bzzzz... initializing swarm intelligence.`,
138
+ `Many agents, one mission.`,
139
+ ],
140
+ };
141
+ }
142
+ }
143
+
144
+ function getRandomMessage(): string {
145
+ const { messages } = getSeasonalBee();
146
+ return messages[Math.floor(Math.random() * messages.length)];
147
+ }
148
+
149
+ function getDecoratedBee(): string {
150
+ const { decorations } = getSeasonalBee();
151
+ if (!decorations || Math.random() > 0.5) return cyan(BEE);
152
+
153
+ const decoration =
154
+ decorations[Math.floor(Math.random() * decorations.length)];
155
+ // Add decoration to the bee
156
+ return cyan(BEE.replace("bzzzz...", `bzzzz... ${decoration}`));
157
+ }
158
+
159
+ // ============================================================================
160
+ // Model Configuration
161
+ // ============================================================================
162
+
163
+ interface ModelOption {
164
+ value: string;
165
+ label: string;
166
+ hint: string;
167
+ }
168
+
169
+ const COORDINATOR_MODELS: ModelOption[] = [
170
+ {
171
+ value: "anthropic/claude-sonnet-4-5",
172
+ label: "Claude Sonnet 4.5",
173
+ hint: "Best balance of speed and capability (recommended)",
174
+ },
175
+ {
176
+ value: "anthropic/claude-opus-4-5",
177
+ label: "Claude Opus 4.5",
178
+ hint: "Most capable, slower and more expensive",
179
+ },
180
+ {
181
+ value: "openai/gpt-4o",
182
+ label: "GPT-4o",
183
+ hint: "Fast, good for most tasks",
184
+ },
185
+ {
186
+ value: "google/gemini-2.0-flash",
187
+ label: "Gemini 2.0 Flash",
188
+ hint: "Fast and capable",
189
+ },
190
+ {
191
+ value: "google/gemini-1.5-pro",
192
+ label: "Gemini 1.5 Pro",
193
+ hint: "More capable, larger context",
194
+ },
195
+ ];
196
+
197
+ const WORKER_MODELS: ModelOption[] = [
198
+ {
199
+ value: "anthropic/claude-haiku-4-5",
200
+ label: "Claude Haiku 4.5",
201
+ hint: "Fast and cost-effective (recommended)",
202
+ },
203
+ {
204
+ value: "anthropic/claude-sonnet-4-5",
205
+ label: "Claude Sonnet 4.5",
206
+ hint: "More capable, slower",
207
+ },
208
+ {
209
+ value: "openai/gpt-4o-mini",
210
+ label: "GPT-4o Mini",
211
+ hint: "Fast and cheap",
212
+ },
213
+ {
214
+ value: "google/gemini-2.0-flash",
215
+ label: "Gemini 2.0 Flash",
216
+ hint: "Fast and capable",
217
+ },
218
+ ];
219
+
220
+ // ============================================================================
221
+ // Update Checking
222
+ // ============================================================================
223
+
224
+ interface UpdateInfo {
225
+ current: string;
226
+ latest: string;
227
+ updateAvailable: boolean;
228
+ }
229
+
230
+ async function checkForUpdates(): Promise<UpdateInfo | null> {
231
+ try {
232
+ const response = await fetch(
233
+ `https://registry.npmjs.org/${PACKAGE_NAME}/latest`,
234
+ {
235
+ signal: AbortSignal.timeout(3000), // 3 second timeout
236
+ },
237
+ );
238
+ if (!response.ok) return null;
239
+ const data = await response.json();
240
+ const latest = data.version;
241
+ const updateAvailable =
242
+ latest !== VERSION && compareVersions(latest, VERSION) > 0;
243
+ return { current: VERSION, latest, updateAvailable };
244
+ } catch {
245
+ return null; // Silently fail - don't block CLI
246
+ }
247
+ }
248
+
249
+ function compareVersions(a: string, b: string): number {
250
+ const partsA = a.split(".").map(Number);
251
+ const partsB = b.split(".").map(Number);
252
+ for (let i = 0; i < 3; i++) {
253
+ if (partsA[i] > partsB[i]) return 1;
254
+ if (partsA[i] < partsB[i]) return -1;
255
+ }
256
+ return 0;
257
+ }
258
+
259
+ function showUpdateNotification(info: UpdateInfo) {
260
+ if (info.updateAvailable) {
261
+ console.log();
262
+ console.log(
263
+ yellow(" ╭─────────────────────────────────────────────────────╮"),
264
+ );
265
+ console.log(
266
+ yellow(" │") +
267
+ " Update available! " +
268
+ dim(info.current) +
269
+ " → " +
270
+ green(info.latest) +
271
+ " " +
272
+ yellow("│"),
273
+ );
274
+ console.log(
275
+ yellow(" │") +
276
+ " Run: " +
277
+ cyan("npm install -g " + PACKAGE_NAME + "@latest") +
278
+ " " +
279
+ yellow("│"),
280
+ );
281
+ console.log(
282
+ yellow(" │") +
283
+ " Or: " +
284
+ cyan("swarm update") +
285
+ " " +
286
+ yellow("│"),
287
+ );
288
+ console.log(
289
+ yellow(" ╰─────────────────────────────────────────────────────╯"),
290
+ );
291
+ console.log();
292
+ }
293
+ }
48
294
 
49
295
  // ============================================================================
50
296
  // Types
@@ -220,7 +466,7 @@ You are a swarm coordinator. Take a complex task, break it into beads, and unlea
220
466
  2. **Decompose**: Use \`swarm_select_strategy\` then \`swarm_plan_prompt\` to break down the task
221
467
  3. **Create beads**: \`beads_create_epic\` with subtasks and file assignments
222
468
  4. **Reserve files**: \`agentmail_reserve\` for each subtask's files
223
- 5. **Spawn agents**: Use Task tool with \`swarm_spawn_subtask\` prompts - spawn ALL in parallel
469
+ 5. **Spawn agents**: Use Task tool with \`swarm_spawn_subtask\` prompts (or use @swarm-worker for sequential/single-file tasks)
224
470
  6. **Monitor**: Check \`agentmail_inbox\` for progress, use \`agentmail_summarize_thread\` for overview
225
471
  7. **Complete**: \`swarm_complete\` when done, then \`beads_sync\` to push
226
472
 
@@ -237,10 +483,10 @@ The plugin auto-selects decomposition strategy based on task keywords:
237
483
  Begin decomposition now.
238
484
  `;
239
485
 
240
- const PLANNER_AGENT = `---
486
+ const getPlannerAgent = (model: string) => `---
241
487
  name: swarm-planner
242
488
  description: Strategic task decomposition for swarm coordination
243
- model: claude-sonnet-4-5
489
+ model: ${model}
244
490
  ---
245
491
 
246
492
  You are a swarm planner. Decompose tasks into optimal parallel subtasks.
@@ -277,6 +523,27 @@ You are a swarm planner. Decompose tasks into optimal parallel subtasks.
277
523
  - Order by dependency (if B needs A, A comes first)
278
524
  `;
279
525
 
526
+ const getWorkerAgent = (model: string) => `---
527
+ name: swarm-worker
528
+ description: Executes subtasks in a swarm - fast, focused, cost-effective
529
+ model: ${model}
530
+ ---
531
+
532
+ You are a swarm worker agent. Execute your assigned subtask efficiently.
533
+
534
+ ## Rules
535
+ - Focus ONLY on your assigned files
536
+ - Report progress via Agent Mail
537
+ - Use beads_update to track status
538
+ - Call swarm_complete when done
539
+
540
+ ## Workflow
541
+ 1. Read assigned files
542
+ 2. Implement changes
543
+ 3. Verify (typecheck if applicable)
544
+ 4. Report completion
545
+ `;
546
+
280
547
  // ============================================================================
281
548
  // Commands
282
549
  // ============================================================================
@@ -339,10 +606,20 @@ async function doctor() {
339
606
  } else {
340
607
  p.outro("All dependencies installed!");
341
608
  }
609
+
610
+ // Check for updates (non-blocking)
611
+ const updateInfo = await checkForUpdates();
612
+ if (updateInfo) showUpdateNotification(updateInfo);
342
613
  }
343
614
 
344
615
  async function setup() {
345
616
  console.clear();
617
+ console.log(yellow(BANNER));
618
+ console.log(getDecoratedBee());
619
+ console.log();
620
+ console.log(magenta(" " + getRandomMessage()));
621
+ console.log();
622
+
346
623
  p.intro("opencode-swarm-plugin v" + VERSION);
347
624
 
348
625
  const s = p.spinner();
@@ -468,6 +745,103 @@ async function setup() {
468
745
  }
469
746
  }
470
747
 
748
+ // Model selection
749
+ p.log.step("Configure swarm agents...");
750
+
751
+ const coordinatorModel = await p.select({
752
+ message: "Select coordinator model (for orchestration/planning):",
753
+ options: [
754
+ {
755
+ value: "anthropic/claude-sonnet-4-5",
756
+ label: "Claude Sonnet 4.5",
757
+ hint: "Best balance of speed and capability (recommended)",
758
+ },
759
+ {
760
+ value: "anthropic/claude-haiku-4-5",
761
+ label: "Claude Haiku 4.5",
762
+ hint: "Fast and cost-effective",
763
+ },
764
+ {
765
+ value: "anthropic/claude-opus-4-5",
766
+ label: "Claude Opus 4.5",
767
+ hint: "Most capable, slower",
768
+ },
769
+ {
770
+ value: "openai/gpt-4o",
771
+ label: "GPT-4o",
772
+ hint: "Fast, good for most tasks",
773
+ },
774
+ {
775
+ value: "openai/gpt-4-turbo",
776
+ label: "GPT-4 Turbo",
777
+ hint: "Powerful, more expensive",
778
+ },
779
+ {
780
+ value: "google/gemini-2.0-flash",
781
+ label: "Gemini 2.0 Flash",
782
+ hint: "Fast and capable",
783
+ },
784
+ {
785
+ value: "google/gemini-1.5-pro",
786
+ label: "Gemini 1.5 Pro",
787
+ hint: "More capable",
788
+ },
789
+ ],
790
+ initialValue: "anthropic/claude-sonnet-4-5",
791
+ });
792
+
793
+ if (p.isCancel(coordinatorModel)) {
794
+ p.cancel("Setup cancelled");
795
+ process.exit(0);
796
+ }
797
+
798
+ const workerModel = await p.select({
799
+ message: "Select worker model (for task execution):",
800
+ options: [
801
+ {
802
+ value: "anthropic/claude-haiku-4-5",
803
+ label: "Claude Haiku 4.5",
804
+ hint: "Fast and cost-effective (recommended)",
805
+ },
806
+ {
807
+ value: "anthropic/claude-sonnet-4-5",
808
+ label: "Claude Sonnet 4.5",
809
+ hint: "Best balance of speed and capability",
810
+ },
811
+ {
812
+ value: "anthropic/claude-opus-4-5",
813
+ label: "Claude Opus 4.5",
814
+ hint: "Most capable, slower",
815
+ },
816
+ {
817
+ value: "openai/gpt-4o",
818
+ label: "GPT-4o",
819
+ hint: "Fast, good for most tasks",
820
+ },
821
+ {
822
+ value: "openai/gpt-4-turbo",
823
+ label: "GPT-4 Turbo",
824
+ hint: "Powerful, more expensive",
825
+ },
826
+ {
827
+ value: "google/gemini-2.0-flash",
828
+ label: "Gemini 2.0 Flash",
829
+ hint: "Fast and capable",
830
+ },
831
+ {
832
+ value: "google/gemini-1.5-pro",
833
+ label: "Gemini 1.5 Pro",
834
+ hint: "More capable",
835
+ },
836
+ ],
837
+ initialValue: "anthropic/claude-haiku-4-5",
838
+ });
839
+
840
+ if (p.isCancel(workerModel)) {
841
+ p.cancel("Setup cancelled");
842
+ process.exit(0);
843
+ }
844
+
471
845
  p.log.step("Setting up OpenCode integration...");
472
846
 
473
847
  const configDir = join(homedir(), ".config", "opencode");
@@ -483,7 +857,8 @@ async function setup() {
483
857
 
484
858
  const pluginPath = join(pluginsDir, "swarm.ts");
485
859
  const commandPath = join(commandsDir, "swarm.md");
486
- const agentPath = join(agentsDir, "swarm-planner.md");
860
+ const plannerAgentPath = join(agentsDir, "swarm-planner.md");
861
+ const workerAgentPath = join(agentsDir, "swarm-worker.md");
487
862
 
488
863
  writeFileSync(pluginPath, PLUGIN_WRAPPER);
489
864
  p.log.success("Plugin: " + pluginPath);
@@ -491,8 +866,11 @@ async function setup() {
491
866
  writeFileSync(commandPath, SWARM_COMMAND);
492
867
  p.log.success("Command: " + commandPath);
493
868
 
494
- writeFileSync(agentPath, PLANNER_AGENT);
495
- p.log.success("Agent: " + agentPath);
869
+ writeFileSync(plannerAgentPath, getPlannerAgent(coordinatorModel as string));
870
+ p.log.success("Planner agent: " + plannerAgentPath);
871
+
872
+ writeFileSync(workerAgentPath, getWorkerAgent(workerModel as string));
873
+ p.log.success("Worker agent: " + workerAgentPath);
496
874
 
497
875
  p.note(
498
876
  'cd your-project\nbd init\nopencode\n/swarm "your task"',
@@ -586,20 +964,25 @@ async function init() {
586
964
  }
587
965
  }
588
966
 
589
- function version() {
967
+ async function version() {
590
968
  console.log(yellow(BANNER));
591
969
  console.log(dim(" " + TAGLINE));
592
970
  console.log();
593
971
  console.log(" Version: " + VERSION);
594
972
  console.log(" Docs: https://github.com/joelhooks/opencode-swarm-plugin");
595
973
  console.log();
974
+
975
+ // Check for updates (non-blocking)
976
+ const updateInfo = await checkForUpdates();
977
+ if (updateInfo) showUpdateNotification(updateInfo);
596
978
  }
597
979
 
598
980
  function config() {
599
981
  const configDir = join(homedir(), ".config", "opencode");
600
982
  const pluginPath = join(configDir, "plugins", "swarm.ts");
601
983
  const commandPath = join(configDir, "commands", "swarm.md");
602
- const agentPath = join(configDir, "agents", "swarm-planner.md");
984
+ const plannerAgentPath = join(configDir, "agents", "swarm-planner.md");
985
+ const workerAgentPath = join(configDir, "agents", "swarm-worker.md");
603
986
 
604
987
  console.log(yellow(BANNER));
605
988
  console.log(dim(" " + TAGLINE + " v" + VERSION));
@@ -610,7 +993,8 @@ function config() {
610
993
  const files = [
611
994
  { path: pluginPath, desc: "Plugin loader", emoji: "🔌" },
612
995
  { path: commandPath, desc: "/swarm command prompt", emoji: "📜" },
613
- { path: agentPath, desc: "@swarm-planner agent", emoji: "🤖" },
996
+ { path: plannerAgentPath, desc: "@swarm-planner agent", emoji: "🤖" },
997
+ { path: workerAgentPath, desc: "@swarm-worker agent", emoji: "🐝" },
614
998
  ];
615
999
 
616
1000
  for (const { path, desc, emoji } of files) {
@@ -627,31 +1011,94 @@ function config() {
627
1011
  console.log();
628
1012
  }
629
1013
 
630
- function help() {
1014
+ async function update() {
1015
+ p.intro("swarm update v" + VERSION);
1016
+
1017
+ const s = p.spinner();
1018
+ s.start("Checking for updates...");
1019
+
1020
+ const updateInfo = await checkForUpdates();
1021
+
1022
+ if (!updateInfo) {
1023
+ s.stop("Failed to check for updates");
1024
+ p.log.error("Could not reach npm registry");
1025
+ p.outro("Try again later or update manually:");
1026
+ console.log(" " + cyan("npm install -g " + PACKAGE_NAME + "@latest"));
1027
+ process.exit(1);
1028
+ }
1029
+
1030
+ if (!updateInfo.updateAvailable) {
1031
+ s.stop("Already on latest version");
1032
+ p.log.success("You're running " + VERSION);
1033
+ p.outro("No update needed!");
1034
+ return;
1035
+ }
1036
+
1037
+ s.stop("Update available: " + VERSION + " → " + updateInfo.latest);
1038
+
1039
+ const confirmUpdate = await p.confirm({
1040
+ message: "Update to v" + updateInfo.latest + "?",
1041
+ initialValue: true,
1042
+ });
1043
+
1044
+ if (p.isCancel(confirmUpdate) || !confirmUpdate) {
1045
+ p.outro("Update cancelled");
1046
+ return;
1047
+ }
1048
+
1049
+ const updateSpinner = p.spinner();
1050
+ updateSpinner.start("Updating to v" + updateInfo.latest + "...");
1051
+
1052
+ const success = await runInstall(
1053
+ "npm install -g " + PACKAGE_NAME + "@latest",
1054
+ );
1055
+
1056
+ if (success) {
1057
+ updateSpinner.stop("Updated to v" + updateInfo.latest);
1058
+ p.outro("Success! Restart your terminal to use the new version.");
1059
+ } else {
1060
+ updateSpinner.stop("Update failed");
1061
+ p.log.error("Failed to update via npm");
1062
+ p.log.message("Try manually:");
1063
+ console.log(" " + cyan("npm install -g " + PACKAGE_NAME + "@latest"));
1064
+ p.outro("Update failed");
1065
+ process.exit(1);
1066
+ }
1067
+ }
1068
+
1069
+ async function help() {
631
1070
  console.log(yellow(BANNER));
632
1071
  console.log(dim(" " + TAGLINE + " v" + VERSION));
633
- console.log(cyan(BEE));
1072
+ console.log(getDecoratedBee());
1073
+ console.log(magenta(" " + getRandomMessage()));
634
1074
  console.log(`
635
1075
  ${cyan("Commands:")}
636
1076
  swarm setup Interactive installer - checks and installs dependencies
637
1077
  swarm doctor Health check - shows status of all dependencies
638
1078
  swarm init Initialize beads in current project
639
1079
  swarm config Show paths to generated config files
1080
+ swarm update Update to latest version
640
1081
  swarm version Show version and banner
641
1082
  swarm help Show this help
642
1083
 
643
1084
  ${cyan("Usage in OpenCode:")}
644
1085
  /swarm "Add user authentication with OAuth"
645
- @swarm-planner "Refactor all components to use hooks"
1086
+ @swarm-planner "Decompose this into parallel tasks"
1087
+ @swarm-worker "Execute this specific subtask"
646
1088
 
647
1089
  ${cyan("Customization:")}
648
1090
  Edit the generated files to customize behavior:
649
- ${dim("~/.config/opencode/commands/swarm.md")} - /swarm command prompt
650
- ${dim("~/.config/opencode/agents/swarm-planner.md")} - @swarm-planner agent
651
- ${dim("~/.config/opencode/plugins/swarm.ts")} - Plugin loader
1091
+ ${dim("~/.config/opencode/commands/swarm.md")} - /swarm command prompt
1092
+ ${dim("~/.config/opencode/agents/swarm-planner.md")} - @swarm-planner (coordinator)
1093
+ ${dim("~/.config/opencode/agents/swarm-worker.md")} - @swarm-worker (fast executor)
1094
+ ${dim("~/.config/opencode/plugins/swarm.ts")} - Plugin loader
652
1095
 
653
1096
  ${dim("Docs: https://github.com/joelhooks/opencode-swarm-plugin")}
654
1097
  `);
1098
+
1099
+ // Check for updates (non-blocking)
1100
+ const updateInfo = await checkForUpdates();
1101
+ if (updateInfo) showUpdateNotification(updateInfo);
655
1102
  }
656
1103
 
657
1104
  // ============================================================================
@@ -673,15 +1120,18 @@ switch (command) {
673
1120
  case "config":
674
1121
  config();
675
1122
  break;
1123
+ case "update":
1124
+ await update();
1125
+ break;
676
1126
  case "version":
677
1127
  case "--version":
678
1128
  case "-v":
679
- version();
1129
+ await version();
680
1130
  break;
681
1131
  case "help":
682
1132
  case "--help":
683
1133
  case "-h":
684
- help();
1134
+ await help();
685
1135
  break;
686
1136
  case undefined:
687
1137
  await setup();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-swarm-plugin",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "Multi-agent swarm coordination for OpenCode with learning capabilities, beads integration, and Agent Mail",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",