opencode-swarm-plugin 0.18.0 → 0.19.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.
- package/.beads/issues.jsonl +71 -61
- package/.github/workflows/ci.yml +5 -1
- package/README.md +48 -4
- package/dist/index.js +6643 -6326
- package/dist/plugin.js +2726 -2404
- package/package.json +1 -1
- package/src/agent-mail.ts +13 -0
- package/src/anti-patterns.test.ts +1167 -0
- package/src/anti-patterns.ts +29 -11
- package/src/pattern-maturity.ts +51 -13
- package/src/plugin.ts +15 -3
- package/src/schemas/bead.ts +35 -4
- package/src/schemas/evaluation.ts +18 -6
- package/src/schemas/index.ts +25 -2
- package/src/schemas/task.ts +49 -21
- package/src/streams/debug.ts +101 -3
- package/src/streams/index.ts +58 -1
- package/src/streams/migrations.ts +46 -4
- package/src/streams/store.integration.test.ts +110 -0
- package/src/streams/store.ts +311 -126
- package/src/structured.test.ts +1046 -0
- package/src/structured.ts +74 -27
- package/src/swarm-decompose.ts +912 -0
- package/src/swarm-orchestrate.ts +1869 -0
- package/src/swarm-prompts.ts +756 -0
- package/src/swarm-strategies.ts +407 -0
- package/src/swarm.ts +23 -3876
- package/src/tool-availability.ts +29 -6
- package/test-bug-fixes.ts +86 -0
package/.beads/issues.jsonl
CHANGED
|
@@ -18,17 +18,17 @@
|
|
|
18
18
|
{"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"}]}
|
|
19
19
|
{"id":"opencode-swarm-plugin-0bodc.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-09T10:00:23.772101-08:00","updated_at":"2025-12-09T10:00:26.249968-08:00","closed_at":"2025-12-09T10:00:26.249968-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.2","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.772406-08:00","created_by":"daemon"}]}
|
|
20
20
|
{"id":"opencode-swarm-plugin-0bodc.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:23.815565-08:00","updated_at":"2025-12-09T10:00:26.281479-08:00","closed_at":"2025-12-09T10:00:26.281479-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.3","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.815895-08:00","created_by":"daemon"}]}
|
|
21
|
-
{"id":"opencode-swarm-plugin-0bv4r","title":"Add validation to promotePattern state transition","description":"src/pattern-maturity.ts:266-282 - promotePattern throws on deprecated but silently returns on already proven. Consider warning or error for unexpected states like promoting from \"candidate\" without enough feedback.","status":"
|
|
21
|
+
{"id":"opencode-swarm-plugin-0bv4r","title":"Add validation to promotePattern state transition","description":"src/pattern-maturity.ts:266-282 - promotePattern throws on deprecated but silently returns on already proven. Consider warning or error for unexpected states like promoting from \"candidate\" without enough feedback.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:36.184348-08:00","updated_at":"2025-12-13T16:20:33.514538-08:00","closed_at":"2025-12-13T16:20:33.514538-08:00"}
|
|
22
22
|
{"id":"opencode-swarm-plugin-0giv","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.5822-08:00","updated_at":"2025-12-08T08:21:30.125084-08:00","closed_at":"2025-12-08T08:21:30.125084-08:00"}
|
|
23
23
|
{"id":"opencode-swarm-plugin-0h7kz","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:49.245547-08:00","updated_at":"2025-12-13T11:20:52.464106-08:00","closed_at":"2025-12-13T11:20:52.464106-08:00"}
|
|
24
|
-
{"id":"opencode-swarm-plugin-0idn1","title":"Document minSuccessRate default in formatSuccessfulPatternsForPrompt","description":"src/anti-patterns.ts:333 - minSuccessRate default 0.7 (70%) is arbitrary. Add JSDoc: \"/** @param minSuccessRate - Minimum success rate to include (default 0.7 = 70%, chosen to filter out patterns with marginal track records) */\"","status":"
|
|
24
|
+
{"id":"opencode-swarm-plugin-0idn1","title":"Document minSuccessRate default in formatSuccessfulPatternsForPrompt","description":"src/anti-patterns.ts:333 - minSuccessRate default 0.7 (70%) is arbitrary. Add JSDoc: \"/** @param minSuccessRate - Minimum success rate to include (default 0.7 = 70%, chosen to filter out patterns with marginal track records) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:26.678439-08:00","updated_at":"2025-12-13T16:41:56.006348-08:00","closed_at":"2025-12-13T16:41:56.006348-08:00"}
|
|
25
25
|
{"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"}
|
|
26
26
|
{"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"}
|
|
27
27
|
{"id":"opencode-swarm-plugin-0khc","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:23.920316-08:00","updated_at":"2025-12-08T11:11:25.828401-08:00","closed_at":"2025-12-08T11:11:25.828401-08:00"}
|
|
28
28
|
{"id":"opencode-swarm-plugin-0khc.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.994204-08:00","updated_at":"2025-12-08T11:11:25.880828-08:00","closed_at":"2025-12-08T11:11:25.880828-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0khc.2","depends_on_id":"opencode-swarm-plugin-0khc","type":"parent-child","created_at":"2025-12-08T11:11:23.994475-08:00","created_by":"daemon"}]}
|
|
29
29
|
{"id":"opencode-swarm-plugin-0l14i","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:42.287672-08:00","updated_at":"2025-12-08T11:12:44.151565-08:00","closed_at":"2025-12-08T11:12:44.151565-08:00"}
|
|
30
30
|
{"id":"opencode-swarm-plugin-0l14i.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:42.322958-08:00","updated_at":"2025-12-08T11:12:44.174169-08:00","closed_at":"2025-12-08T11:12:44.174169-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0l14i.1","depends_on_id":"opencode-swarm-plugin-0l14i","type":"parent-child","created_at":"2025-12-08T11:12:42.323335-08:00","created_by":"daemon"}]}
|
|
31
|
-
{"id":"opencode-swarm-plugin-0l5bq","title":"Add JSDoc to extractPatternsFromDescription regex patterns","description":"src/anti-patterns.ts:220-260 - strategyPatterns array has 12 regex patterns but no explanation of detection logic. Add comment: \"Detects common decomposition strategies via keyword matching. Not exhaustive - patterns can be manually created for novel strategies.\"","status":"
|
|
31
|
+
{"id":"opencode-swarm-plugin-0l5bq","title":"Add JSDoc to extractPatternsFromDescription regex patterns","description":"src/anti-patterns.ts:220-260 - strategyPatterns array has 12 regex patterns but no explanation of detection logic. Add comment: \"Detects common decomposition strategies via keyword matching. Not exhaustive - patterns can be manually created for novel strategies.\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:22.738997-08:00","updated_at":"2025-12-13T16:41:55.320002-08:00","closed_at":"2025-12-13T16:41:55.320002-08:00"}
|
|
32
32
|
{"id":"opencode-swarm-plugin-0lidx","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:41.181135-08:00","updated_at":"2025-12-08T11:12:43.741036-08:00","closed_at":"2025-12-08T11:12:43.741036-08:00"}
|
|
33
33
|
{"id":"opencode-swarm-plugin-0llr","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.509809-08:00","updated_at":"2025-12-07T19:56:44.737443-08:00","closed_at":"2025-12-07T19:56:44.737443-08:00"}
|
|
34
34
|
{"id":"opencode-swarm-plugin-0lo41","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.208543-08:00","updated_at":"2025-12-10T09:06:09.912935-08:00","closed_at":"2025-12-10T09:06:09.912935-08:00"}
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
{"id":"opencode-swarm-plugin-3pj","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:37:35.468436-08:00","updated_at":"2025-12-07T19:37:36.793281-08:00","closed_at":"2025-12-07T19:37:36.793281-08:00"}
|
|
202
202
|
{"id":"opencode-swarm-plugin-3qp","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.845918-08:00","updated_at":"2025-12-07T19:39:11.927501-08:00","closed_at":"2025-12-07T19:39:11.927501-08:00"}
|
|
203
203
|
{"id":"opencode-swarm-plugin-3r550","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.39931-08:00","updated_at":"2025-12-08T11:12:58.421488-08:00","closed_at":"2025-12-08T11:12:58.421488-08:00"}
|
|
204
|
-
{"id":"opencode-swarm-plugin-3s3nr","title":"Gap: No pagination for large event reads","description":"src/streams/store.ts:214-263 - replayEvents() reads ALL events into memory without pagination. For large event logs (\u003e100k events), this could cause OOM. readEvents() has limit/offset but replayEvents doesn't use it. Should: paginate event replay (process in batches of 1000), add progress reporting, consider streaming API for large replays. Also affects debugEvents in debug.ts.","status":"
|
|
204
|
+
{"id":"opencode-swarm-plugin-3s3nr","title":"Gap: No pagination for large event reads","description":"src/streams/store.ts:214-263 - replayEvents() reads ALL events into memory without pagination. For large event logs (\u003e100k events), this could cause OOM. readEvents() has limit/offset but replayEvents doesn't use it. Should: paginate event replay (process in batches of 1000), add progress reporting, consider streaming API for large replays. Also affects debugEvents in debug.ts.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:10.536039-08:00","updated_at":"2025-12-13T16:20:31.328659-08:00","closed_at":"2025-12-13T16:20:31.328659-08:00"}
|
|
205
205
|
{"id":"opencode-swarm-plugin-3zw","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.954171-08:00","updated_at":"2025-12-07T19:39:11.975757-08:00","closed_at":"2025-12-07T19:39:11.975757-08:00"}
|
|
206
206
|
{"id":"opencode-swarm-plugin-4063b","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:36.180358-08:00","updated_at":"2025-12-13T11:16:40.104382-08:00","closed_at":"2025-12-13T11:16:40.104382-08:00"}
|
|
207
207
|
{"id":"opencode-swarm-plugin-40dw","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.93528-08:00","updated_at":"2025-12-08T09:09:33.280064-08:00","closed_at":"2025-12-08T09:09:33.280064-08:00"}
|
|
@@ -224,7 +224,7 @@
|
|
|
224
224
|
{"id":"opencode-swarm-plugin-4942","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:09.50503-08:00","updated_at":"2025-12-08T11:11:11.381465-08:00","closed_at":"2025-12-08T11:11:11.381465-08:00"}
|
|
225
225
|
{"id":"opencode-swarm-plugin-4bitt","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.452234-08:00","updated_at":"2025-12-13T11:20:51.060861-08:00","closed_at":"2025-12-13T11:20:51.060861-08:00"}
|
|
226
226
|
{"id":"opencode-swarm-plugin-4c0th","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:40.369138-08:00","updated_at":"2025-12-13T14:48:44.668923-08:00","closed_at":"2025-12-13T14:48:44.668923-08:00"}
|
|
227
|
-
{"id":"opencode-swarm-plugin-4cbdw","title":"Document schema_name enum values in structured_validate","description":"src/structured.ts:351-353 - schema_name enum [\"evaluation\", \"task_decomposition\", \"bead_tree\"] not documented. Add description: \"Schema to validate against (evaluation=agent self-eval, task_decomposition=swarm breakdown, bead_tree=epic+subtasks)\"","status":"
|
|
227
|
+
{"id":"opencode-swarm-plugin-4cbdw","title":"Document schema_name enum values in structured_validate","description":"src/structured.ts:351-353 - schema_name enum [\"evaluation\", \"task_decomposition\", \"bead_tree\"] not documented. Add description: \"Schema to validate against (evaluation=agent self-eval, task_decomposition=swarm breakdown, bead_tree=epic+subtasks)\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:54.29152-08:00","updated_at":"2025-12-13T16:45:46.595725-08:00","closed_at":"2025-12-13T16:45:46.595725-08:00"}
|
|
228
228
|
{"id":"opencode-swarm-plugin-4ctd","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.745673-08:00","updated_at":"2025-12-08T11:12:28.126517-08:00","closed_at":"2025-12-08T11:12:28.126517-08:00"}
|
|
229
229
|
{"id":"opencode-swarm-plugin-4d44w","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:22.27411-08:00","updated_at":"2025-12-10T09:07:25.689481-08:00","closed_at":"2025-12-10T09:07:25.689481-08:00"}
|
|
230
230
|
{"id":"opencode-swarm-plugin-4dyt","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:41.061421-08:00","updated_at":"2025-12-08T08:11:41.135147-08:00","closed_at":"2025-12-08T08:11:41.135147-08:00"}
|
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
{"id":"opencode-swarm-plugin-4rfx","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:23:18.358254-08:00","updated_at":"2025-12-08T08:23:20.235539-08:00","closed_at":"2025-12-08T08:23:20.235539-08:00"}
|
|
264
264
|
{"id":"opencode-swarm-plugin-4rfx.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.391813-08:00","updated_at":"2025-12-08T08:23:20.260453-08:00","closed_at":"2025-12-08T08:23:20.260453-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4rfx.1","depends_on_id":"opencode-swarm-plugin-4rfx","type":"parent-child","created_at":"2025-12-08T08:23:18.392129-08:00","created_by":"daemon"}]}
|
|
265
265
|
{"id":"opencode-swarm-plugin-4rfx.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:23:18.423962-08:00","updated_at":"2025-12-08T08:23:20.285354-08:00","closed_at":"2025-12-08T08:23:20.285354-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4rfx.2","depends_on_id":"opencode-swarm-plugin-4rfx","type":"parent-child","created_at":"2025-12-08T08:23:18.424275-08:00","created_by":"daemon"}]}
|
|
266
|
-
{"id":"opencode-swarm-plugin-4t3mp","title":"Extract magic number 10000 to constant in semantic-memory check","description":"src/tool-availability.ts:108 - bunx timeout 10000ms is magic number. Extract to constant: `const BUNX_TIMEOUT_MS = 10000;` for consistency with other timeouts.","status":"
|
|
266
|
+
{"id":"opencode-swarm-plugin-4t3mp","title":"Extract magic number 10000 to constant in semantic-memory check","description":"src/tool-availability.ts:108 - bunx timeout 10000ms is magic number. Extract to constant: `const BUNX_TIMEOUT_MS = 10000;` for consistency with other timeouts.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:06.018452-08:00","updated_at":"2025-12-13T16:41:51.721641-08:00","closed_at":"2025-12-13T16:41:51.721641-08:00"}
|
|
267
267
|
{"id":"opencode-swarm-plugin-4tyc","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:08.814454-08:00","updated_at":"2025-12-08T11:11:11.094826-08:00","closed_at":"2025-12-08T11:11:11.094826-08:00"}
|
|
268
268
|
{"id":"opencode-swarm-plugin-4uy9","title":"Implement Strategic Swarm Planner","description":"Add strategy selection, planning prompts, example agent, and learning integration for swarm decomposition","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:08:24.603771-08:00","updated_at":"2025-12-08T11:13:18.243383-08:00","closed_at":"2025-12-08T11:13:18.243383-08:00"}
|
|
269
269
|
{"id":"opencode-swarm-plugin-4uy9.1","title":"Add tests for swarm_select_strategy and swarm_plan_prompt","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:08:24.640194-08:00","updated_at":"2025-12-08T11:13:15.209806-08:00","closed_at":"2025-12-08T11:13:15.209806-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4uy9.1","depends_on_id":"opencode-swarm-plugin-4uy9","type":"parent-child","created_at":"2025-12-08T11:08:24.640519-08:00","created_by":"daemon"}]}
|
|
@@ -358,7 +358,7 @@
|
|
|
358
358
|
{"id":"opencode-swarm-plugin-6c2n","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.932844-08:00","updated_at":"2025-12-08T11:11:25.487338-08:00","closed_at":"2025-12-08T11:11:25.487338-08:00"}
|
|
359
359
|
{"id":"opencode-swarm-plugin-6cps","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.654233-08:00","updated_at":"2025-12-08T11:11:26.148419-08:00","closed_at":"2025-12-08T11:11:26.148419-08:00"}
|
|
360
360
|
{"id":"opencode-swarm-plugin-6dcg","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.735967-08:00","updated_at":"2025-12-08T07:46:51.96445-08:00","closed_at":"2025-12-08T07:46:51.96445-08:00"}
|
|
361
|
-
{"id":"opencode-swarm-plugin-6efn9","title":"Document why GET instead of HEAD in urlReachable","description":"src/tool-availability.ts:64-68 - Comment says \"Use GET instead of HEAD - some servers don't support HEAD\" but doesn't clarify that we check .ok, not response body. Add: \"We only check response.ok status, not body content, so GET has minimal overhead vs HEAD.\"","status":"
|
|
361
|
+
{"id":"opencode-swarm-plugin-6efn9","title":"Document why GET instead of HEAD in urlReachable","description":"src/tool-availability.ts:64-68 - Comment says \"Use GET instead of HEAD - some servers don't support HEAD\" but doesn't clarify that we check .ok, not response body. Add: \"We only check response.ok status, not body content, so GET has minimal overhead vs HEAD.\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:04.446096-08:00","updated_at":"2025-12-13T16:41:51.189901-08:00","closed_at":"2025-12-13T16:41:51.189901-08:00"}
|
|
362
362
|
{"id":"opencode-swarm-plugin-6eg","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.586075-08:00","updated_at":"2025-12-07T19:37:36.81509-08:00","closed_at":"2025-12-07T19:37:36.81509-08:00"}
|
|
363
363
|
{"id":"opencode-swarm-plugin-6ep7","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:11:38.996265-08:00","updated_at":"2025-12-08T08:11:41.663466-08:00","closed_at":"2025-12-08T08:11:41.663466-08:00"}
|
|
364
364
|
{"id":"opencode-swarm-plugin-6ib2a","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:42.179637-08:00","updated_at":"2025-12-08T11:12:44.081038-08:00","closed_at":"2025-12-08T11:12:44.081038-08:00"}
|
|
@@ -397,7 +397,7 @@
|
|
|
397
397
|
{"id":"opencode-swarm-plugin-75cl","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.905176-08:00","updated_at":"2025-12-08T07:53:46.313642-08:00","closed_at":"2025-12-08T07:53:46.313642-08:00"}
|
|
398
398
|
{"id":"opencode-swarm-plugin-75x7","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:49:10.547159-08:00","updated_at":"2025-12-08T07:49:12.461308-08:00","closed_at":"2025-12-08T07:49:12.461308-08:00"}
|
|
399
399
|
{"id":"opencode-swarm-plugin-75x7.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:10.614977-08:00","updated_at":"2025-12-08T07:49:12.512968-08:00","closed_at":"2025-12-08T07:49:12.512968-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-75x7.2","depends_on_id":"opencode-swarm-plugin-75x7","type":"parent-child","created_at":"2025-12-08T07:49:10.615324-08:00","created_by":"daemon"}]}
|
|
400
|
-
{"id":"opencode-swarm-plugin-76d9t","title":"Extract magic number 2000 to constant in tool-availability.ts","description":"src/tool-availability.ts:58 - Default timeout 2000ms is magic number. Extract to constant: `const DEFAULT_URL_TIMEOUT_MS = 2000;` for clarity and reusability.","status":"
|
|
400
|
+
{"id":"opencode-swarm-plugin-76d9t","title":"Extract magic number 2000 to constant in tool-availability.ts","description":"src/tool-availability.ts:58 - Default timeout 2000ms is magic number. Extract to constant: `const DEFAULT_URL_TIMEOUT_MS = 2000;` for clarity and reusability.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:01.336168-08:00","updated_at":"2025-12-13T16:41:50.541178-08:00","closed_at":"2025-12-13T16:41:50.541178-08:00"}
|
|
401
401
|
{"id":"opencode-swarm-plugin-76wq","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:26.848144-08:00","updated_at":"2025-12-08T08:21:29.687811-08:00","closed_at":"2025-12-08T08:21:29.687811-08:00"}
|
|
402
402
|
{"id":"opencode-swarm-plugin-77ka","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.150819-08:00","updated_at":"2025-12-08T08:11:41.769041-08:00","closed_at":"2025-12-08T08:11:41.769041-08:00"}
|
|
403
403
|
{"id":"opencode-swarm-plugin-79i","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:36:07.224015-08:00","updated_at":"2025-12-07T19:36:08.874819-08:00","closed_at":"2025-12-07T19:36:08.874819-08:00"}
|
|
@@ -483,13 +483,13 @@
|
|
|
483
483
|
{"id":"opencode-swarm-plugin-8i74.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.393371-08:00","updated_at":"2025-12-08T07:46:52.364985-08:00","closed_at":"2025-12-08T07:46:52.364985-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-8i74.3","depends_on_id":"opencode-swarm-plugin-8i74","type":"parent-child","created_at":"2025-12-08T07:46:50.393722-08:00","created_by":"daemon"}]}
|
|
484
484
|
{"id":"opencode-swarm-plugin-8i74.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.431219-08:00","updated_at":"2025-12-08T07:46:52.392735-08:00","closed_at":"2025-12-08T07:46:52.392735-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-8i74.4","depends_on_id":"opencode-swarm-plugin-8i74","type":"parent-child","created_at":"2025-12-08T07:46:50.431596-08:00","created_by":"daemon"}]}
|
|
485
485
|
{"id":"opencode-swarm-plugin-8j4v","title":"Debug test","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:48.012695-08:00","updated_at":"2025-12-07T19:39:53.542819-08:00","closed_at":"2025-12-07T19:39:53.542819-08:00"}
|
|
486
|
-
{"id":"opencode-swarm-plugin-8kiel","title":"Gap: No migration strategy from MCP to event-sourced","description":"src/streams/agent-mail.ts - No migration path documented or implemented for users moving from MCP-based agent-mail to embedded PGLite. Need: migration tool to export MCP data and import as events, documentation on migration steps, backward compatibility layer, or at minimum clear upgrade guide. Consider: \"migrate-from-mcp\" command, schema version detection, auto-migration on first run.","status":"
|
|
486
|
+
{"id":"opencode-swarm-plugin-8kiel","title":"Gap: No migration strategy from MCP to event-sourced","description":"src/streams/agent-mail.ts - No migration path documented or implemented for users moving from MCP-based agent-mail to embedded PGLite. Need: migration tool to export MCP data and import as events, documentation on migration steps, backward compatibility layer, or at minimum clear upgrade guide. Consider: \"migrate-from-mcp\" command, schema version detection, auto-migration on first run.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:00.37956-08:00","updated_at":"2025-12-13T16:42:00.823655-08:00","closed_at":"2025-12-13T16:42:00.823655-08:00"}
|
|
487
487
|
{"id":"opencode-swarm-plugin-8lig","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.517101-08:00","updated_at":"2025-12-08T11:12:27.978547-08:00","closed_at":"2025-12-08T11:12:27.978547-08:00"}
|
|
488
488
|
{"id":"opencode-swarm-plugin-8noh","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:45.63765-08:00","updated_at":"2025-12-08T07:53:45.716599-08:00","closed_at":"2025-12-08T07:53:45.716599-08:00"}
|
|
489
489
|
{"id":"opencode-swarm-plugin-8npbb","title":"rate-limiter.ts:328 - Opportunistic cleanup without bounds","description":"rate-limiter.ts:328 - SqliteRateLimiter cleanup happens 1% of the time but could delete large datasets without limit or batching. On large DBs, this blocks recordRequest. Suggested fix: Add LIMIT clause or batch deletion.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-10T09:06:18.513101-08:00","updated_at":"2025-12-13T15:59:42.483297-08:00","closed_at":"2025-12-13T15:59:42.483297-08:00"}
|
|
490
490
|
{"id":"opencode-swarm-plugin-8p4","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:39:10.060249-08:00","updated_at":"2025-12-07T19:39:12.022444-08:00","closed_at":"2025-12-07T19:39:12.022444-08:00"}
|
|
491
491
|
{"id":"opencode-swarm-plugin-8pyb","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:30.014902-08:00","updated_at":"2025-12-08T08:14:31.732051-08:00","closed_at":"2025-12-08T08:14:31.732051-08:00"}
|
|
492
|
-
{"id":"opencode-swarm-plugin-8qe8e","title":"Add JSDoc examples to CriterionEvaluation","description":"src/schemas/evaluation.ts:19-24 - CriterionEvaluationSchema lacks usage example. Add JSDoc with example: `{ passed: true, feedback: \"All types validated\", score: 0.95 }`","status":"
|
|
492
|
+
{"id":"opencode-swarm-plugin-8qe8e","title":"Add JSDoc examples to CriterionEvaluation","description":"src/schemas/evaluation.ts:19-24 - CriterionEvaluationSchema lacks usage example. Add JSDoc with example: `{ passed: true, feedback: \"All types validated\", score: 0.95 }`","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:13.139472-08:00","updated_at":"2025-12-13T16:48:07.364425-08:00","closed_at":"2025-12-13T16:48:07.364425-08:00"}
|
|
493
493
|
{"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"}
|
|
494
494
|
{"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"}
|
|
495
495
|
{"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"}
|
|
@@ -501,7 +501,7 @@
|
|
|
501
501
|
{"id":"opencode-swarm-plugin-93e","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:19.580617-08:00","updated_at":"2025-12-07T19:39:21.044657-08:00","closed_at":"2025-12-07T19:39:21.044657-08:00"}
|
|
502
502
|
{"id":"opencode-swarm-plugin-94mr","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.633998-08:00","updated_at":"2025-12-08T07:49:12.12296-08:00","closed_at":"2025-12-08T07:49:12.12296-08:00"}
|
|
503
503
|
{"id":"opencode-swarm-plugin-94qw","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.998023-08:00","updated_at":"2025-12-08T08:56:58.751714-08:00","closed_at":"2025-12-08T08:56:58.751714-08:00"}
|
|
504
|
-
{"id":"opencode-swarm-plugin-95o6e","title":"Add better error message for empty response in structured_validate","description":"src/structured.ts:374-385 - When JSON extraction fails, error just shows \"JSON extraction failed\". Add check for empty/whitespace-only input and provide specific message: \"Response is empty or contains only whitespace\"","status":"
|
|
504
|
+
{"id":"opencode-swarm-plugin-95o6e","title":"Add better error message for empty response in structured_validate","description":"src/structured.ts:374-385 - When JSON extraction fails, error just shows \"JSON extraction failed\". Add check for empty/whitespace-only input and provide specific message: \"Response is empty or contains only whitespace\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:51.941683-08:00","updated_at":"2025-12-13T16:45:46.102955-08:00","closed_at":"2025-12-13T16:45:46.102955-08:00"}
|
|
505
505
|
{"id":"opencode-swarm-plugin-95z7","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:10:54.38177-08:00","updated_at":"2025-12-08T11:10:56.238892-08:00","closed_at":"2025-12-08T11:10:56.238892-08:00"}
|
|
506
506
|
{"id":"opencode-swarm-plugin-96mg","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:09.574357-08:00","updated_at":"2025-12-08T11:11:11.432404-08:00","closed_at":"2025-12-08T11:11:11.432404-08:00"}
|
|
507
507
|
{"id":"opencode-swarm-plugin-96mg.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.608926-08:00","updated_at":"2025-12-08T11:11:11.457203-08:00","closed_at":"2025-12-08T11:11:11.457203-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-96mg.1","depends_on_id":"opencode-swarm-plugin-96mg","type":"parent-child","created_at":"2025-12-08T11:11:09.609228-08:00","created_by":"daemon"}]}
|
|
@@ -531,7 +531,7 @@
|
|
|
531
531
|
{"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"}
|
|
532
532
|
{"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"}]}
|
|
533
533
|
{"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"}]}
|
|
534
|
-
{"id":"opencode-swarm-plugin-9gyl9","title":"Document maturity multiplier rationale in getMaturityMultiplier","description":"src/pattern-maturity.ts:319-327 - Multipliers (candidate: 0.5, established: 1.0, proven: 1.5, deprecated: 0) not explained. Add JSDoc: \"Multipliers chosen to: heavily penalize deprecated (0), slightly boost proven (1.5x), penalize unvalidated candidates (0.5x)\"","status":"
|
|
534
|
+
{"id":"opencode-swarm-plugin-9gyl9","title":"Document maturity multiplier rationale in getMaturityMultiplier","description":"src/pattern-maturity.ts:319-327 - Multipliers (candidate: 0.5, established: 1.0, proven: 1.5, deprecated: 0) not explained. Add JSDoc: \"Multipliers chosen to: heavily penalize deprecated (0), slightly boost proven (1.5x), penalize unvalidated candidates (0.5x)\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:39.554601-08:00","updated_at":"2025-12-13T16:20:32.852341-08:00","closed_at":"2025-12-13T16:20:32.852341-08:00"}
|
|
535
535
|
{"id":"opencode-swarm-plugin-9h949","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:47.215626-08:00","updated_at":"2025-12-13T11:20:51.517622-08:00","closed_at":"2025-12-13T11:20:51.517622-08:00"}
|
|
536
536
|
{"id":"opencode-swarm-plugin-9hea","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:24.107092-08:00","updated_at":"2025-12-08T11:11:25.938473-08:00","closed_at":"2025-12-08T11:11:25.938473-08:00"}
|
|
537
537
|
{"id":"opencode-swarm-plugin-9hea.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.145132-08:00","updated_at":"2025-12-08T11:11:25.963881-08:00","closed_at":"2025-12-08T11:11:25.963881-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hea.1","depends_on_id":"opencode-swarm-plugin-9hea","type":"parent-child","created_at":"2025-12-08T11:11:24.145473-08:00","created_by":"daemon"}]}
|
|
@@ -623,7 +623,7 @@
|
|
|
623
623
|
{"id":"opencode-swarm-plugin-b0ydv","title":"Create TDD skill with lore from prime knowledge","description":"Created .opencode/skills/tdd/SKILL.md with RED-GREEN-REFACTOR workflow and lore from Kent Beck, Michael Feathers, Martin Fowler, and Ousterhout's counterpoint.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T09:12:37.165045-08:00","updated_at":"2025-12-13T09:12:40.904565-08:00","closed_at":"2025-12-13T09:12:40.904565-08:00"}
|
|
624
624
|
{"id":"opencode-swarm-plugin-b1hf","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:40.14326-08:00","updated_at":"2025-12-08T11:11:41.771573-08:00","closed_at":"2025-12-08T11:11:41.771573-08:00"}
|
|
625
625
|
{"id":"opencode-swarm-plugin-b1wpc","title":"swarm.ts:1620-1670 - runUbsScan doesn't validate JSON structure","description":"swarm.ts:1620-1670 - runUbsScan parses JSON but doesn't validate with schema. If UBS changes output format, could return malformed data or throw cryptic errors. Suggested fix: Define Zod schema for UBS output and validate.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:33.466723-08:00","updated_at":"2025-12-10T11:56:17.052815-08:00","closed_at":"2025-12-10T11:56:17.052815-08:00"}
|
|
626
|
-
{"id":"opencode-swarm-plugin-b22qj","title":"Gap: No transaction rollback error handling in appendEvents","description":"src/streams/store.ts:68-94 - appendEvents() has try/catch with ROLLBACK but if ROLLBACK itself fails (e.g., connection lost), that error is swallowed. Should log rollback failures. Also, if updateMaterializedViews fails mid-transaction, some events may be in inconsistent state. Consider: logging rollback errors, emitting error events, or adding retry logic.","status":"
|
|
626
|
+
{"id":"opencode-swarm-plugin-b22qj","title":"Gap: No transaction rollback error handling in appendEvents","description":"src/streams/store.ts:68-94 - appendEvents() has try/catch with ROLLBACK but if ROLLBACK itself fails (e.g., connection lost), that error is swallowed. Should log rollback failures. Also, if updateMaterializedViews fails mid-transaction, some events may be in inconsistent state. Consider: logging rollback errors, emitting error events, or adding retry logic.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:24:56.23944-08:00","updated_at":"2025-12-13T16:06:34.991434-08:00","closed_at":"2025-12-13T16:06:34.991434-08:00"}
|
|
627
627
|
{"id":"opencode-swarm-plugin-b39i","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:11:38.123705-08:00","updated_at":"2025-12-08T11:11:40.7258-08:00","closed_at":"2025-12-08T11:11:40.7258-08:00"}
|
|
628
628
|
{"id":"opencode-swarm-plugin-b3pr","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.77563-08:00","updated_at":"2025-12-08T08:23:20.062473-08:00","closed_at":"2025-12-08T08:23:20.062473-08:00"}
|
|
629
629
|
{"id":"opencode-swarm-plugin-b40","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.696949-08:00","updated_at":"2025-12-07T19:34:54.75136-08:00","closed_at":"2025-12-07T19:34:54.75136-08:00"}
|
|
@@ -660,12 +660,12 @@
|
|
|
660
660
|
{"id":"opencode-swarm-plugin-bsdi","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T07:53:44.245806-08:00","updated_at":"2025-12-08T07:53:46.503005-08:00","closed_at":"2025-12-08T07:53:46.503005-08:00"}
|
|
661
661
|
{"id":"opencode-swarm-plugin-bsuvl","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.23906-08:00","updated_at":"2025-12-13T11:20:50.884161-08:00","closed_at":"2025-12-13T11:20:50.884161-08:00"}
|
|
662
662
|
{"id":"opencode-swarm-plugin-bv3m","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.148679-08:00","updated_at":"2025-12-08T08:05:35.457241-08:00","closed_at":"2025-12-08T08:05:35.457241-08:00"}
|
|
663
|
-
{"id":"opencode-swarm-plugin-bvot5","title":"Document regex limitations in attemptJsonRepair","description":"src/structured.ts:249-272 - attemptJsonRepair has comment \"This is a simple heuristic - won't work for all cases\" but doesn't list known limitations. Add JSDoc: \"Limitations: single quotes in nested objects, escaped quotes in keys, multiline string detection\"","status":"
|
|
663
|
+
{"id":"opencode-swarm-plugin-bvot5","title":"Document regex limitations in attemptJsonRepair","description":"src/structured.ts:249-272 - attemptJsonRepair has comment \"This is a simple heuristic - won't work for all cases\" but doesn't list known limitations. Add JSDoc: \"Limitations: single quotes in nested objects, escaped quotes in keys, multiline string detection\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:47.470646-08:00","updated_at":"2025-12-13T16:45:44.852448-08:00","closed_at":"2025-12-13T16:45:44.852448-08:00"}
|
|
664
664
|
{"id":"opencode-swarm-plugin-bvrh","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.796296-08:00","updated_at":"2025-12-08T09:09:33.605943-08:00","closed_at":"2025-12-08T09:09:33.605943-08:00"}
|
|
665
665
|
{"id":"opencode-swarm-plugin-bvrh.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.869253-08:00","updated_at":"2025-12-08T09:09:33.656157-08:00","closed_at":"2025-12-08T09:09:33.656157-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-bvrh.2","depends_on_id":"opencode-swarm-plugin-bvrh","type":"parent-child","created_at":"2025-12-08T09:09:31.869579-08:00","created_by":"daemon"}]}
|
|
666
666
|
{"id":"opencode-swarm-plugin-bvvt","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.579794-08:00","updated_at":"2025-12-08T08:25:12.218334-08:00","closed_at":"2025-12-08T08:25:12.218334-08:00"}
|
|
667
667
|
{"id":"opencode-swarm-plugin-bxai","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.405415-08:00","updated_at":"2025-12-08T07:49:11.962035-08:00","closed_at":"2025-12-08T07:49:11.962035-08:00"}
|
|
668
|
-
{"id":"opencode-swarm-plugin-byhfs","title":"Extract magic number 0.01 epsilon to constant in pattern-maturity.ts","description":"src/pattern-maturity.ts:167 - `epsilon = 0.01` for float comparison is magic number. Extract to module constant: `const FLOAT_EPSILON = 0.01;` and document: \"Tolerance for floating-point comparisons\"","status":"
|
|
668
|
+
{"id":"opencode-swarm-plugin-byhfs","title":"Extract magic number 0.01 epsilon to constant in pattern-maturity.ts","description":"src/pattern-maturity.ts:167 - `epsilon = 0.01` for float comparison is magic number. Extract to module constant: `const FLOAT_EPSILON = 0.01;` and document: \"Tolerance for floating-point comparisons\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:29.965468-08:00","updated_at":"2025-12-13T16:41:56.538935-08:00","closed_at":"2025-12-13T16:41:56.538935-08:00"}
|
|
669
669
|
{"id":"opencode-swarm-plugin-byj9","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.947426-08:00","updated_at":"2025-12-08T08:23:20.618013-08:00","closed_at":"2025-12-08T08:23:20.618013-08:00"}
|
|
670
670
|
{"id":"opencode-swarm-plugin-byx","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:10.518007-08:00","updated_at":"2025-12-07T19:39:12.13146-08:00","closed_at":"2025-12-07T19:39:12.13146-08:00"}
|
|
671
671
|
{"id":"opencode-swarm-plugin-byx.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.54688-08:00","updated_at":"2025-12-07T19:39:12.15257-08:00","closed_at":"2025-12-07T19:39:12.15257-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-byx.1","depends_on_id":"opencode-swarm-plugin-byx","type":"parent-child","created_at":"2025-12-07T19:39:10.547179-08:00","created_by":"daemon"}]}
|
|
@@ -758,7 +758,7 @@
|
|
|
758
758
|
{"id":"opencode-swarm-plugin-d4j7","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:11:22.375891-08:00","updated_at":"2025-12-08T11:11:25.209658-08:00","closed_at":"2025-12-08T11:11:25.209658-08:00"}
|
|
759
759
|
{"id":"opencode-swarm-plugin-d5wi","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.679043-08:00","updated_at":"2025-12-07T19:56:44.826201-08:00","closed_at":"2025-12-07T19:56:44.826201-08:00"}
|
|
760
760
|
{"id":"opencode-swarm-plugin-d61a","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.158865-08:00","updated_at":"2025-12-08T11:11:25.676049-08:00","closed_at":"2025-12-08T11:11:25.676049-08:00"}
|
|
761
|
-
{"id":"opencode-swarm-plugin-d7age","title":"Gap: Integer overflow risk in timestamp conversions","description":"src/streams/store.ts:169,180 - Parsing timestamps as integers: `parseInt(row.timestamp)`. PostgreSQL BIGINT can exceed JavaScript's MAX_SAFE_INTEGER (2^53-1). Year 2286+ timestamps will overflow. Should: use BigInt for timestamp handling, or document acceptable timestamp range. Low priority but good to note for long-lived systems.","status":"
|
|
761
|
+
{"id":"opencode-swarm-plugin-d7age","title":"Gap: Integer overflow risk in timestamp conversions","description":"src/streams/store.ts:169,180 - Parsing timestamps as integers: `parseInt(row.timestamp)`. PostgreSQL BIGINT can exceed JavaScript's MAX_SAFE_INTEGER (2^53-1). Year 2286+ timestamps will overflow. Should: use BigInt for timestamp handling, or document acceptable timestamp range. Low priority but good to note for long-lived systems.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T09:25:29.654739-08:00","updated_at":"2025-12-13T16:20:35.022602-08:00","closed_at":"2025-12-13T16:20:35.022602-08:00"}
|
|
762
762
|
{"id":"opencode-swarm-plugin-d7el","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:57:06.921129-08:00","updated_at":"2025-12-07T19:57:08.670603-08:00","closed_at":"2025-12-07T19:57:08.670603-08:00"}
|
|
763
763
|
{"id":"opencode-swarm-plugin-d7el.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.989286-08:00","updated_at":"2025-12-07T19:57:08.716627-08:00","closed_at":"2025-12-07T19:57:08.716627-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-d7el.2","depends_on_id":"opencode-swarm-plugin-d7el","type":"parent-child","created_at":"2025-12-07T19:57:06.989588-08:00","created_by":"daemon"}]}
|
|
764
764
|
{"id":"opencode-swarm-plugin-d7hbl","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:41.478935-08:00","updated_at":"2025-12-08T11:12:43.861846-08:00","closed_at":"2025-12-08T11:12:43.861846-08:00"}
|
|
@@ -786,7 +786,7 @@
|
|
|
786
786
|
{"id":"opencode-swarm-plugin-dl17","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.165899-08:00","updated_at":"2025-12-08T08:56:57.785281-08:00","closed_at":"2025-12-08T08:56:57.785281-08:00"}
|
|
787
787
|
{"id":"opencode-swarm-plugin-dmt","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.777024-08:00","updated_at":"2025-12-07T19:39:18.800362-08:00","closed_at":"2025-12-07T19:39:18.800362-08:00"}
|
|
788
788
|
{"id":"opencode-swarm-plugin-doe","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:07.043805-08:00","updated_at":"2025-12-07T19:36:08.828395-08:00","closed_at":"2025-12-07T19:36:08.828395-08:00"}
|
|
789
|
-
{"id":"opencode-swarm-plugin-dqeye","title":"Add JSDoc to schema export file","description":"src/schemas/index.ts:1-78 - File lacks JSDoc describing export groups and their purposes. Add module-level JSDoc explaining that this is the central export point for all schema definitions used in the plugin.","status":"
|
|
789
|
+
{"id":"opencode-swarm-plugin-dqeye","title":"Add JSDoc to schema export file","description":"src/schemas/index.ts:1-78 - File lacks JSDoc describing export groups and their purposes. Add module-level JSDoc explaining that this is the central export point for all schema definitions used in the plugin.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:04.359624-08:00","updated_at":"2025-12-13T16:48:09.917903-08:00","closed_at":"2025-12-13T16:48:09.917903-08:00"}
|
|
790
790
|
{"id":"opencode-swarm-plugin-dqhn","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:19.288326-08:00","updated_at":"2025-12-08T08:23:19.369593-08:00","closed_at":"2025-12-08T08:23:19.369593-08:00"}
|
|
791
791
|
{"id":"opencode-swarm-plugin-dqi","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:36:08.183959-08:00","updated_at":"2025-12-07T19:36:08.363064-08:00","closed_at":"2025-12-07T19:36:08.363064-08:00"}
|
|
792
792
|
{"id":"opencode-swarm-plugin-dqi.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:08.217008-08:00","updated_at":"2025-12-07T19:36:08.292055-08:00","closed_at":"2025-12-07T19:36:08.292055-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-dqi.1","depends_on_id":"opencode-swarm-plugin-dqi","type":"parent-child","created_at":"2025-12-07T19:36:08.217302-08:00","created_by":"daemon"}]}
|
|
@@ -853,7 +853,7 @@
|
|
|
853
853
|
{"id":"opencode-swarm-plugin-evr9p.3","title":"Deduplicate YAML parser in scripts","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-12T21:14:02.144137-08:00","updated_at":"2025-12-12T21:19:54.453324-08:00","closed_at":"2025-12-12T21:19:54.453324-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-evr9p.3","depends_on_id":"opencode-swarm-plugin-evr9p","type":"parent-child","created_at":"2025-12-12T21:14:02.145641-08:00","created_by":"daemon"}]}
|
|
854
854
|
{"id":"opencode-swarm-plugin-evr9p.4","title":"Improve global-skills quality","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-12T21:14:02.192572-08:00","updated_at":"2025-12-12T21:22:50.299557-08:00","closed_at":"2025-12-12T21:22:50.299557-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-evr9p.4","depends_on_id":"opencode-swarm-plugin-evr9p","type":"parent-child","created_at":"2025-12-12T21:14:02.19349-08:00","created_by":"daemon"}]}
|
|
855
855
|
{"id":"opencode-swarm-plugin-ewj","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:07.981146-08:00","updated_at":"2025-12-07T19:36:09.265125-08:00","closed_at":"2025-12-07T19:36:09.265125-08:00"}
|
|
856
|
-
{"id":"opencode-swarm-plugin-ewrdy","title":"Document bead ID regex pattern meaning","description":"src/schemas/bead.ts:45 - Regex pattern `/^[a-z0-9]+(-[a-z0-9]+)+(\\.\\d+)?$/` is not explained. Add inline comment explaining: \"project-slug-hash format (e.g., 'my-project-abc12') with optional subtask index (.1, .2)\"","status":"
|
|
856
|
+
{"id":"opencode-swarm-plugin-ewrdy","title":"Document bead ID regex pattern meaning","description":"src/schemas/bead.ts:45 - Regex pattern `/^[a-z0-9]+(-[a-z0-9]+)+(\\.\\d+)?$/` is not explained. Add inline comment explaining: \"project-slug-hash format (e.g., 'my-project-abc12') with optional subtask index (.1, .2)\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:06.693646-08:00","updated_at":"2025-12-13T16:48:09.415056-08:00","closed_at":"2025-12-13T16:48:09.415056-08:00"}
|
|
857
857
|
{"id":"opencode-swarm-plugin-ezaw","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:11:22.419192-08:00","updated_at":"2025-12-08T11:11:25.235336-08:00","closed_at":"2025-12-08T11:11:25.235336-08:00"}
|
|
858
858
|
{"id":"opencode-swarm-plugin-f1qn","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.33332-08:00","updated_at":"2025-12-07T19:41:14.106583-08:00","closed_at":"2025-12-07T19:41:14.106583-08:00"}
|
|
859
859
|
{"id":"opencode-swarm-plugin-f1wl","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.050848-08:00","updated_at":"2025-12-08T11:11:25.59273-08:00","closed_at":"2025-12-08T11:11:25.59273-08:00"}
|
|
@@ -868,7 +868,7 @@
|
|
|
868
868
|
{"id":"opencode-swarm-plugin-f8553","title":"rate-limiter.ts:383-410 - Missing bound checks in checkWindow SQL queries","description":"rate-limiter.ts:383-410 - checkWindow SQL queries don't validate query result before accessing .count or .timestamp properties. If query fails or returns unexpected shape, undefined access occurs. Suggested fix: Add null checks and validation.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:22.687466-08:00","updated_at":"2025-12-10T11:58:24.449815-08:00","closed_at":"2025-12-10T11:58:24.449815-08:00"}
|
|
869
869
|
{"id":"opencode-swarm-plugin-f8em","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.57952-08:00","updated_at":"2025-12-08T08:56:58.050301-08:00","closed_at":"2025-12-08T08:56:58.050301-08:00"}
|
|
870
870
|
{"id":"opencode-swarm-plugin-f8u","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:37:34.46912-08:00","updated_at":"2025-12-07T19:37:36.362352-08:00","closed_at":"2025-12-07T19:37:36.362352-08:00"}
|
|
871
|
-
{"id":"opencode-swarm-plugin-f9u7d","title":"Gap: No connection timeout or query timeout","description":"src/streams/index.ts:68 - PGLite instance created with no timeout configuration. Long-running queries could hang indefinitely. Should configure: query timeout (e.g., 30s), statement timeout, connection timeout. PGLite may support options in constructor - check docs. Also: add timeout wrapper around critical operations for fail-fast behavior.","status":"
|
|
871
|
+
{"id":"opencode-swarm-plugin-f9u7d","title":"Gap: No connection timeout or query timeout","description":"src/streams/index.ts:68 - PGLite instance created with no timeout configuration. Long-running queries could hang indefinitely. Should configure: query timeout (e.g., 30s), statement timeout, connection timeout. PGLite may support options in constructor - check docs. Also: add timeout wrapper around critical operations for fail-fast behavior.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:17.064162-08:00","updated_at":"2025-12-13T16:06:35.828834-08:00","closed_at":"2025-12-13T16:06:35.828834-08:00"}
|
|
872
872
|
{"id":"opencode-swarm-plugin-facfz","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.952066-08:00","updated_at":"2025-12-13T11:20:51.328037-08:00","closed_at":"2025-12-13T11:20:51.328037-08:00"}
|
|
873
873
|
{"id":"opencode-swarm-plugin-faza","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:27.215365-08:00","updated_at":"2025-12-08T11:12:28.812764-08:00","closed_at":"2025-12-08T11:12:28.812764-08:00"}
|
|
874
874
|
{"id":"opencode-swarm-plugin-fb1d","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.650227-08:00","updated_at":"2025-12-07T19:56:44.803013-08:00","closed_at":"2025-12-07T19:56:44.803013-08:00"}
|
|
@@ -894,7 +894,7 @@
|
|
|
894
894
|
{"id":"opencode-swarm-plugin-fn2a3.3","title":"Create plugin wrapper template generator","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T12:44:59.511026-08:00","updated_at":"2025-12-09T12:52:13.47915-08:00","closed_at":"2025-12-09T12:52:13.47915-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fn2a3.3","depends_on_id":"opencode-swarm-plugin-fn2a3","type":"parent-child","created_at":"2025-12-09T12:44:59.511712-08:00","created_by":"daemon"}]}
|
|
895
895
|
{"id":"opencode-swarm-plugin-fn2a3.4","title":"Update setup command to generate new plugin wrapper","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T12:44:59.559682-08:00","updated_at":"2025-12-09T12:53:13.282356-08:00","closed_at":"2025-12-09T12:53:13.282356-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fn2a3.4","depends_on_id":"opencode-swarm-plugin-fn2a3","type":"parent-child","created_at":"2025-12-09T12:44:59.560036-08:00","created_by":"daemon"}]}
|
|
896
896
|
{"id":"opencode-swarm-plugin-fn2a3.5","title":"Export tool registry from source modules","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T12:44:59.609125-08:00","updated_at":"2025-12-09T12:46:18.092813-08:00","closed_at":"2025-12-09T12:46:18.092813-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fn2a3.5","depends_on_id":"opencode-swarm-plugin-fn2a3","type":"parent-child","created_at":"2025-12-09T12:44:59.609492-08:00","created_by":"daemon"}]}
|
|
897
|
-
{"id":"opencode-swarm-plugin-fnup6","title":"Add timestamp field to EvaluationRequest","description":"src/schemas/evaluation.ts:77-82 - EvaluationRequestSchema missing timestamp field that other schemas have. Consider adding `.optional()` timestamp for tracking when evaluation was requested.","status":"
|
|
897
|
+
{"id":"opencode-swarm-plugin-fnup6","title":"Add timestamp field to EvaluationRequest","description":"src/schemas/evaluation.ts:77-82 - EvaluationRequestSchema missing timestamp field that other schemas have. Consider adding `.optional()` timestamp for tracking when evaluation was requested.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:17.623103-08:00","updated_at":"2025-12-13T16:45:51.784813-08:00","closed_at":"2025-12-13T16:45:51.784813-08:00"}
|
|
898
898
|
{"id":"opencode-swarm-plugin-fo9z","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.635138-08:00","updated_at":"2025-12-08T07:53:46.190181-08:00","closed_at":"2025-12-08T07:53:46.190181-08:00"}
|
|
899
899
|
{"id":"opencode-swarm-plugin-foht","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:11:07.341455-08:00","updated_at":"2025-12-08T11:11:10.086863-08:00","closed_at":"2025-12-08T11:11:10.086863-08:00"}
|
|
900
900
|
{"id":"opencode-swarm-plugin-fomf","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.714274-08:00","updated_at":"2025-12-08T11:12:28.097683-08:00","closed_at":"2025-12-08T11:12:28.097683-08:00"}
|
|
@@ -916,7 +916,7 @@
|
|
|
916
916
|
{"id":"opencode-swarm-plugin-fw0sj.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.616248-08:00","updated_at":"2025-12-08T11:12:57.695802-08:00","closed_at":"2025-12-08T11:12:57.695802-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fw0sj.1","depends_on_id":"opencode-swarm-plugin-fw0sj","type":"parent-child","created_at":"2025-12-08T11:12:57.616605-08:00","created_by":"daemon"}]}
|
|
917
917
|
{"id":"opencode-swarm-plugin-fw0sj.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.64759-08:00","updated_at":"2025-12-08T11:12:57.742226-08:00","closed_at":"2025-12-08T11:12:57.742226-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fw0sj.2","depends_on_id":"opencode-swarm-plugin-fw0sj","type":"parent-child","created_at":"2025-12-08T11:12:57.6479-08:00","created_by":"daemon"}]}
|
|
918
918
|
{"id":"opencode-swarm-plugin-fw10","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.62651-08:00","updated_at":"2025-12-08T09:09:33.111246-08:00","closed_at":"2025-12-08T09:09:33.111246-08:00"}
|
|
919
|
-
{"id":"opencode-swarm-plugin-fwovc","title":"Add JSDoc to TaskDecomposition.reasoning field","description":"src/schemas/task.ts:59 - `reasoning` field has inline comment \"Why this decomposition\" but should be JSDoc for IDE tooltips. Add: \"/** Rationale for this decomposition strategy */\"","status":"
|
|
919
|
+
{"id":"opencode-swarm-plugin-fwovc","title":"Add JSDoc to TaskDecomposition.reasoning field","description":"src/schemas/task.ts:59 - `reasoning` field has inline comment \"Why this decomposition\" but should be JSDoc for IDE tooltips. Add: \"/** Rationale for this decomposition strategy */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:25.735267-08:00","updated_at":"2025-12-13T16:45:49.106586-08:00","closed_at":"2025-12-13T16:45:49.106586-08:00"}
|
|
920
920
|
{"id":"opencode-swarm-plugin-fwtl","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:11:38.057567-08:00","updated_at":"2025-12-08T11:11:40.675781-08:00","closed_at":"2025-12-08T11:11:40.675781-08:00"}
|
|
921
921
|
{"id":"opencode-swarm-plugin-fxbr","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:26.678108-08:00","updated_at":"2025-12-08T11:12:28.511904-08:00","closed_at":"2025-12-08T11:12:28.511904-08:00"}
|
|
922
922
|
{"id":"opencode-swarm-plugin-fxbr.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:26.712588-08:00","updated_at":"2025-12-08T11:12:28.537154-08:00","closed_at":"2025-12-08T11:12:28.537154-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fxbr.1","depends_on_id":"opencode-swarm-plugin-fxbr","type":"parent-child","created_at":"2025-12-08T11:12:26.712874-08:00","created_by":"daemon"}]}
|
|
@@ -993,7 +993,7 @@
|
|
|
993
993
|
{"id":"opencode-swarm-plugin-h1u","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.210601-08:00","updated_at":"2025-12-07T19:34:54.432701-08:00","closed_at":"2025-12-07T19:34:54.432701-08:00"}
|
|
994
994
|
{"id":"opencode-swarm-plugin-h2ban","title":"Gap: Memory leak potential in Map-based caching","description":"src/streams/index.ts:50,53 - instances and schemaInitialized Maps grow unbounded if many different projectPaths are used (e.g., scanning many repos). Should: implement LRU eviction, max cache size, or TTL for unused instances. Also: closeDatabase() is provided but nothing calls it automatically - consider idle timeout to auto-close.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:36.484187-08:00","updated_at":"2025-12-13T09:55:54.155264-08:00","closed_at":"2025-12-13T09:55:54.155264-08:00"}
|
|
995
995
|
{"id":"opencode-swarm-plugin-h2vh","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.457831-08:00","updated_at":"2025-12-08T11:10:27.67778-08:00","closed_at":"2025-12-08T11:10:27.67778-08:00"}
|
|
996
|
-
{"id":"opencode-swarm-plugin-h2wai","title":"Add JSDoc to fallbackBehaviors explaining usage","description":"src/tool-availability.ts:217-225 - fallbackBehaviors object lacks JSDoc. Add: \"/** Human-readable descriptions of graceful degradation behavior when tools are unavailable. Shown to users in warnings and tool status output. */\"","status":"
|
|
996
|
+
{"id":"opencode-swarm-plugin-h2wai","title":"Add JSDoc to fallbackBehaviors explaining usage","description":"src/tool-availability.ts:217-225 - fallbackBehaviors object lacks JSDoc. Add: \"/** Human-readable descriptions of graceful degradation behavior when tools are unavailable. Shown to users in warnings and tool status output. */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:10.385729-08:00","updated_at":"2025-12-13T16:41:52.233653-08:00","closed_at":"2025-12-13T16:41:52.233653-08:00"}
|
|
997
997
|
{"id":"opencode-swarm-plugin-h3hd","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T07:53:43.602181-08:00","updated_at":"2025-12-08T07:53:46.165814-08:00","closed_at":"2025-12-08T07:53:46.165814-08:00"}
|
|
998
998
|
{"id":"opencode-swarm-plugin-h51i","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:46:51.097293-08:00","updated_at":"2025-12-08T07:46:51.315935-08:00","closed_at":"2025-12-08T07:46:51.315935-08:00"}
|
|
999
999
|
{"id":"opencode-swarm-plugin-h51i.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:51.133344-08:00","updated_at":"2025-12-08T07:46:51.227943-08:00","closed_at":"2025-12-08T07:46:51.227943-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-h51i.1","depends_on_id":"opencode-swarm-plugin-h51i","type":"parent-child","created_at":"2025-12-08T07:46:51.133688-08:00","created_by":"daemon"}]}
|
|
@@ -1008,7 +1008,7 @@
|
|
|
1008
1008
|
{"id":"opencode-swarm-plugin-hbvv.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.977042-08:00","updated_at":"2025-12-08T11:10:27.082296-08:00","closed_at":"2025-12-08T11:10:27.082296-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-hbvv.2","depends_on_id":"opencode-swarm-plugin-hbvv","type":"parent-child","created_at":"2025-12-08T11:10:26.977472-08:00","created_by":"daemon"}]}
|
|
1009
1009
|
{"id":"opencode-swarm-plugin-hd81j","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:42.380734-08:00","updated_at":"2025-12-13T11:18:46.305204-08:00","closed_at":"2025-12-13T11:18:46.305204-08:00"}
|
|
1010
1010
|
{"id":"opencode-swarm-plugin-hejy","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.290114-08:00","updated_at":"2025-12-08T11:11:25.728542-08:00","closed_at":"2025-12-08T11:11:25.728542-08:00"}
|
|
1011
|
-
{"id":"opencode-swarm-plugin-helin","title":"Document subtask index in SubtaskDependency","description":"src/schemas/task.ts:46-47 - `from` and `to` fields say \"subtask index\" but don't clarify zero-based. Add: \"/** Zero-based subtask index */\"","status":"
|
|
1011
|
+
{"id":"opencode-swarm-plugin-helin","title":"Document subtask index in SubtaskDependency","description":"src/schemas/task.ts:46-47 - `from` and `to` fields say \"subtask index\" but don't clarify zero-based. Add: \"/** Zero-based subtask index */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:24.053154-08:00","updated_at":"2025-12-13T16:45:48.648104-08:00","closed_at":"2025-12-13T16:45:48.648104-08:00"}
|
|
1012
1012
|
{"id":"opencode-swarm-plugin-hgks","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.769438-08:00","updated_at":"2025-12-08T08:14:31.115138-08:00","closed_at":"2025-12-08T08:14:31.115138-08:00"}
|
|
1013
1013
|
{"id":"opencode-swarm-plugin-hh5mf","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T11:16:37.463069-08:00","updated_at":"2025-12-13T11:16:40.618038-08:00","closed_at":"2025-12-13T11:16:40.618038-08:00"}
|
|
1014
1014
|
{"id":"opencode-swarm-plugin-hh5mf.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:37.516054-08:00","updated_at":"2025-12-13T11:16:40.663289-08:00","closed_at":"2025-12-13T11:16:40.663289-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-hh5mf.1","depends_on_id":"opencode-swarm-plugin-hh5mf","type":"parent-child","created_at":"2025-12-13T11:16:37.516849-08:00","created_by":"daemon"}]}
|
|
@@ -1040,7 +1040,7 @@
|
|
|
1040
1040
|
{"id":"opencode-swarm-plugin-hwkw","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.977487-08:00","updated_at":"2025-12-08T08:21:30.235317-08:00","closed_at":"2025-12-08T08:21:30.235317-08:00"}
|
|
1041
1041
|
{"id":"opencode-swarm-plugin-hxjpi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:31.67785-08:00","updated_at":"2025-12-10T09:08:35.265628-08:00","closed_at":"2025-12-10T09:08:35.265628-08:00"}
|
|
1042
1042
|
{"id":"opencode-swarm-plugin-hygj","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.054995-08:00","updated_at":"2025-12-08T08:22:19.388286-08:00","closed_at":"2025-12-08T08:22:19.388286-08:00"}
|
|
1043
|
-
{"id":"opencode-swarm-plugin-hyj89","title":"Add module-level JSDoc to structured.ts","description":"src/structured.ts:1-12 - Good module doc but missing usage guidance. Add: \"Usage: 1) structured_extract_json for raw extraction, 2) structured_validate for schema validation, 3) structured_parse_* for typed parsing\"","status":"
|
|
1043
|
+
{"id":"opencode-swarm-plugin-hyj89","title":"Add module-level JSDoc to structured.ts","description":"src/structured.ts:1-12 - Good module doc but missing usage guidance. Add: \"Usage: 1) structured_extract_json for raw extraction, 2) structured_validate for schema validation, 3) structured_parse_* for typed parsing\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:36.497225-08:00","updated_at":"2025-12-13T16:45:42.956445-08:00","closed_at":"2025-12-13T16:45:42.956445-08:00"}
|
|
1044
1044
|
{"id":"opencode-swarm-plugin-i04xf","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:31.916345-08:00","updated_at":"2025-12-10T09:08:35.373271-08:00","closed_at":"2025-12-10T09:08:35.373271-08:00"}
|
|
1045
1045
|
{"id":"opencode-swarm-plugin-i1ef","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:39:29.83577-08:00","updated_at":"2025-12-07T19:39:31.515373-08:00","closed_at":"2025-12-07T19:39:31.515373-08:00"}
|
|
1046
1046
|
{"id":"opencode-swarm-plugin-i2pf","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:30.024399-08:00","updated_at":"2025-12-07T19:39:31.62471-08:00","closed_at":"2025-12-07T19:39:31.62471-08:00"}
|
|
@@ -1048,7 +1048,7 @@
|
|
|
1048
1048
|
{"id":"opencode-swarm-plugin-i3xt","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.858823-08:00","updated_at":"2025-12-08T07:46:52.507243-08:00","closed_at":"2025-12-08T07:46:52.507243-08:00"}
|
|
1049
1049
|
{"id":"opencode-swarm-plugin-i41","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.076515-08:00","updated_at":"2025-12-07T19:37:36.161986-08:00","closed_at":"2025-12-07T19:37:36.161986-08:00"}
|
|
1050
1050
|
{"id":"opencode-swarm-plugin-i5nrg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.519759-08:00","updated_at":"2025-12-08T11:12:58.065517-08:00","closed_at":"2025-12-08T11:12:58.065517-08:00"}
|
|
1051
|
-
{"id":"opencode-swarm-plugin-i6dpl","title":"Add usage example to resetToolCache JSDoc","description":"src/tool-availability.ts:369-372 - resetToolCache says \"for testing\" but doesn't explain when else to use. Add: \"/** Reset tool cache. Use in tests, or when tool availability may have changed (e.g., after installing a tool). */\"","status":"
|
|
1051
|
+
{"id":"opencode-swarm-plugin-i6dpl","title":"Add usage example to resetToolCache JSDoc","description":"src/tool-availability.ts:369-372 - resetToolCache says \"for testing\" but doesn't explain when else to use. Add: \"/** Reset tool cache. Use in tests, or when tool availability may have changed (e.g., after installing a tool). */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:13.17266-08:00","updated_at":"2025-12-13T16:41:53.358205-08:00","closed_at":"2025-12-13T16:41:53.358205-08:00"}
|
|
1052
1052
|
{"id":"opencode-swarm-plugin-i6odv","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-10T09:06:05.747258-08:00","updated_at":"2025-12-10T09:06:09.673753-08:00","closed_at":"2025-12-10T09:06:09.673753-08:00"}
|
|
1053
1053
|
{"id":"opencode-swarm-plugin-i7yl2","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:56.80513-08:00","updated_at":"2025-12-08T11:12:58.656807-08:00","closed_at":"2025-12-08T11:12:58.656807-08:00"}
|
|
1054
1054
|
{"id":"opencode-swarm-plugin-i7yl2.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:56.835116-08:00","updated_at":"2025-12-08T11:12:58.68216-08:00","closed_at":"2025-12-08T11:12:58.68216-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-i7yl2.1","depends_on_id":"opencode-swarm-plugin-i7yl2","type":"parent-child","created_at":"2025-12-08T11:12:56.835409-08:00","created_by":"daemon"}]}
|
|
@@ -1066,12 +1066,12 @@
|
|
|
1066
1066
|
{"id":"opencode-swarm-plugin-idou.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.186768-08:00","updated_at":"2025-12-07T19:57:08.865323-08:00","closed_at":"2025-12-07T19:57:08.865323-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-idou.3","depends_on_id":"opencode-swarm-plugin-idou","type":"parent-child","created_at":"2025-12-07T19:57:07.187083-08:00","created_by":"daemon"}]}
|
|
1067
1067
|
{"id":"opencode-swarm-plugin-idou.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.218669-08:00","updated_at":"2025-12-07T19:57:08.887737-08:00","closed_at":"2025-12-07T19:57:08.887737-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-idou.4","depends_on_id":"opencode-swarm-plugin-idou","type":"parent-child","created_at":"2025-12-07T19:57:07.222363-08:00","created_by":"daemon"}]}
|
|
1068
1068
|
{"id":"opencode-swarm-plugin-idz7","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.61777-08:00","updated_at":"2025-12-08T11:11:26.259353-08:00","closed_at":"2025-12-08T11:11:26.259353-08:00"}
|
|
1069
|
-
{"id":"opencode-swarm-plugin-ierlm","title":"Simplify double destructuring in structured_parse_evaluation","description":"src/structured.ts:444 - `(v as { passed: boolean }).passed` type assertion is verbose. Since we've validated with EvaluationSchema, use type guard or cast validated earlier: `const criterion = v as CriterionEvaluation; criterion.passed`","status":"
|
|
1069
|
+
{"id":"opencode-swarm-plugin-ierlm","title":"Simplify double destructuring in structured_parse_evaluation","description":"src/structured.ts:444 - `(v as { passed: boolean }).passed` type assertion is verbose. Since we've validated with EvaluationSchema, use type guard or cast validated earlier: `const criterion = v as CriterionEvaluation; criterion.passed`","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:57.069749-08:00","updated_at":"2025-12-13T16:45:47.110329-08:00","closed_at":"2025-12-13T16:45:47.110329-08:00"}
|
|
1070
1070
|
{"id":"opencode-swarm-plugin-if1q","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:14:29.562596-08:00","updated_at":"2025-12-08T08:14:31.381744-08:00","closed_at":"2025-12-08T08:14:31.381744-08:00"}
|
|
1071
1071
|
{"id":"opencode-swarm-plugin-if1q.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.594846-08:00","updated_at":"2025-12-08T08:14:31.404566-08:00","closed_at":"2025-12-08T08:14:31.404566-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-if1q.1","depends_on_id":"opencode-swarm-plugin-if1q","type":"parent-child","created_at":"2025-12-08T08:14:29.595146-08:00","created_by":"daemon"}]}
|
|
1072
1072
|
{"id":"opencode-swarm-plugin-if1q.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:14:29.624489-08:00","updated_at":"2025-12-08T08:14:31.42969-08:00","closed_at":"2025-12-08T08:14:31.42969-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-if1q.2","depends_on_id":"opencode-swarm-plugin-if1q","type":"parent-child","created_at":"2025-12-08T08:14:29.624781-08:00","created_by":"daemon"}]}
|
|
1073
1073
|
{"id":"opencode-swarm-plugin-if3v","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.346318-08:00","updated_at":"2025-12-08T11:10:55.820026-08:00","closed_at":"2025-12-08T11:10:55.820026-08:00"}
|
|
1074
|
-
{"id":"opencode-swarm-plugin-ifb8b","title":"Gap: Insufficient logging/observability","description":"src/streams/store.ts, agent-mail.ts - No logging for critical operations: event appends, materialized view updates, database errors, conflicts detected. Makes debugging production issues hard. Should add structured logging (console.error/warn at minimum) for: database connection errors, event append failures, projection update failures, conflict detection, reservation operations. Consider: log levels (info/warn/error), context fields (projectKey, agentName, eventType).","status":"
|
|
1074
|
+
{"id":"opencode-swarm-plugin-ifb8b","title":"Gap: Insufficient logging/observability","description":"src/streams/store.ts, agent-mail.ts - No logging for critical operations: event appends, materialized view updates, database errors, conflicts detected. Makes debugging production issues hard. Should add structured logging (console.error/warn at minimum) for: database connection errors, event append failures, projection update failures, conflict detection, reservation operations. Consider: log levels (info/warn/error), context fields (projectKey, agentName, eventType).","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:07.066447-08:00","updated_at":"2025-12-13T16:06:34.32075-08:00","closed_at":"2025-12-13T16:06:34.32075-08:00"}
|
|
1075
1075
|
{"id":"opencode-swarm-plugin-ihjia","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:48:41.498669-08:00","updated_at":"2025-12-13T14:48:45.245218-08:00","closed_at":"2025-12-13T14:48:45.245218-08:00"}
|
|
1076
1076
|
{"id":"opencode-swarm-plugin-ijyv","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:56:56.579396-08:00","updated_at":"2025-12-08T08:56:58.480064-08:00","closed_at":"2025-12-08T08:56:58.480064-08:00"}
|
|
1077
1077
|
{"id":"opencode-swarm-plugin-ijyv.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.641855-08:00","updated_at":"2025-12-08T08:56:58.530793-08:00","closed_at":"2025-12-08T08:56:58.530793-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ijyv.2","depends_on_id":"opencode-swarm-plugin-ijyv","type":"parent-child","created_at":"2025-12-08T08:56:56.642441-08:00","created_by":"daemon"}]}
|
|
@@ -1144,20 +1144,20 @@
|
|
|
1144
1144
|
{"id":"opencode-swarm-plugin-k8d","title":"Docker integration test infrastructure","description":"Create Docker-based integration test environment with real beads CLI and Agent Mail server for testing all plugin modules without mocks","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:24:22.198656-08:00","updated_at":"2025-12-08T08:35:24.03232-08:00","closed_at":"2025-12-08T08:35:24.03232-08:00"}
|
|
1145
1145
|
{"id":"opencode-swarm-plugin-k93","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:39:10.444177-08:00","updated_at":"2025-12-07T19:39:12.109004-08:00","closed_at":"2025-12-07T19:39:12.109004-08:00"}
|
|
1146
1146
|
{"id":"opencode-swarm-plugin-k96p","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.442437-08:00","updated_at":"2025-12-08T11:11:10.936726-08:00","closed_at":"2025-12-08T11:11:10.936726-08:00"}
|
|
1147
|
-
{"id":"opencode-swarm-plugin-k9jxm","title":"Extract magic number 9 to constant in recordPatternObservation","description":"src/anti-patterns.ts:189 - `.slice(-9)` to keep last 10 examples (9 + new = 10) is not obvious. Extract to constant: `const MAX_EXAMPLE_BEADS = 10;` and use `slice(-(MAX_EXAMPLE_BEADS - 1))`","status":"
|
|
1147
|
+
{"id":"opencode-swarm-plugin-k9jxm","title":"Extract magic number 9 to constant in recordPatternObservation","description":"src/anti-patterns.ts:189 - `.slice(-9)` to keep last 10 examples (9 + new = 10) is not obvious. Extract to constant: `const MAX_EXAMPLE_BEADS = 10;` and use `slice(-(MAX_EXAMPLE_BEADS - 1))`","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:19.594675-08:00","updated_at":"2025-12-13T16:41:54.755714-08:00","closed_at":"2025-12-13T16:41:54.755714-08:00"}
|
|
1148
1148
|
{"id":"opencode-swarm-plugin-kaj5o","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:12:55.432953-08:00","updated_at":"2025-12-08T11:12:57.998991-08:00","closed_at":"2025-12-08T11:12:57.998991-08:00"}
|
|
1149
1149
|
{"id":"opencode-swarm-plugin-kci6","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.191794-08:00","updated_at":"2025-12-08T07:53:46.477523-08:00","closed_at":"2025-12-08T07:53:46.477523-08:00"}
|
|
1150
1150
|
{"id":"opencode-swarm-plugin-kcm4","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.997856-08:00","updated_at":"2025-12-08T08:22:19.364091-08:00","closed_at":"2025-12-08T08:22:19.364091-08:00"}
|
|
1151
1151
|
{"id":"opencode-swarm-plugin-ke2","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.703355-08:00","updated_at":"2025-12-07T19:34:55.270106-08:00","closed_at":"2025-12-07T19:34:55.270106-08:00"}
|
|
1152
1152
|
{"id":"opencode-swarm-plugin-ke73t","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:38.210712-08:00","updated_at":"2025-12-13T11:16:41.094483-08:00","closed_at":"2025-12-13T11:16:41.094483-08:00"}
|
|
1153
|
-
{"id":"opencode-swarm-plugin-kg04n","title":"Production-Ready Swarm Mail + Skills Integration","description":"Fix 18 production readiness gaps in Swarm Mail (error handling, race conditions, logging, timeouts, pagination, cleanup) and update CLI prompts/templates to leverage global skills effectively","status":"
|
|
1153
|
+
{"id":"opencode-swarm-plugin-kg04n","title":"Production-Ready Swarm Mail + Skills Integration","description":"Fix 18 production readiness gaps in Swarm Mail (error handling, race conditions, logging, timeouts, pagination, cleanup) and update CLI prompts/templates to leverage global skills effectively","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T09:50:37.986193-08:00","updated_at":"2025-12-13T16:45:57.642789-08:00","closed_at":"2025-12-13T16:45:57.642789-08:00"}
|
|
1154
1154
|
{"id":"opencode-swarm-plugin-kg04n.1","title":"Fix database singleton: error handling, race condition, process exit handlers","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T09:50:38.047239-08:00","updated_at":"2025-12-13T10:00:16.730133-08:00","closed_at":"2025-12-13T10:00:16.730133-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.1","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.048675-08:00","created_by":"daemon"}]}
|
|
1155
1155
|
{"id":"opencode-swarm-plugin-kg04n.2","title":"Fix store.ts: transaction rollback, N+1 queries, pagination","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T09:50:38.103935-08:00","updated_at":"2025-12-13T15:59:41.133577-08:00","closed_at":"2025-12-13T15:59:41.133577-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.2","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.105771-08:00","created_by":"daemon"}]}
|
|
1156
1156
|
{"id":"opencode-swarm-plugin-kg04n.3","title":"Add logging, timeouts, and reservation cleanup","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.162535-08:00","updated_at":"2025-12-13T15:59:41.674936-08:00","closed_at":"2025-12-13T15:59:41.674936-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.3","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.163973-08:00","created_by":"daemon"}]}
|
|
1157
|
-
{"id":"opencode-swarm-plugin-kg04n.4","title":"Add schema migration system","description":"","status":"
|
|
1158
|
-
{"id":"opencode-swarm-plugin-kg04n.5","title":"Add performance monitoring and thread safety docs","description":"","status":"
|
|
1157
|
+
{"id":"opencode-swarm-plugin-kg04n.4","title":"Add schema migration system","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.223066-08:00","updated_at":"2025-12-13T16:45:52.324654-08:00","closed_at":"2025-12-13T16:45:52.324654-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.4","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.224391-08:00","created_by":"daemon"}]}
|
|
1158
|
+
{"id":"opencode-swarm-plugin-kg04n.5","title":"Add performance monitoring and thread safety docs","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.282357-08:00","updated_at":"2025-12-13T16:41:58.122669-08:00","closed_at":"2025-12-13T16:41:58.122669-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.5","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.283586-08:00","created_by":"daemon"}]}
|
|
1159
1159
|
{"id":"opencode-swarm-plugin-kg04n.6","title":"Update CLI prompts to leverage global skills","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.335876-08:00","updated_at":"2025-12-13T09:54:29.523416-08:00","closed_at":"2025-12-13T09:54:29.523416-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.6","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.336793-08:00","created_by":"daemon"}]}
|
|
1160
|
-
{"id":"opencode-swarm-plugin-kg04n.7","title":"Document MCP migration path and update README","description":"","status":"
|
|
1160
|
+
{"id":"opencode-swarm-plugin-kg04n.7","title":"Document MCP migration path and update README","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T09:50:38.389891-08:00","updated_at":"2025-12-13T16:41:59.947546-08:00","closed_at":"2025-12-13T16:41:59.947546-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.7","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.391664-08:00","created_by":"daemon"}]}
|
|
1161
1161
|
{"id":"opencode-swarm-plugin-kgj","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:36:06.845975-08:00","updated_at":"2025-12-07T19:36:08.783931-08:00","closed_at":"2025-12-07T19:36:08.783931-08:00"}
|
|
1162
1162
|
{"id":"opencode-swarm-plugin-kgre1","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:06:07.299289-08:00","updated_at":"2025-12-10T09:06:10.298015-08:00","closed_at":"2025-12-10T09:06:10.298015-08:00"}
|
|
1163
1163
|
{"id":"opencode-swarm-plugin-kh6l","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:36:18.341237-08:00","updated_at":"2025-12-08T08:36:19.969457-08:00","closed_at":"2025-12-08T08:36:19.969457-08:00"}
|
|
@@ -1175,7 +1175,7 @@
|
|
|
1175
1175
|
{"id":"opencode-swarm-plugin-knh71.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T11:20:48.424697-08:00","updated_at":"2025-12-13T11:20:51.935658-08:00","closed_at":"2025-12-13T11:20:51.935658-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-knh71.2","depends_on_id":"opencode-swarm-plugin-knh71","type":"parent-child","created_at":"2025-12-13T11:20:48.4254-08:00","created_by":"daemon"}]}
|
|
1176
1176
|
{"id":"opencode-swarm-plugin-knh71.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:20:48.479193-08:00","updated_at":"2025-12-13T11:20:51.973575-08:00","closed_at":"2025-12-13T11:20:51.973575-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-knh71.3","depends_on_id":"opencode-swarm-plugin-knh71","type":"parent-child","created_at":"2025-12-13T11:20:48.479959-08:00","created_by":"daemon"}]}
|
|
1177
1177
|
{"id":"opencode-swarm-plugin-kptb","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:41:10.637373-08:00","updated_at":"2025-12-07T19:41:13.253191-08:00","closed_at":"2025-12-07T19:41:13.253191-08:00"}
|
|
1178
|
-
{"id":"opencode-swarm-plugin-kr0ue","title":"Document shared_context usage pattern","description":"src/schemas/task.ts:62 - `shared_context` field comment \"Context to pass to all agents\" is vague. Add example: \"/** Shared context for all agents (e.g., API contracts, shared types, project conventions) */\"","status":"
|
|
1178
|
+
{"id":"opencode-swarm-plugin-kr0ue","title":"Document shared_context usage pattern","description":"src/schemas/task.ts:62 - `shared_context` field comment \"Context to pass to all agents\" is vague. Add example: \"/** Shared context for all agents (e.g., API contracts, shared types, project conventions) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:27.641899-08:00","updated_at":"2025-12-13T16:45:49.63414-08:00","closed_at":"2025-12-13T16:45:49.63414-08:00"}
|
|
1179
1179
|
{"id":"opencode-swarm-plugin-ksf8","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.941287-08:00","updated_at":"2025-12-08T11:11:25.542086-08:00","closed_at":"2025-12-08T11:11:25.542086-08:00"}
|
|
1180
1180
|
{"id":"opencode-swarm-plugin-ksju","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.209169-08:00","updated_at":"2025-12-07T19:39:31.293491-08:00","closed_at":"2025-12-07T19:39:31.293491-08:00"}
|
|
1181
1181
|
{"id":"opencode-swarm-plugin-ku18","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:21:28.450162-08:00","updated_at":"2025-12-08T08:21:30.491525-08:00","closed_at":"2025-12-08T08:21:30.491525-08:00"}
|
|
@@ -1193,7 +1193,7 @@
|
|
|
1193
1193
|
{"id":"opencode-swarm-plugin-l3hj","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:56:43.04206-08:00","updated_at":"2025-12-07T19:56:45.007684-08:00","closed_at":"2025-12-07T19:56:45.007684-08:00"}
|
|
1194
1194
|
{"id":"opencode-swarm-plugin-l3zw","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:28.705221-08:00","updated_at":"2025-12-08T08:21:30.697066-08:00","closed_at":"2025-12-08T08:21:30.697066-08:00"}
|
|
1195
1195
|
{"id":"opencode-swarm-plugin-l436","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:21:27.649303-08:00","updated_at":"2025-12-08T08:21:30.152076-08:00","closed_at":"2025-12-08T08:21:30.152076-08:00"}
|
|
1196
|
-
{"id":"opencode-swarm-plugin-l5i5e","title":"Add validation message for datetime schema","description":"src/schemas/bead.ts:51-53 - datetime schemas have default Zod error messages. Add custom message: `.datetime({ offset: true, message: \"Must be ISO-8601 with timezone\" })`","status":"
|
|
1196
|
+
{"id":"opencode-swarm-plugin-l5i5e","title":"Add validation message for datetime schema","description":"src/schemas/bead.ts:51-53 - datetime schemas have default Zod error messages. Add custom message: `.datetime({ offset: true, message: \"Must be ISO-8601 with timezone\" })`","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:08.592079-08:00","updated_at":"2025-12-13T16:48:08.881079-08:00","closed_at":"2025-12-13T16:48:08.881079-08:00"}
|
|
1197
1197
|
{"id":"opencode-swarm-plugin-l5ya","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.338829-08:00","updated_at":"2025-12-08T11:12:27.840456-08:00","closed_at":"2025-12-08T11:12:27.840456-08:00"}
|
|
1198
1198
|
{"id":"opencode-swarm-plugin-l6ce","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.548007-08:00","updated_at":"2025-12-08T11:11:25.671739-08:00","closed_at":"2025-12-08T11:11:25.671739-08:00"}
|
|
1199
1199
|
{"id":"opencode-swarm-plugin-l78f","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.681415-08:00","updated_at":"2025-12-08T11:10:28.233685-08:00","closed_at":"2025-12-08T11:10:28.233685-08:00"}
|
|
@@ -1208,7 +1208,7 @@
|
|
|
1208
1208
|
{"id":"opencode-swarm-plugin-lib","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:37:35.075852-08:00","updated_at":"2025-12-07T19:37:36.603302-08:00","closed_at":"2025-12-07T19:37:36.603302-08:00"}
|
|
1209
1209
|
{"id":"opencode-swarm-plugin-lifp9","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:47.300698-08:00","updated_at":"2025-12-13T11:20:51.556708-08:00","closed_at":"2025-12-13T11:20:51.556708-08:00"}
|
|
1210
1210
|
{"id":"opencode-swarm-plugin-lit5","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.797757-08:00","updated_at":"2025-12-08T09:09:33.183527-08:00","closed_at":"2025-12-08T09:09:33.183527-08:00"}
|
|
1211
|
-
{"id":"opencode-swarm-plugin-ljchj","title":"Add minimum observation threshold to formatMaturityForPrompt","description":"src/pattern-maturity.ts:337-354 - formatMaturityForPrompt shows percentages even for 1 observation (100% from 1 sample is misleading). Add check: if total \u0026lt; 3, show \"Limited data (N observations)\" instead of percentages.","status":"
|
|
1211
|
+
{"id":"opencode-swarm-plugin-ljchj","title":"Add minimum observation threshold to formatMaturityForPrompt","description":"src/pattern-maturity.ts:337-354 - formatMaturityForPrompt shows percentages even for 1 observation (100% from 1 sample is misleading). Add check: if total \u0026lt; 3, show \"Limited data (N observations)\" instead of percentages.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:42.236056-08:00","updated_at":"2025-12-13T16:20:31.992553-08:00","closed_at":"2025-12-13T16:20:31.992553-08:00"}
|
|
1212
1212
|
{"id":"opencode-swarm-plugin-ll15","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:22:18.723191-08:00","updated_at":"2025-12-08T08:22:18.922132-08:00","closed_at":"2025-12-08T08:22:18.922132-08:00"}
|
|
1213
1213
|
{"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"}]}
|
|
1214
1214
|
{"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"}]}
|
|
@@ -1263,7 +1263,7 @@
|
|
|
1263
1263
|
{"id":"opencode-swarm-plugin-m945","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:23:18.494405-08:00","updated_at":"2025-12-08T08:23:20.338516-08:00","closed_at":"2025-12-08T08:23:20.338516-08:00"}
|
|
1264
1264
|
{"id":"opencode-swarm-plugin-m945.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.559296-08:00","updated_at":"2025-12-08T08:23:20.39017-08:00","closed_at":"2025-12-08T08:23:20.39017-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-m945.2","depends_on_id":"opencode-swarm-plugin-m945","type":"parent-child","created_at":"2025-12-08T08:23:18.559728-08:00","created_by":"daemon"}]}
|
|
1265
1265
|
{"id":"opencode-swarm-plugin-ma95","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:22:17.171295-08:00","updated_at":"2025-12-08T08:22:19.435433-08:00","closed_at":"2025-12-08T08:22:19.435433-08:00"}
|
|
1266
|
-
{"id":"opencode-swarm-plugin-manrh","title":"Gap: No performance monitoring or slow query logging","description":"All query operations - No timing instrumentation to detect slow queries. In production, you'd want to know which operations are taking \u003e1s. Should: add query timing wrapper, log slow queries (\u003e100ms threshold), emit metrics for appendEvent, readEvents, projection updates. Consider: performance.now() wrapper, histogram of query times, alerting on P99 latency.","status":"
|
|
1266
|
+
{"id":"opencode-swarm-plugin-manrh","title":"Gap: No performance monitoring or slow query logging","description":"All query operations - No timing instrumentation to detect slow queries. In production, you'd want to know which operations are taking \u003e1s. Should: add query timing wrapper, log slow queries (\u003e100ms threshold), emit metrics for appendEvent, readEvents, projection updates. Consider: performance.now() wrapper, histogram of query times, alerting on P99 latency.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T09:25:32.95699-08:00","updated_at":"2025-12-13T16:41:59.389137-08:00","closed_at":"2025-12-13T16:41:59.389137-08:00"}
|
|
1267
1267
|
{"id":"opencode-swarm-plugin-mb56","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:22:17.82073-08:00","updated_at":"2025-12-08T08:22:19.66901-08:00","closed_at":"2025-12-08T08:22:19.66901-08:00"}
|
|
1268
1268
|
{"id":"opencode-swarm-plugin-mb56.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.890421-08:00","updated_at":"2025-12-08T08:22:19.723982-08:00","closed_at":"2025-12-08T08:22:19.723982-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-mb56.2","depends_on_id":"opencode-swarm-plugin-mb56","type":"parent-child","created_at":"2025-12-08T08:22:17.890835-08:00","created_by":"daemon"}]}
|
|
1269
1269
|
{"id":"opencode-swarm-plugin-mbkma","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T11:16:37.734961-08:00","updated_at":"2025-12-13T11:16:40.838801-08:00","closed_at":"2025-12-13T11:16:40.838801-08:00"}
|
|
@@ -1289,7 +1289,7 @@
|
|
|
1289
1289
|
{"id":"opencode-swarm-plugin-mo2a","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.537916-08:00","updated_at":"2025-12-08T08:23:19.944563-08:00","closed_at":"2025-12-08T08:23:19.944563-08:00"}
|
|
1290
1290
|
{"id":"opencode-swarm-plugin-mp8b","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:05:33.3177-08:00","updated_at":"2025-12-08T08:05:35.533355-08:00","closed_at":"2025-12-08T08:05:35.533355-08:00"}
|
|
1291
1291
|
{"id":"opencode-swarm-plugin-mqd8n","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:22.208873-08:00","updated_at":"2025-12-10T09:07:25.655029-08:00","closed_at":"2025-12-10T09:07:25.655029-08:00"}
|
|
1292
|
-
{"id":"opencode-swarm-plugin-mqhmm","title":"Document extraction strategy priority order","description":"src/structured.ts:118-190 - extractJsonFromText tries 6 strategies but priority reasoning not documented. Add JSDoc: \"Strategies tried in order: 1) direct parse (fastest), 2-3) code blocks (common), 4-5) brace matching (resilient), 6) repair (last resort)\"","status":"
|
|
1292
|
+
{"id":"opencode-swarm-plugin-mqhmm","title":"Document extraction strategy priority order","description":"src/structured.ts:118-190 - extractJsonFromText tries 6 strategies but priority reasoning not documented. Add JSDoc: \"Strategies tried in order: 1) direct parse (fastest), 2-3) code blocks (common), 4-5) brace matching (resilient), 6) repair (last resort)\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:42.644422-08:00","updated_at":"2025-12-13T16:45:43.863641-08:00","closed_at":"2025-12-13T16:45:43.863641-08:00"}
|
|
1293
1293
|
{"id":"opencode-swarm-plugin-mquw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.67798-08:00","updated_at":"2025-12-08T08:14:31.039942-08:00","closed_at":"2025-12-08T08:14:31.039942-08:00"}
|
|
1294
1294
|
{"id":"opencode-swarm-plugin-mrlu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.613409-08:00","updated_at":"2025-12-08T08:22:19.162032-08:00","closed_at":"2025-12-08T08:22:19.162032-08:00"}
|
|
1295
1295
|
{"id":"opencode-swarm-plugin-msud","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.67052-08:00","updated_at":"2025-12-08T09:09:33.50072-08:00","closed_at":"2025-12-08T09:09:33.50072-08:00"}
|
|
@@ -1362,7 +1362,7 @@
|
|
|
1362
1362
|
{"id":"opencode-swarm-plugin-o6s","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:39:18.006147-08:00","updated_at":"2025-12-07T19:39:20.281664-08:00","closed_at":"2025-12-07T19:39:20.281664-08:00"}
|
|
1363
1363
|
{"id":"opencode-swarm-plugin-o7ab8","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.123784-08:00","updated_at":"2025-12-08T11:12:58.860702-08:00","closed_at":"2025-12-08T11:12:58.860702-08:00"}
|
|
1364
1364
|
{"id":"opencode-swarm-plugin-o7u8","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.889028-08:00","updated_at":"2025-12-08T08:22:19.315049-08:00","closed_at":"2025-12-08T08:22:19.315049-08:00"}
|
|
1365
|
-
{"id":"opencode-swarm-plugin-o8i7h","title":"Extract magic number 200 to constant in structured.ts","description":"src/structured.ts:329 - Magic number 200 for preview length. Extract to constant: `const RAW_INPUT_PREVIEW_LENGTH = 200;` and use it on lines 329, 380.","status":"
|
|
1365
|
+
{"id":"opencode-swarm-plugin-o8i7h","title":"Extract magic number 200 to constant in structured.ts","description":"src/structured.ts:329 - Magic number 200 for preview length. Extract to constant: `const RAW_INPUT_PREVIEW_LENGTH = 200;` and use it on lines 329, 380.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:49.829007-08:00","updated_at":"2025-12-13T16:45:45.52985-08:00","closed_at":"2025-12-13T16:45:45.52985-08:00"}
|
|
1366
1366
|
{"id":"opencode-swarm-plugin-o8rvk","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:43.757273-08:00","updated_at":"2025-12-13T14:48:43.885987-08:00","closed_at":"2025-12-13T14:48:43.885987-08:00"}
|
|
1367
1367
|
{"id":"opencode-swarm-plugin-o971j","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:41.364171-08:00","updated_at":"2025-12-13T11:18:45.726564-08:00","closed_at":"2025-12-13T11:18:45.726564-08:00"}
|
|
1368
1368
|
{"id":"opencode-swarm-plugin-oa82","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.435018-08:00","updated_at":"2025-12-08T11:10:55.847654-08:00","closed_at":"2025-12-08T11:10:55.847654-08:00"}
|
|
@@ -1438,12 +1438,12 @@
|
|
|
1438
1438
|
{"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"}]}
|
|
1439
1439
|
{"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"}]}
|
|
1440
1440
|
{"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"}]}
|
|
1441
|
-
{"id":"opencode-swarm-plugin-pkguj","title":"Document PatternKind vs is_negative field relationship","description":"src/anti-patterns.ts:32-35 - DecompositionPatternSchema has both `kind: \"anti_pattern\"` and `is_negative: true` which seem redundant. Add JSDoc clarifying: \"/** kind tracks pattern lifecycle (pattern→anti_pattern), is_negative is a derived boolean flag for quick filtering */\"","status":"
|
|
1441
|
+
{"id":"opencode-swarm-plugin-pkguj","title":"Document PatternKind vs is_negative field relationship","description":"src/anti-patterns.ts:32-35 - DecompositionPatternSchema has both `kind: \"anti_pattern\"` and `is_negative: true` which seem redundant. Add JSDoc clarifying: \"/** kind tracks pattern lifecycle (pattern→anti_pattern), is_negative is a derived boolean flag for quick filtering */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:16.47239-08:00","updated_at":"2025-12-13T16:41:54.120691-08:00","closed_at":"2025-12-13T16:41:54.120691-08:00"}
|
|
1442
1442
|
{"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"}
|
|
1443
1443
|
{"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"}
|
|
1444
1444
|
{"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"}
|
|
1445
|
-
{"id":"opencode-swarm-plugin-poiyi","title":"Document EffortLevel time ranges in schema comment","description":"src/schemas/task.ts:12-17 - Time ranges only in inline comments. Move to JSDoc for better IDE support: \"/** Effort estimation: trivial (\u003c 5 min), small (5-30 min), medium (30 min - 2 hours), large (2+ hours) */\"","status":"
|
|
1446
|
-
{"id":"opencode-swarm-plugin-ppyaf","title":"Clarify dependencies default value behavior","description":"src/schemas/bead.ts:55 - `dependencies` uses `.optional().default([])` which is redundant - optional with default is always present. Change to just `.default([])` for clarity.","status":"
|
|
1445
|
+
{"id":"opencode-swarm-plugin-poiyi","title":"Document EffortLevel time ranges in schema comment","description":"src/schemas/task.ts:12-17 - Time ranges only in inline comments. Move to JSDoc for better IDE support: \"/** Effort estimation: trivial (\u003c 5 min), small (5-30 min), medium (30 min - 2 hours), large (2+ hours) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:20.198569-08:00","updated_at":"2025-12-13T16:45:47.639416-08:00","closed_at":"2025-12-13T16:45:47.639416-08:00"}
|
|
1446
|
+
{"id":"opencode-swarm-plugin-ppyaf","title":"Clarify dependencies default value behavior","description":"src/schemas/bead.ts:55 - `dependencies` uses `.optional().default([])` which is redundant - optional with default is always present. Change to just `.default([])` for clarity.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:09.341547-08:00","updated_at":"2025-12-13T16:48:08.412935-08:00","closed_at":"2025-12-13T16:48:08.412935-08:00"}
|
|
1447
1447
|
{"id":"opencode-swarm-plugin-pqe1f","title":"agent-mail.ts:122-131 - Non-atomic session state save","description":"agent-mail.ts:122-131 - saveSessionState() writes directly to target file without atomic write-then-rename pattern. Could corrupt state if process crashes mid-write. Suggested fix: Write to temp file, then rename atomically.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:01.116799-08:00","updated_at":"2025-12-13T08:52:55.939004-08:00","closed_at":"2025-12-13T08:52:55.939004-08:00"}
|
|
1448
1448
|
{"id":"opencode-swarm-plugin-pqrsv","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:44.21406-08:00","updated_at":"2025-12-13T11:18:47.262919-08:00","closed_at":"2025-12-13T11:18:47.262919-08:00"}
|
|
1449
1449
|
{"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"}
|
|
@@ -1472,17 +1472,17 @@
|
|
|
1472
1472
|
{"id":"opencode-swarm-plugin-qayj","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:41:12.931142-08:00","updated_at":"2025-12-07T19:41:13.125635-08:00","closed_at":"2025-12-07T19:41:13.125635-08:00"}
|
|
1473
1473
|
{"id":"opencode-swarm-plugin-qayj.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.964246-08:00","updated_at":"2025-12-07T19:41:13.053518-08:00","closed_at":"2025-12-07T19:41:13.053518-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qayj.1","depends_on_id":"opencode-swarm-plugin-qayj","type":"parent-child","created_at":"2025-12-07T19:41:12.964549-08:00","created_by":"daemon"}]}
|
|
1474
1474
|
{"id":"opencode-swarm-plugin-qayj.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.999044-08:00","updated_at":"2025-12-07T19:41:13.103098-08:00","closed_at":"2025-12-07T19:41:13.103098-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qayj.2","depends_on_id":"opencode-swarm-plugin-qayj","type":"parent-child","created_at":"2025-12-07T19:41:12.99937-08:00","created_by":"daemon"}]}
|
|
1475
|
-
{"id":"opencode-swarm-plugin-qb5pt","title":"Document weight field decay semantics","description":"src/schemas/evaluation.ts:34-35 - weight comment \"lower = less reliable\" could be more specific. Change to: \"/** Current weight after 90-day half-life decay (0-1, 1=recent/validated, 0=old/unreliable) */\"","status":"
|
|
1475
|
+
{"id":"opencode-swarm-plugin-qb5pt","title":"Document weight field decay semantics","description":"src/schemas/evaluation.ts:34-35 - weight comment \"lower = less reliable\" could be more specific. Change to: \"/** Current weight after 90-day half-life decay (0-1, 1=recent/validated, 0=old/unreliable) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:15.949005-08:00","updated_at":"2025-12-13T16:48:06.823057-08:00","closed_at":"2025-12-13T16:48:06.823057-08:00"}
|
|
1476
1476
|
{"id":"opencode-swarm-plugin-qcf4","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.554185-08:00","updated_at":"2025-12-08T08:22:19.137592-08:00","closed_at":"2025-12-08T08:22:19.137592-08:00"}
|
|
1477
1477
|
{"id":"opencode-swarm-plugin-qfjv","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.26168-08:00","updated_at":"2025-12-08T08:05:35.508416-08:00","closed_at":"2025-12-08T08:05:35.508416-08:00"}
|
|
1478
1478
|
{"id":"opencode-swarm-plugin-qgd2n","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:36.35338-08:00","updated_at":"2025-12-13T11:16:40.1931-08:00","closed_at":"2025-12-13T11:16:40.1931-08:00"}
|
|
1479
|
-
{"id":"opencode-swarm-plugin-qgt38","title":"Document SubtaskSpec estimated_complexity scale","description":"src/schemas/bead.ts:106 - `estimated_complexity: z.number().int().min(1).max(5)` - scale meaning not documented. Add JSDoc: \"/** Complexity estimate (1=trivial, 5=very complex) */\"","status":"
|
|
1480
|
-
{"id":"opencode-swarm-plugin-qhj39","title":"Codebase Quality Analysis and Improvement Ideas","description":"Parallel analysis of opencode-swarm-plugin codebase across multiple dimensions: architecture, testing, performance, error handling, and code organization","status":"
|
|
1481
|
-
{"id":"opencode-swarm-plugin-qhj39.1","title":"Architecture and Module Design Analysis","description":"","status":"
|
|
1482
|
-
{"id":"opencode-swarm-plugin-qhj39.2","title":"Testing Coverage and Quality Analysis","description":"","status":"
|
|
1483
|
-
{"id":"opencode-swarm-plugin-qhj39.3","title":"Error Handling and Resilience Analysis","description":"","status":"
|
|
1484
|
-
{"id":"opencode-swarm-plugin-qhj39.4","title":"Performance and Resource Management Analysis","description":"","status":"
|
|
1485
|
-
{"id":"opencode-swarm-plugin-qhj39.5","title":"Synthesis: Prioritized Improvement Roadmap","description":"","status":"
|
|
1479
|
+
{"id":"opencode-swarm-plugin-qgt38","title":"Document SubtaskSpec estimated_complexity scale","description":"src/schemas/bead.ts:106 - `estimated_complexity: z.number().int().min(1).max(5)` - scale meaning not documented. Add JSDoc: \"/** Complexity estimate (1=trivial, 5=very complex) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:10.789511-08:00","updated_at":"2025-12-13T16:48:07.924735-08:00","closed_at":"2025-12-13T16:48:07.924735-08:00"}
|
|
1480
|
+
{"id":"opencode-swarm-plugin-qhj39","title":"Codebase Quality Analysis and Improvement Ideas","description":"Parallel analysis of opencode-swarm-plugin codebase across multiple dimensions: architecture, testing, performance, error handling, and code organization","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T13:46:33.460464-08:00","updated_at":"2025-12-13T16:35:47.684376-08:00","closed_at":"2025-12-13T16:35:47.684376-08:00"}
|
|
1481
|
+
{"id":"opencode-swarm-plugin-qhj39.1","title":"Architecture and Module Design Analysis","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T13:46:33.527617-08:00","updated_at":"2025-12-13T16:14:01.218929-08:00","closed_at":"2025-12-13T16:14:01.218929-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qhj39.1","depends_on_id":"opencode-swarm-plugin-qhj39","type":"parent-child","created_at":"2025-12-13T13:46:33.528576-08:00","created_by":"daemon"}]}
|
|
1482
|
+
{"id":"opencode-swarm-plugin-qhj39.2","title":"Testing Coverage and Quality Analysis","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T13:46:33.587114-08:00","updated_at":"2025-12-13T16:14:02.185091-08:00","closed_at":"2025-12-13T16:14:02.185091-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qhj39.2","depends_on_id":"opencode-swarm-plugin-qhj39","type":"parent-child","created_at":"2025-12-13T13:46:33.587953-08:00","created_by":"daemon"}]}
|
|
1483
|
+
{"id":"opencode-swarm-plugin-qhj39.3","title":"Error Handling and Resilience Analysis","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T13:46:33.638663-08:00","updated_at":"2025-12-13T16:14:02.957291-08:00","closed_at":"2025-12-13T16:14:02.957291-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qhj39.3","depends_on_id":"opencode-swarm-plugin-qhj39","type":"parent-child","created_at":"2025-12-13T13:46:33.639443-08:00","created_by":"daemon"}]}
|
|
1484
|
+
{"id":"opencode-swarm-plugin-qhj39.4","title":"Performance and Resource Management Analysis","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T13:46:33.692921-08:00","updated_at":"2025-12-13T16:14:03.860041-08:00","closed_at":"2025-12-13T16:14:03.860041-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qhj39.4","depends_on_id":"opencode-swarm-plugin-qhj39","type":"parent-child","created_at":"2025-12-13T13:46:33.693758-08:00","created_by":"daemon"}]}
|
|
1485
|
+
{"id":"opencode-swarm-plugin-qhj39.5","title":"Synthesis: Prioritized Improvement Roadmap","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T13:46:33.748664-08:00","updated_at":"2025-12-13T16:35:46.458137-08:00","closed_at":"2025-12-13T16:35:46.458137-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qhj39.5","depends_on_id":"opencode-swarm-plugin-qhj39","type":"parent-child","created_at":"2025-12-13T13:46:33.749458-08:00","created_by":"daemon"}]}
|
|
1486
1486
|
{"id":"opencode-swarm-plugin-qhr0","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:22:16.521307-08:00","updated_at":"2025-12-08T08:22:19.112363-08:00","closed_at":"2025-12-08T08:22:19.112363-08:00"}
|
|
1487
1487
|
{"id":"opencode-swarm-plugin-qkscs","title":"Production Hardening: Logging, Cleanup, and N+1 Fixes","description":"Fix 3 production readiness gaps in Swarm Mail to improve reliability and debuggability","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T13:27:21.122378-08:00","updated_at":"2025-12-13T15:51:22.811521-08:00","closed_at":"2025-12-13T15:51:22.811521-08:00"}
|
|
1488
1488
|
{"id":"opencode-swarm-plugin-qkscs.1","title":"Fix N+1 queries in store.ts message and reservation handlers","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T13:27:21.179002-08:00","updated_at":"2025-12-13T15:51:23.583961-08:00","closed_at":"2025-12-13T15:51:23.583961-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qkscs.1","depends_on_id":"opencode-swarm-plugin-qkscs","type":"parent-child","created_at":"2025-12-13T13:27:21.180631-08:00","created_by":"daemon"}]}
|
|
@@ -1492,7 +1492,7 @@
|
|
|
1492
1492
|
{"id":"opencode-swarm-plugin-qlrp","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.899992-08:00","updated_at":"2025-12-08T08:56:58.219456-08:00","closed_at":"2025-12-08T08:56:58.219456-08:00"}
|
|
1493
1493
|
{"id":"opencode-swarm-plugin-qlzm","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.282262-08:00","updated_at":"2025-12-08T11:10:27.598379-08:00","closed_at":"2025-12-08T11:10:27.598379-08:00"}
|
|
1494
1494
|
{"id":"opencode-swarm-plugin-qmh5","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.074979-08:00","updated_at":"2025-12-08T08:05:35.431897-08:00","closed_at":"2025-12-08T08:05:35.431897-08:00"}
|
|
1495
|
-
{"id":"opencode-swarm-plugin-qmkwc","title":"Add JSDoc to plugin.ts exports","description":"src/plugin.ts:1-12 - File has warning about exports but no JSDoc explaining why. Add: \"/** CRITICAL: Only export the plugin function. OpenCode plugin loader calls all exports as functions, so exporting classes/constants will cause load failures. */\"","status":"
|
|
1495
|
+
{"id":"opencode-swarm-plugin-qmkwc","title":"Add JSDoc to plugin.ts exports","description":"src/plugin.ts:1-12 - File has warning about exports but no JSDoc explaining why. Add: \"/** CRITICAL: Only export the plugin function. OpenCode plugin loader calls all exports as functions, so exporting classes/constants will cause load failures. */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:59.660536-08:00","updated_at":"2025-12-13T16:41:57.162635-08:00","closed_at":"2025-12-13T16:41:57.162635-08:00"}
|
|
1496
1496
|
{"id":"opencode-swarm-plugin-qmq6","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.691145-08:00","updated_at":"2025-12-08T08:25:12.302074-08:00","closed_at":"2025-12-08T08:25:12.302074-08:00"}
|
|
1497
1497
|
{"id":"opencode-swarm-plugin-qnng","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.46203-08:00","updated_at":"2025-12-08T11:11:40.909868-08:00","closed_at":"2025-12-08T11:11:40.909868-08:00"}
|
|
1498
1498
|
{"id":"opencode-swarm-plugin-qpa0","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.832175-08:00","updated_at":"2025-12-08T07:53:46.263135-08:00","closed_at":"2025-12-08T07:53:46.263135-08:00"}
|
|
@@ -1510,7 +1510,7 @@
|
|
|
1510
1510
|
{"id":"opencode-swarm-plugin-r4ur.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:39.707223-08:00","updated_at":"2025-12-08T11:11:41.589205-08:00","closed_at":"2025-12-08T11:11:41.589205-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-r4ur.3","depends_on_id":"opencode-swarm-plugin-r4ur","type":"parent-child","created_at":"2025-12-08T11:11:39.707548-08:00","created_by":"daemon"}]}
|
|
1511
1511
|
{"id":"opencode-swarm-plugin-r4ur.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:39.738254-08:00","updated_at":"2025-12-08T11:11:41.627948-08:00","closed_at":"2025-12-08T11:11:41.627948-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-r4ur.4","depends_on_id":"opencode-swarm-plugin-r4ur","type":"parent-child","created_at":"2025-12-08T11:11:39.738606-08:00","created_by":"daemon"}]}
|
|
1512
1512
|
{"id":"opencode-swarm-plugin-r4v5","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.336024-08:00","updated_at":"2025-12-08T08:21:30.013866-08:00","closed_at":"2025-12-08T08:21:30.013866-08:00"}
|
|
1513
|
-
{"id":"opencode-swarm-plugin-r5glh","title":"Add constraint between status and blockers fields","description":"src/schemas/task.ts:107-111 - AgentProgressSchema has `status: \"blocked\"` and `blockers` array but no validation linking them. Add `.refine()` to require blockers when status is blocked.","status":"
|
|
1513
|
+
{"id":"opencode-swarm-plugin-r5glh","title":"Add constraint between status and blockers fields","description":"src/schemas/task.ts:107-111 - AgentProgressSchema has `status: \"blocked\"` and `blockers` array but no validation linking them. Add `.refine()` to require blockers when status is blocked.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:34.320563-08:00","updated_at":"2025-12-13T16:45:51.156357-08:00","closed_at":"2025-12-13T16:45:51.156357-08:00"}
|
|
1514
1514
|
{"id":"opencode-swarm-plugin-r603","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:10.962513-08:00","updated_at":"2025-12-07T19:41:13.452949-08:00","closed_at":"2025-12-07T19:41:13.452949-08:00"}
|
|
1515
1515
|
{"id":"opencode-swarm-plugin-r628","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T07:46:49.427816-08:00","updated_at":"2025-12-08T07:46:51.876555-08:00","closed_at":"2025-12-08T07:46:51.876555-08:00"}
|
|
1516
1516
|
{"id":"opencode-swarm-plugin-r71uk","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T14:48:42.732193-08:00","updated_at":"2025-12-13T14:48:45.827165-08:00","closed_at":"2025-12-13T14:48:45.827165-08:00"}
|
|
@@ -1547,7 +1547,7 @@
|
|
|
1547
1547
|
{"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"}
|
|
1548
1548
|
{"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"}
|
|
1549
1549
|
{"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"}
|
|
1550
|
-
{"id":"opencode-swarm-plugin-s4xfg","title":"Simplify errorBullets initialization in StructuredValidationError","description":"src/structured.ts:47 - `this.errorBullets = zodError ? formatZodErrors(zodError) : [message];` could use nullish coalescing for clarity: `this.errorBullets = zodError ? formatZodErrors(zodError) : [message];` (no change needed, but could assign in constructor params for cleaner code)","status":"
|
|
1550
|
+
{"id":"opencode-swarm-plugin-s4xfg","title":"Simplify errorBullets initialization in StructuredValidationError","description":"src/structured.ts:47 - `this.errorBullets = zodError ? formatZodErrors(zodError) : [message];` could use nullish coalescing for clarity: `this.errorBullets = zodError ? formatZodErrors(zodError) : [message];` (no change needed, but could assign in constructor params for cleaner code)","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:39.878643-08:00","updated_at":"2025-12-13T16:45:43.398628-08:00","closed_at":"2025-12-13T16:45:43.398628-08:00"}
|
|
1551
1551
|
{"id":"opencode-swarm-plugin-s5eh","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.355512-08:00","updated_at":"2025-12-07T19:57:08.933805-08:00","closed_at":"2025-12-07T19:57:08.933805-08:00"}
|
|
1552
1552
|
{"id":"opencode-swarm-plugin-s5nu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:48.728004-08:00","updated_at":"2025-12-08T07:46:51.543929-08:00","closed_at":"2025-12-08T07:46:51.543929-08:00"}
|
|
1553
1553
|
{"id":"opencode-swarm-plugin-s680v","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T11:20:48.188738-08:00","updated_at":"2025-12-13T11:20:51.812623-08:00","closed_at":"2025-12-13T11:20:51.812623-08:00"}
|
|
@@ -1679,12 +1679,12 @@
|
|
|
1679
1679
|
{"id":"opencode-swarm-plugin-u3q34.4","title":"Update src/swarm.ts integration points","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T10:46:25.848869-08:00","updated_at":"2025-12-13T11:07:53.078537-08:00","closed_at":"2025-12-13T11:07:53.078537-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.4","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.849699-08:00","created_by":"daemon"}]}
|
|
1680
1680
|
{"id":"opencode-swarm-plugin-u3q34.5","title":"Update tool-availability.ts and supporting modules","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T10:46:25.897832-08:00","updated_at":"2025-12-13T11:07:53.974396-08:00","closed_at":"2025-12-13T11:07:53.974396-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.5","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.898654-08:00","created_by":"daemon"}]}
|
|
1681
1681
|
{"id":"opencode-swarm-plugin-u3q34.6","title":"Migrate tests from agent-mail to swarm-mail","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T10:46:25.947081-08:00","updated_at":"2025-12-13T11:07:54.960497-08:00","closed_at":"2025-12-13T11:07:54.960497-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.6","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.94776-08:00","created_by":"daemon"}]}
|
|
1682
|
-
{"id":"opencode-swarm-plugin-u3q34.7","title":"Remove old agent-mail.ts and update documentation","description":"","status":"
|
|
1682
|
+
{"id":"opencode-swarm-plugin-u3q34.7","title":"Remove old agent-mail.ts and update documentation","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T10:46:25.99697-08:00","updated_at":"2025-12-13T16:42:01.379047-08:00","closed_at":"2025-12-13T16:42:01.379047-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.7","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.997868-08:00","created_by":"daemon"}]}
|
|
1683
1683
|
{"id":"opencode-swarm-plugin-u4cv","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.799579-08:00","updated_at":"2025-12-07T19:57:08.192357-08:00","closed_at":"2025-12-07T19:57:08.192357-08:00"}
|
|
1684
1684
|
{"id":"opencode-swarm-plugin-u4w6a","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:12:55.402022-08:00","updated_at":"2025-12-08T11:12:57.960131-08:00","closed_at":"2025-12-08T11:12:57.960131-08:00"}
|
|
1685
1685
|
{"id":"opencode-swarm-plugin-u5lz","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.831249-08:00","updated_at":"2025-12-08T07:49:12.197825-08:00","closed_at":"2025-12-08T07:49:12.197825-08:00"}
|
|
1686
|
-
{"id":"opencode-swarm-plugin-u5m4w","title":"Document state transition side effects in updatePatternMaturity","description":"src/pattern-maturity.ts:222-255 - updatePatternMaturity has side effects (sets promoted_at, deprecated_at) but not documented. Add JSDoc: \"Tracks state transitions by setting promoted_at/deprecated_at timestamps on first entry into proven/deprecated states.\"","status":"
|
|
1687
|
-
{"id":"opencode-swarm-plugin-u6gys","title":"Document reservation_ids relationship to Agent Mail","description":"src/schemas/task.ts:85 - `reservation_ids` lacks context. Add JSDoc: \"/** Agent Mail reservation IDs for file locking (used to release locks on completion) */\"","status":"
|
|
1686
|
+
{"id":"opencode-swarm-plugin-u5m4w","title":"Document state transition side effects in updatePatternMaturity","description":"src/pattern-maturity.ts:222-255 - updatePatternMaturity has side effects (sets promoted_at, deprecated_at) but not documented. Add JSDoc: \"Tracks state transitions by setting promoted_at/deprecated_at timestamps on first entry into proven/deprecated states.\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:33.62453-08:00","updated_at":"2025-12-13T16:20:34.138638-08:00","closed_at":"2025-12-13T16:20:34.138638-08:00"}
|
|
1687
|
+
{"id":"opencode-swarm-plugin-u6gys","title":"Document reservation_ids relationship to Agent Mail","description":"src/schemas/task.ts:85 - `reservation_ids` lacks context. Add JSDoc: \"/** Agent Mail reservation IDs for file locking (used to release locks on completion) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:32.169242-08:00","updated_at":"2025-12-13T16:45:50.582038-08:00","closed_at":"2025-12-13T16:45:50.582038-08:00"}
|
|
1688
1688
|
{"id":"opencode-swarm-plugin-u7mg","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:24.182806-08:00","updated_at":"2025-12-08T11:11:26.017819-08:00","closed_at":"2025-12-08T11:11:26.017819-08:00"}
|
|
1689
1689
|
{"id":"opencode-swarm-plugin-u7mg.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.221224-08:00","updated_at":"2025-12-09T09:34:43.345951-08:00","closed_at":"2025-12-09T09:34:43.345951-08:00"}
|
|
1690
1690
|
{"id":"opencode-swarm-plugin-u82u","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:10.790425-08:00","updated_at":"2025-12-07T19:41:13.346845-08:00","closed_at":"2025-12-07T19:41:13.346845-08:00"}
|
|
@@ -1828,14 +1828,14 @@
|
|
|
1828
1828
|
{"id":"opencode-swarm-plugin-wt6tx","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.254613-08:00","updated_at":"2025-12-10T09:06:09.947925-08:00","closed_at":"2025-12-10T09:06:09.947925-08:00"}
|
|
1829
1829
|
{"id":"opencode-swarm-plugin-wtuz","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.464088-08:00","updated_at":"2025-12-08T08:36:19.116376-08:00","closed_at":"2025-12-08T08:36:19.116376-08:00"}
|
|
1830
1830
|
{"id":"opencode-swarm-plugin-wua","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:37:34.785248-08:00","updated_at":"2025-12-07T19:37:36.428883-08:00","closed_at":"2025-12-07T19:37:36.428883-08:00"}
|
|
1831
|
-
{"id":"opencode-swarm-plugin-wuhvb","title":"Add safety check to findBalancedBraces depth","description":"src/structured.ts:195-238 - findBalancedBraces has no max depth check. If depth goes negative or exceeds reasonable limit (e.g., 100), it could indicate malformed input. Add early return for depth \u0026lt; 0 or depth \u0026gt; 100.","status":"
|
|
1831
|
+
{"id":"opencode-swarm-plugin-wuhvb","title":"Add safety check to findBalancedBraces depth","description":"src/structured.ts:195-238 - findBalancedBraces has no max depth check. If depth goes negative or exceeds reasonable limit (e.g., 100), it could indicate malformed input. Add early return for depth \u0026lt; 0 or depth \u0026gt; 100.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:45.256712-08:00","updated_at":"2025-12-13T16:45:44.387924-08:00","closed_at":"2025-12-13T16:45:44.387924-08:00"}
|
|
1832
1832
|
{"id":"opencode-swarm-plugin-wv4f","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.36199-08:00","updated_at":"2025-12-08T08:22:17.38879-08:00","closed_at":"2025-12-08T08:22:17.38879-08:00"}
|
|
1833
1833
|
{"id":"opencode-swarm-plugin-wwqt","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.579904-08:00","updated_at":"2025-12-08T08:05:36.125724-08:00","closed_at":"2025-12-08T08:05:36.125724-08:00"}
|
|
1834
1834
|
{"id":"opencode-swarm-plugin-wytl","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.855796-08:00","updated_at":"2025-12-08T08:05:35.266626-08:00","closed_at":"2025-12-08T08:05:35.266626-08:00"}
|
|
1835
1835
|
{"id":"opencode-swarm-plugin-wzbh","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:45.286939-08:00","updated_at":"2025-12-08T07:53:46.997846-08:00","closed_at":"2025-12-08T07:53:46.997846-08:00"}
|
|
1836
1836
|
{"id":"opencode-swarm-plugin-wzk5","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T09:09:30.46577-08:00","updated_at":"2025-12-08T09:09:33.012614-08:00","closed_at":"2025-12-08T09:09:33.012614-08:00"}
|
|
1837
1837
|
{"id":"opencode-swarm-plugin-x0c9z","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T11:18:41.528371-08:00","updated_at":"2025-12-13T11:18:45.857664-08:00","closed_at":"2025-12-13T11:18:45.857664-08:00"}
|
|
1838
|
-
{"id":"opencode-swarm-plugin-x3231","title":"Gap: No thread safety documentation for PGLite singleton","description":"src/streams/index.ts - No documentation on whether PGLite is thread-safe or if concurrent queries from multiple async operations are safe. Node.js is single-threaded but async operations can interleave. Should: document PGLite's concurrency model, test concurrent appendEvent calls, verify transaction isolation, add test for race conditions under load.","status":"
|
|
1838
|
+
{"id":"opencode-swarm-plugin-x3231","title":"Gap: No thread safety documentation for PGLite singleton","description":"src/streams/index.ts - No documentation on whether PGLite is thread-safe or if concurrent queries from multiple async operations are safe. Node.js is single-threaded but async operations can interleave. Should: document PGLite's concurrency model, test concurrent appendEvent calls, verify transaction isolation, add test for race conditions under load.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T09:25:42.564807-08:00","updated_at":"2025-12-13T16:41:58.684039-08:00","closed_at":"2025-12-13T16:41:58.684039-08:00"}
|
|
1839
1839
|
{"id":"opencode-swarm-plugin-x36x","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:48.799533-08:00","updated_at":"2025-12-08T07:46:51.571401-08:00","closed_at":"2025-12-08T07:46:51.571401-08:00"}
|
|
1840
1840
|
{"id":"opencode-swarm-plugin-x3k9p","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:44.399589-08:00","updated_at":"2025-12-13T11:18:47.306187-08:00","closed_at":"2025-12-13T11:18:47.306187-08:00"}
|
|
1841
1841
|
{"id":"opencode-swarm-plugin-x4ce1","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.289945-08:00","updated_at":"2025-12-10T09:08:35.611893-08:00","closed_at":"2025-12-10T09:08:35.611893-08:00"}
|
|
@@ -1859,7 +1859,17 @@
|
|
|
1859
1859
|
{"id":"opencode-swarm-plugin-x9lag.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:23.996286-08:00","updated_at":"2025-12-10T09:07:26.550723-08:00","closed_at":"2025-12-10T09:07:26.550723-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-x9lag.3","depends_on_id":"opencode-swarm-plugin-x9lag","type":"parent-child","created_at":"2025-12-10T09:07:23.997403-08:00","created_by":"daemon"}]}
|
|
1860
1860
|
{"id":"opencode-swarm-plugin-x9lag.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:24.037782-08:00","updated_at":"2025-12-10T09:07:26.589046-08:00","closed_at":"2025-12-10T09:07:26.589046-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-x9lag.4","depends_on_id":"opencode-swarm-plugin-x9lag","type":"parent-child","created_at":"2025-12-10T09:07:24.041396-08:00","created_by":"daemon"}]}
|
|
1861
1861
|
{"id":"opencode-swarm-plugin-xbil","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.773303-08:00","updated_at":"2025-12-08T07:53:46.23941-08:00","closed_at":"2025-12-08T07:53:46.23941-08:00"}
|
|
1862
|
-
{"id":"opencode-swarm-plugin-xc4po","title":"Add JSDoc to DecomposedSubtask.risks field","description":"src/schemas/task.ts:38 - `risks` field lacks description. Add JSDoc: \"/** Potential risks or complications (e.g., 'tight coupling', 'data migration required') */\"","status":"
|
|
1862
|
+
{"id":"opencode-swarm-plugin-xc4po","title":"Add JSDoc to DecomposedSubtask.risks field","description":"src/schemas/task.ts:38 - `risks` field lacks description. Add JSDoc: \"/** Potential risks or complications (e.g., 'tight coupling', 'data migration required') */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:22.374689-08:00","updated_at":"2025-12-13T16:45:48.108316-08:00","closed_at":"2025-12-13T16:45:48.108316-08:00"}
|
|
1863
|
+
{"id":"opencode-swarm-plugin-xcavl","title":"Codebase Health: Split swarm.ts, fix bugs, add tests","description":"Critical improvements identified from analysis: split god module, fix data integrity bugs, add missing test coverage","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T16:57:57.93951-08:00","updated_at":"2025-12-13T17:21:15.826931-08:00","closed_at":"2025-12-13T17:21:15.826931-08:00"}
|
|
1864
|
+
{"id":"opencode-swarm-plugin-xcavl.1","title":"Split swarm.ts: Extract swarm-strategies.ts","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T16:57:57.99498-08:00","updated_at":"2025-12-13T17:21:12.619794-08:00","closed_at":"2025-12-13T17:21:12.619794-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.1","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:57.99606-08:00","created_by":"daemon"}]}
|
|
1865
|
+
{"id":"opencode-swarm-plugin-xcavl.2","title":"Split swarm.ts: Extract swarm-decompose.ts","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T16:57:58.047931-08:00","updated_at":"2025-12-13T17:21:13.275233-08:00","closed_at":"2025-12-13T17:21:13.275233-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.2","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.048892-08:00","created_by":"daemon"}]}
|
|
1866
|
+
{"id":"opencode-swarm-plugin-xcavl.3","title":"Split swarm.ts: Extract swarm-prompts.ts","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T16:57:58.105828-08:00","updated_at":"2025-12-13T17:21:13.835048-08:00","closed_at":"2025-12-13T17:21:13.835048-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.3","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.107241-08:00","created_by":"daemon"}]}
|
|
1867
|
+
{"id":"opencode-swarm-plugin-xcavl.4","title":"Split swarm.ts: Extract swarm-orchestrate.ts","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T16:57:58.157999-08:00","updated_at":"2025-12-13T17:21:14.461773-08:00","closed_at":"2025-12-13T17:21:14.461773-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.4","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.159412-08:00","created_by":"daemon"}]}
|
|
1868
|
+
{"id":"opencode-swarm-plugin-xcavl.5","title":"Fix transaction rollback error propagation","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T16:57:58.21724-08:00","updated_at":"2025-12-13T17:05:47.103573-08:00","closed_at":"2025-12-13T17:05:47.103573-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.5","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.218636-08:00","created_by":"daemon"}]}
|
|
1869
|
+
{"id":"opencode-swarm-plugin-xcavl.6","title":"Make file reservation idempotent with ON CONFLICT","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T16:57:58.269982-08:00","updated_at":"2025-12-13T17:05:47.675583-08:00","closed_at":"2025-12-13T17:05:47.675583-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.6","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.27125-08:00","created_by":"daemon"}]}
|
|
1870
|
+
{"id":"opencode-swarm-plugin-xcavl.7","title":"Add tests for structured.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T16:57:58.323033-08:00","updated_at":"2025-12-13T17:05:48.48549-08:00","closed_at":"2025-12-13T17:05:48.48549-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.7","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.324485-08:00","created_by":"daemon"}]}
|
|
1871
|
+
{"id":"opencode-swarm-plugin-xcavl.8","title":"Add tests for anti-patterns.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T16:57:58.376043-08:00","updated_at":"2025-12-13T17:05:49.201843-08:00","closed_at":"2025-12-13T17:05:49.201843-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.8","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.377102-08:00","created_by":"daemon"}]}
|
|
1872
|
+
{"id":"opencode-swarm-plugin-xcavl.9","title":"Fix CI to run integration tests","description":"## Changes Made\n\nAdded integration test step to CI workflow (.github/workflows/ci.yml):\n\n**Before:**\n- Only ran unit tests (`bun run test`)\n\n**After:**\n- Runs unit tests (step: \"Run unit tests\")\n- Runs integration tests (step: \"Run integration tests\") with 10-minute timeout\n\n## Implementation Details\n\n1. **Single job approach:** Both unit and integration tests run in the same job sequentially\n2. **Timeout:** Integration tests have `timeout-minutes: 10` to prevent hanging\n3. **Fail fast:** If either test suite fails, the build fails (default behavior)\n4. **Verified:** \n - 10 integration test files exist in src/\n - `test:integration` script exists in package.json\n - Script uses vitest with proper config (vitest.integration.config.ts)\n - Tests run serially to avoid race conditions\n\n## Success Criteria Met\n- ✅ CI runs both unit and integration tests\n- ✅ Build fails if either test suite fails (continue-on-error is false by default)\n- ✅ Integration tests have reasonable timeout (10 min)\n\n## Workflow Structure\n```yaml\n- Run unit tests (bun run test)\n- Run integration tests (bun run test:integration, timeout: 10 min)\n```\n\nBoth steps must pass for CI to succeed.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T16:57:58.429642-08:00","updated_at":"2025-12-13T17:05:49.697088-08:00","closed_at":"2025-12-13T17:05:49.697088-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.9","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.430689-08:00","created_by":"daemon"}]}
|
|
1863
1873
|
{"id":"opencode-swarm-plugin-xdstu","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:44.585559-08:00","updated_at":"2025-12-13T11:18:47.343607-08:00","closed_at":"2025-12-13T11:18:47.343607-08:00"}
|
|
1864
1874
|
{"id":"opencode-swarm-plugin-xfs29","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:33.821533-08:00","updated_at":"2025-12-10T09:08:36.641013-08:00","closed_at":"2025-12-10T09:08:36.641013-08:00"}
|
|
1865
1875
|
{"id":"opencode-swarm-plugin-xid","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.617824-08:00","updated_at":"2025-12-07T19:34:54.705834-08:00","closed_at":"2025-12-07T19:34:54.705834-08:00"}
|
|
@@ -1909,7 +1919,7 @@
|
|
|
1909
1919
|
{"id":"opencode-swarm-plugin-ygpl","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:26.265071-08:00","updated_at":"2025-12-08T11:12:26.289606-08:00","closed_at":"2025-12-08T11:12:26.289606-08:00"}
|
|
1910
1920
|
{"id":"opencode-swarm-plugin-ygpma","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:38.610431-08:00","updated_at":"2025-12-13T11:16:41.177098-08:00","closed_at":"2025-12-13T11:16:41.177098-08:00"}
|
|
1911
1921
|
{"id":"opencode-swarm-plugin-yhvo","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:41:12.082709-08:00","updated_at":"2025-12-07T19:41:13.923772-08:00","closed_at":"2025-12-07T19:41:13.923772-08:00"}
|
|
1912
|
-
{"id":"opencode-swarm-plugin-yi3ke","title":"Document warnMissingTool deduplication strategy","description":"src/tool-availability.ts:301-310 - warnMissingTool uses Set for deduplication but comment doesn't explain why. Add JSDoc: \"/** Logs warning once per tool per session. Uses Set to prevent spam when tool is checked repeatedly. */\"","status":"
|
|
1922
|
+
{"id":"opencode-swarm-plugin-yi3ke","title":"Document warnMissingTool deduplication strategy","description":"src/tool-availability.ts:301-310 - warnMissingTool uses Set for deduplication but comment doesn't explain why. Add JSDoc: \"/** Logs warning once per tool per session. Uses Set to prevent spam when tool is checked repeatedly. */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:11.393397-08:00","updated_at":"2025-12-13T16:41:52.798405-08:00","closed_at":"2025-12-13T16:41:52.798405-08:00"}
|
|
1913
1923
|
{"id":"opencode-swarm-plugin-yih","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.525069-08:00","updated_at":"2025-12-07T19:36:08.634794-08:00","closed_at":"2025-12-07T19:36:08.634794-08:00"}
|
|
1914
1924
|
{"id":"opencode-swarm-plugin-yj2i","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.55214-08:00","updated_at":"2025-12-08T08:14:30.988935-08:00","closed_at":"2025-12-08T08:14:30.988935-08:00"}
|
|
1915
1925
|
{"id":"opencode-swarm-plugin-yo4","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:36:06.212343-08:00","updated_at":"2025-12-07T19:36:08.45342-08:00","closed_at":"2025-12-07T19:36:08.45342-08:00"}
|
|
@@ -1933,7 +1943,7 @@
|
|
|
1933
1943
|
{"id":"opencode-swarm-plugin-z41xe","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:35.211913-08:00","updated_at":"2025-12-13T11:16:39.567258-08:00","closed_at":"2025-12-13T11:16:39.567258-08:00"}
|
|
1934
1944
|
{"id":"opencode-swarm-plugin-z4bc","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.542895-08:00","updated_at":"2025-12-08T08:25:12.189207-08:00","closed_at":"2025-12-08T08:25:12.189207-08:00"}
|
|
1935
1945
|
{"id":"opencode-swarm-plugin-z7bu","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.356112-08:00","updated_at":"2025-12-08T08:14:30.865474-08:00","closed_at":"2025-12-08T08:14:30.865474-08:00"}
|
|
1936
|
-
{"id":"opencode-swarm-plugin-z8rkb","title":"Add validation for SpawnedAgent.agent_name format","description":"src/schemas/task.ts:81 - `agent_name` is plain string but Agent Mail uses specific format (e.g., \"BlueLake\"). Add regex validation or comment: \"/** Agent Mail name (e.g., 'BlueLake', 'CrimsonRiver') */\"","status":"
|
|
1946
|
+
{"id":"opencode-swarm-plugin-z8rkb","title":"Add validation for SpawnedAgent.agent_name format","description":"src/schemas/task.ts:81 - `agent_name` is plain string but Agent Mail uses specific format (e.g., \"BlueLake\"). Add regex validation or comment: \"/** Agent Mail name (e.g., 'BlueLake', 'CrimsonRiver') */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:30.499386-08:00","updated_at":"2025-12-13T16:45:50.112928-08:00","closed_at":"2025-12-13T16:45:50.112928-08:00"}
|
|
1937
1947
|
{"id":"opencode-swarm-plugin-z8td","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.11505-08:00","updated_at":"2025-12-08T08:22:19.411331-08:00","closed_at":"2025-12-08T08:22:19.411331-08:00"}
|
|
1938
1948
|
{"id":"opencode-swarm-plugin-z9yl","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:28.946829-08:00","updated_at":"2025-12-08T08:21:30.752391-08:00","closed_at":"2025-12-08T08:21:30.752391-08:00"}
|
|
1939
1949
|
{"id":"opencode-swarm-plugin-zasi","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.739509-08:00","updated_at":"2025-12-08T08:14:31.090283-08:00","closed_at":"2025-12-08T08:14:31.090283-08:00"}
|
|
@@ -1945,7 +1955,7 @@
|
|
|
1945
1955
|
{"id":"opencode-swarm-plugin-zi7n","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:36:16.30257-08:00","updated_at":"2025-12-08T08:36:19.014772-08:00","closed_at":"2025-12-08T08:36:19.014772-08:00"}
|
|
1946
1956
|
{"id":"opencode-swarm-plugin-zj6j9","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.222284-08:00","updated_at":"2025-12-08T11:12:58.884345-08:00","closed_at":"2025-12-08T11:12:58.884345-08:00"}
|
|
1947
1957
|
{"id":"opencode-swarm-plugin-zjku","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.199507-08:00","updated_at":"2025-12-08T08:14:31.307698-08:00","closed_at":"2025-12-08T08:14:31.307698-08:00"}
|
|
1948
|
-
{"id":"opencode-swarm-plugin-zmzuw","title":"Gap: N+1 query in handleMessageSent","description":"src/streams/store.ts:360-395 - handleMessageSent() loops through recipients and inserts one-by-one with separate queries. For messages with many recipients, this is N+1 pattern. Should use bulk INSERT with VALUES (...), (...), (...) or INSERT ... SELECT. Similar issue in handleFileReserved (lines 398-416) which loops through paths.","status":"
|
|
1958
|
+
{"id":"opencode-swarm-plugin-zmzuw","title":"Gap: N+1 query in handleMessageSent","description":"src/streams/store.ts:360-395 - handleMessageSent() loops through recipients and inserts one-by-one with separate queries. For messages with many recipients, this is N+1 pattern. Should use bulk INSERT with VALUES (...), (...), (...) or INSERT ... SELECT. Similar issue in handleFileReserved (lines 398-416) which loops through paths.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:14.000433-08:00","updated_at":"2025-12-13T16:06:33.70323-08:00","closed_at":"2025-12-13T16:06:33.70323-08:00"}
|
|
1949
1959
|
{"id":"opencode-swarm-plugin-zn4of","title":"Review skill-builder PR branch","description":"Analyze skill-builder PR branch for errors, omissions, improvements, oversights, gaps, and ideas. READ-ONLY code review - no modifications.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-12T21:05:18.645731-08:00","updated_at":"2025-12-12T21:17:59.05899-08:00","closed_at":"2025-12-12T21:17:59.05899-08:00"}
|
|
1950
1960
|
{"id":"opencode-swarm-plugin-zn4of.1","title":"Review src/skills.ts core module","description":"READ-ONLY review of src/skills.ts (1356 lines). Analyzing: security (path traversal, script execution), bugs (__dirname in ES modules, iteration errors), missing features, code quality. Found critical __dirname bug and TypeScript config issue.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-12T21:05:18.691442-08:00","updated_at":"2025-12-12T21:08:55.61161-08:00","closed_at":"2025-12-12T21:08:55.61161-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zn4of.1","depends_on_id":"opencode-swarm-plugin-zn4of","type":"parent-child","created_at":"2025-12-12T21:05:18.693109-08:00","created_by":"daemon"}]}
|
|
1951
1961
|
{"id":"opencode-swarm-plugin-zn4of.2","title":"Review global-skills definitions","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-12T21:05:18.739019-08:00","updated_at":"2025-12-12T21:07:06.557236-08:00","closed_at":"2025-12-12T21:07:06.557236-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-zn4of.2","depends_on_id":"opencode-swarm-plugin-zn4of","type":"parent-child","created_at":"2025-12-12T21:05:18.740085-08:00","created_by":"daemon"}]}
|