opencode-swarm-plugin 0.20.0 → 0.22.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.
Files changed (41) hide show
  1. package/.beads/issues.jsonl +213 -0
  2. package/INTEGRATION_EXAMPLE.md +66 -0
  3. package/README.md +352 -522
  4. package/dist/index.js +2046 -984
  5. package/dist/plugin.js +2051 -1017
  6. package/docs/analysis/subagent-coordination-patterns.md +2 -0
  7. package/docs/semantic-memory-cli-syntax.md +123 -0
  8. package/docs/swarm-mail-architecture.md +1147 -0
  9. package/evals/README.md +116 -0
  10. package/evals/evalite.config.ts +15 -0
  11. package/evals/example.eval.ts +32 -0
  12. package/evals/fixtures/decomposition-cases.ts +105 -0
  13. package/evals/lib/data-loader.test.ts +288 -0
  14. package/evals/lib/data-loader.ts +111 -0
  15. package/evals/lib/llm.ts +115 -0
  16. package/evals/scorers/index.ts +200 -0
  17. package/evals/scorers/outcome-scorers.test.ts +27 -0
  18. package/evals/scorers/outcome-scorers.ts +349 -0
  19. package/evals/swarm-decomposition.eval.ts +112 -0
  20. package/package.json +8 -1
  21. package/scripts/cleanup-test-memories.ts +346 -0
  22. package/src/beads.ts +49 -0
  23. package/src/eval-capture.ts +487 -0
  24. package/src/index.ts +45 -3
  25. package/src/learning.integration.test.ts +19 -4
  26. package/src/output-guardrails.test.ts +438 -0
  27. package/src/output-guardrails.ts +381 -0
  28. package/src/schemas/index.ts +18 -0
  29. package/src/schemas/swarm-context.ts +115 -0
  30. package/src/storage.ts +117 -5
  31. package/src/streams/events.test.ts +296 -0
  32. package/src/streams/events.ts +93 -0
  33. package/src/streams/migrations.test.ts +24 -20
  34. package/src/streams/migrations.ts +51 -0
  35. package/src/streams/projections.ts +187 -0
  36. package/src/streams/store.ts +275 -0
  37. package/src/swarm-orchestrate.ts +771 -189
  38. package/src/swarm-prompts.ts +84 -12
  39. package/src/swarm.integration.test.ts +124 -0
  40. package/vitest.integration.config.ts +6 -0
  41. package/vitest.integration.setup.ts +48 -0
@@ -1,4 +1,5 @@
1
1
  {"id":"opencode-swarm-plugin-006","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.500551-08:00","updated_at":"2025-12-07T19:34:54.606061-08:00","closed_at":"2025-12-07T19:34:54.606061-08:00"}
2
+ {"id":"opencode-swarm-plugin-00k3h","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.838669-08:00","updated_at":"2025-12-13T18:16:32.967628-08:00","closed_at":"2025-12-13T18:16:32.967628-08:00"}
2
3
  {"id":"opencode-swarm-plugin-01ozp","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:05.660762-08:00","updated_at":"2025-12-10T09:06:09.607108-08:00","closed_at":"2025-12-10T09:06:09.607108-08:00"}
3
4
  {"id":"opencode-swarm-plugin-01yqg","title":"Skills security hardening from PR review","description":"Address remaining CodeRabbit suggestions from PR #5:\n- skills_execute: Add timeout to prevent scripts hanging indefinitely\n- skills_execute: Consolidate on spawn (remove ctx?.$ branch)\n- skills_read: Harden path traversal for Windows (backslash, absolute paths)\n- skills_init: Tighten script_name validation for Windows separators\n- skills_create: Quote YAML scalars in generateSkillContent (already addressed via gray-matter)\n- Test improvements: Use unique temp dir per test run, make import.meta.url assertion less brittle","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-12T21:25:51.328858-08:00","updated_at":"2025-12-12T21:29:53.849155-08:00","closed_at":"2025-12-12T21:29:53.849155-08:00"}
4
5
  {"id":"opencode-swarm-plugin-02bv","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:11:23.937484-08:00","updated_at":"2025-12-08T11:11:25.917071-08:00","closed_at":"2025-12-08T11:11:25.917071-08:00"}
@@ -11,6 +12,7 @@
11
12
  {"id":"opencode-swarm-plugin-05mcs","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.790073-08:00","updated_at":"2025-12-09T10:00:26.756896-08:00","closed_at":"2025-12-09T10:00:26.756896-08:00"}
12
13
  {"id":"opencode-swarm-plugin-0720","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.375626-08:00","updated_at":"2025-12-08T08:56:57.950858-08:00","closed_at":"2025-12-08T08:56:57.950858-08:00"}
13
14
  {"id":"opencode-swarm-plugin-07m","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.92786-08:00","updated_at":"2025-12-07T19:39:12.442074-08:00","closed_at":"2025-12-07T19:39:12.442074-08:00"}
15
+ {"id":"opencode-swarm-plugin-081t1","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.956336-08:00","updated_at":"2025-12-13T18:16:33.933974-08:00","closed_at":"2025-12-13T18:16:33.933974-08:00"}
14
16
  {"id":"opencode-swarm-plugin-090","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:39:18.980247-08:00","updated_at":"2025-12-07T19:39:20.684844-08:00","closed_at":"2025-12-07T19:39:20.684844-08:00"}
15
17
  {"id":"opencode-swarm-plugin-0agp","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.766681-08:00","updated_at":"2025-12-08T11:11:25.385398-08:00","closed_at":"2025-12-08T11:11:25.385398-08:00"}
16
18
  {"id":"opencode-swarm-plugin-0bhyc","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:05.792553-08:00","updated_at":"2025-12-10T09:06:09.707617-08:00","closed_at":"2025-12-10T09:06:09.707617-08:00"}
@@ -19,6 +21,7 @@
19
21
  {"id":"opencode-swarm-plugin-0bodc.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-09T10:00:23.772101-08:00","updated_at":"2025-12-09T10:00:26.249968-08:00","closed_at":"2025-12-09T10:00:26.249968-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.2","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.772406-08:00","created_by":"daemon"}]}
20
22
  {"id":"opencode-swarm-plugin-0bodc.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:23.815565-08:00","updated_at":"2025-12-09T10:00:26.281479-08:00","closed_at":"2025-12-09T10:00:26.281479-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0bodc.3","depends_on_id":"opencode-swarm-plugin-0bodc","type":"parent-child","created_at":"2025-12-09T10:00:23.815895-08:00","created_by":"daemon"}]}
21
23
  {"id":"opencode-swarm-plugin-0bv4r","title":"Add validation to promotePattern state transition","description":"src/pattern-maturity.ts:266-282 - promotePattern throws on deprecated but silently returns on already proven. Consider warning or error for unexpected states like promoting from \"candidate\" without enough feedback.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:36.184348-08:00","updated_at":"2025-12-13T16:20:33.514538-08:00","closed_at":"2025-12-13T16:20:33.514538-08:00"}
24
+ {"id":"opencode-swarm-plugin-0cfbg","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-14T09:30:17.955215-08:00","updated_at":"2025-12-14T09:30:22.696235-08:00","closed_at":"2025-12-14T09:30:22.696235-08:00"}
22
25
  {"id":"opencode-swarm-plugin-0giv","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.5822-08:00","updated_at":"2025-12-08T08:21:30.125084-08:00","closed_at":"2025-12-08T08:21:30.125084-08:00"}
23
26
  {"id":"opencode-swarm-plugin-0h7kz","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:49.245547-08:00","updated_at":"2025-12-13T11:20:52.464106-08:00","closed_at":"2025-12-13T11:20:52.464106-08:00"}
24
27
  {"id":"opencode-swarm-plugin-0idn1","title":"Document minSuccessRate default in formatSuccessfulPatternsForPrompt","description":"src/anti-patterns.ts:333 - minSuccessRate default 0.7 (70%) is arbitrary. Add JSDoc: \"/** @param minSuccessRate - Minimum success rate to include (default 0.7 = 70%, chosen to filter out patterns with marginal track records) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:26.678439-08:00","updated_at":"2025-12-13T16:41:56.006348-08:00","closed_at":"2025-12-13T16:41:56.006348-08:00"}
@@ -33,6 +36,7 @@
33
36
  {"id":"opencode-swarm-plugin-0llr","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.509809-08:00","updated_at":"2025-12-07T19:56:44.737443-08:00","closed_at":"2025-12-07T19:56:44.737443-08:00"}
34
37
  {"id":"opencode-swarm-plugin-0lo41","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.208543-08:00","updated_at":"2025-12-10T09:06:09.912935-08:00","closed_at":"2025-12-10T09:06:09.912935-08:00"}
35
38
  {"id":"opencode-swarm-plugin-0nso6","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:48:40.259854-08:00","updated_at":"2025-12-13T14:48:44.582836-08:00","closed_at":"2025-12-13T14:48:44.582836-08:00"}
39
+ {"id":"opencode-swarm-plugin-0oj2y","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:17.828147-08:00","updated_at":"2025-12-14T09:30:22.605051-08:00","closed_at":"2025-12-14T09:30:22.605051-08:00"}
36
40
  {"id":"opencode-swarm-plugin-0oku","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.956973-08:00","updated_at":"2025-12-08T08:11:42.61703-08:00","closed_at":"2025-12-08T08:11:42.61703-08:00"}
37
41
  {"id":"opencode-swarm-plugin-0pd7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.598833-08:00","updated_at":"2025-12-08T11:12:28.0058-08:00","closed_at":"2025-12-08T11:12:28.0058-08:00"}
38
42
  {"id":"opencode-swarm-plugin-0phkm","title":"swarm.ts:920-956 - queryCassHistory returns null with no distinction on failure types","description":"swarm.ts:920-956 - queryCassHistory returns null for \"unavailable\", \"failed\", and \"no results\" cases without distinction. Callers can't tell if they should retry or if CASS is disabled. Suggested fix: Return structured result with status enum.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:31.086042-08:00","updated_at":"2025-12-10T11:56:18.166564-08:00","closed_at":"2025-12-10T11:56:18.166564-08:00"}
@@ -46,19 +50,27 @@
46
50
  {"id":"opencode-swarm-plugin-0w8hb","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:24.010017-08:00","updated_at":"2025-12-09T10:00:26.406101-08:00","closed_at":"2025-12-09T10:00:26.406101-08:00"}
47
51
  {"id":"opencode-swarm-plugin-0w8hb.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T10:00:24.057192-08:00","updated_at":"2025-12-09T10:00:26.438429-08:00","closed_at":"2025-12-09T10:00:26.438429-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-0w8hb.1","depends_on_id":"opencode-swarm-plugin-0w8hb","type":"parent-child","created_at":"2025-12-09T10:00:24.057567-08:00","created_by":"daemon"}]}
48
52
  {"id":"opencode-swarm-plugin-0wk","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:37:34.417512-08:00","updated_at":"2025-12-07T19:37:36.339262-08:00","closed_at":"2025-12-07T19:37:36.339262-08:00"}
53
+ {"id":"opencode-swarm-plugin-0wm7m","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.00836-08:00","updated_at":"2025-12-14T09:30:23.269506-08:00","closed_at":"2025-12-14T09:30:23.269506-08:00"}
49
54
  {"id":"opencode-swarm-plugin-0zn","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.200661-08:00","updated_at":"2025-12-07T19:37:36.249197-08:00","closed_at":"2025-12-07T19:37:36.249197-08:00"}
55
+ {"id":"opencode-swarm-plugin-10vx2","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:21.370858-08:00","updated_at":"2025-12-14T09:30:24.349053-08:00","closed_at":"2025-12-14T09:30:24.349053-08:00"}
50
56
  {"id":"opencode-swarm-plugin-12ro","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:10.129035-08:00","updated_at":"2025-12-08T11:11:11.6419-08:00","closed_at":"2025-12-08T11:11:11.6419-08:00"}
51
57
  {"id":"opencode-swarm-plugin-13aa","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.871003-08:00","updated_at":"2025-12-08T11:11:11.584998-08:00","closed_at":"2025-12-08T11:11:11.584998-08:00"}
58
+ {"id":"opencode-swarm-plugin-14lcd","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.104746-08:00","updated_at":"2025-12-13T18:16:35.048065-08:00","closed_at":"2025-12-13T18:16:35.048065-08:00"}
52
59
  {"id":"opencode-swarm-plugin-14md","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.299923-08:00","updated_at":"2025-12-08T09:09:33.422668-08:00","closed_at":"2025-12-08T09:09:33.422668-08:00"}
53
60
  {"id":"opencode-swarm-plugin-165","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.522313-08:00","updated_at":"2025-12-07T19:37:36.383505-08:00","closed_at":"2025-12-07T19:37:36.383505-08:00"}
54
61
  {"id":"opencode-swarm-plugin-17kj","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.282723-08:00","updated_at":"2025-12-08T08:11:41.82511-08:00","closed_at":"2025-12-08T08:11:41.82511-08:00"}
62
+ {"id":"opencode-swarm-plugin-18mr0","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.443542-08:00","updated_at":"2025-12-13T18:18:38.030016-08:00","closed_at":"2025-12-13T18:18:38.030016-08:00"}
55
63
  {"id":"opencode-swarm-plugin-19eh","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:08.630873-08:00","updated_at":"2025-12-08T11:11:10.570732-08:00","closed_at":"2025-12-08T11:11:10.570732-08:00"}
56
64
  {"id":"opencode-swarm-plugin-19eh.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.667405-08:00","updated_at":"2025-12-08T11:11:10.596193-08:00","closed_at":"2025-12-08T11:11:10.596193-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-19eh.1","depends_on_id":"opencode-swarm-plugin-19eh","type":"parent-child","created_at":"2025-12-08T11:11:08.667711-08:00","created_by":"daemon"}]}
57
65
  {"id":"opencode-swarm-plugin-19eh.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T11:11:08.701884-08:00","updated_at":"2025-12-08T11:11:10.620275-08:00","closed_at":"2025-12-08T11:11:10.620275-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-19eh.2","depends_on_id":"opencode-swarm-plugin-19eh","type":"parent-child","created_at":"2025-12-08T11:11:08.702188-08:00","created_by":"daemon"}]}
58
66
  {"id":"opencode-swarm-plugin-19wa","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.462796-08:00","updated_at":"2025-12-07T19:57:08.958826-08:00","closed_at":"2025-12-07T19:57:08.958826-08:00"}
67
+ {"id":"opencode-swarm-plugin-1agr0","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:52.382891-08:00","updated_at":"2025-12-14T13:58:55.911799-08:00","closed_at":"2025-12-14T13:58:55.911799-08:00"}
68
+ {"id":"opencode-swarm-plugin-1agr0.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.436237-08:00","updated_at":"2025-12-14T13:58:55.956143-08:00","closed_at":"2025-12-14T13:58:55.956143-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1agr0.1","depends_on_id":"opencode-swarm-plugin-1agr0","type":"parent-child","created_at":"2025-12-14T13:58:52.437661-08:00","created_by":"daemon"}]}
69
+ {"id":"opencode-swarm-plugin-1agr0.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.492394-08:00","updated_at":"2025-12-14T13:58:55.998485-08:00","closed_at":"2025-12-14T13:58:55.998485-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1agr0.2","depends_on_id":"opencode-swarm-plugin-1agr0","type":"parent-child","created_at":"2025-12-14T13:58:52.493199-08:00","created_by":"daemon"}]}
59
70
  {"id":"opencode-swarm-plugin-1ai2","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.094034-08:00","updated_at":"2025-12-07T19:56:45.031937-08:00","closed_at":"2025-12-07T19:56:45.031937-08:00"}
60
71
  {"id":"opencode-swarm-plugin-1cgv","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.149467-08:00","updated_at":"2025-12-08T07:46:51.764291-08:00","closed_at":"2025-12-08T07:46:51.764291-08:00"}
61
72
  {"id":"opencode-swarm-plugin-1ct","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:34:52.847167-08:00","updated_at":"2025-12-07T19:34:54.828373-08:00","closed_at":"2025-12-07T19:34:54.828373-08:00"}
73
+ {"id":"opencode-swarm-plugin-1dhsw","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.788064-08:00","updated_at":"2025-12-14T09:30:23.509064-08:00","closed_at":"2025-12-14T09:30:23.509064-08:00"}
62
74
  {"id":"opencode-swarm-plugin-1dpc","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:23:19.429782-08:00","updated_at":"2025-12-08T08:23:19.619019-08:00","closed_at":"2025-12-08T08:23:19.619019-08:00"}
63
75
  {"id":"opencode-swarm-plugin-1dpc.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:19.46242-08:00","updated_at":"2025-12-08T08:23:19.545623-08:00","closed_at":"2025-12-08T08:23:19.545623-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1dpc.1","depends_on_id":"opencode-swarm-plugin-1dpc","type":"parent-child","created_at":"2025-12-08T08:23:19.462724-08:00","created_by":"daemon"}]}
64
76
  {"id":"opencode-swarm-plugin-1dpc.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:19.498318-08:00","updated_at":"2025-12-08T08:23:19.595083-08:00","closed_at":"2025-12-08T08:23:19.595083-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1dpc.2","depends_on_id":"opencode-swarm-plugin-1dpc","type":"parent-child","created_at":"2025-12-08T08:23:19.498652-08:00","created_by":"daemon"}]}
@@ -71,6 +83,7 @@
71
83
  {"id":"opencode-swarm-plugin-1j7ou","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.042472-08:00","updated_at":"2025-12-10T09:06:09.814596-08:00","closed_at":"2025-12-10T09:06:09.814596-08:00"}
72
84
  {"id":"opencode-swarm-plugin-1jhr8","title":"storage.ts:248-273 - Silent JSON parse failures in find()","description":"src/storage.ts:248-273 - The find() method catches JSON parse errors and returns empty arrays with no logging. If semantic-memory returns malformed data, callers have no visibility. Suggested fix: Log parse errors to console.warn before returning empty array.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:05:49.694433-08:00","updated_at":"2025-12-10T11:57:14.947397-08:00","closed_at":"2025-12-10T11:57:14.947397-08:00"}
73
85
  {"id":"opencode-swarm-plugin-1jo8","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:08.880228-08:00","updated_at":"2025-12-08T11:11:10.749334-08:00","closed_at":"2025-12-08T11:11:10.749334-08:00"}
86
+ {"id":"opencode-swarm-plugin-1ky3l","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.993073-08:00","updated_at":"2025-12-14T09:30:24.256789-08:00","closed_at":"2025-12-14T09:30:24.256789-08:00"}
74
87
  {"id":"opencode-swarm-plugin-1kz31","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.909764-08:00","updated_at":"2025-12-10T09:08:35.942266-08:00","closed_at":"2025-12-10T09:08:35.942266-08:00"}
75
88
  {"id":"opencode-swarm-plugin-1li","title":"Test parent","description":"","status":"closed","priority":2,"issue_type":"epic","created_at":"2025-12-07T19:35:34.909384-08:00","updated_at":"2025-12-08T08:35:24.648164-08:00","closed_at":"2025-12-08T08:35:24.648164-08:00"}
76
89
  {"id":"opencode-swarm-plugin-1li.1","title":"Test child","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:35:39.491063-08:00","updated_at":"2025-12-08T08:36:24.892828-08:00","closed_at":"2025-12-08T08:36:24.892828-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-1li.1","depends_on_id":"opencode-swarm-plugin-1li","type":"parent-child","created_at":"2025-12-07T19:35:39.491364-08:00","created_by":"daemon"}]}
@@ -92,6 +105,7 @@
92
105
  {"id":"opencode-swarm-plugin-1qv5","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.009801-08:00","updated_at":"2025-12-08T07:53:46.398529-08:00","closed_at":"2025-12-08T07:53:46.398529-08:00"}
93
106
  {"id":"opencode-swarm-plugin-1r2","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.787144-08:00","updated_at":"2025-12-07T19:39:11.878331-08:00","closed_at":"2025-12-07T19:39:11.878331-08:00"}
94
107
  {"id":"opencode-swarm-plugin-1smoq","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.659321-08:00","updated_at":"2025-12-08T11:12:58.121888-08:00","closed_at":"2025-12-08T11:12:58.121888-08:00"}
108
+ {"id":"opencode-swarm-plugin-1spct","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:37.140889-08:00","updated_at":"2025-12-13T18:18:37.250187-08:00","closed_at":"2025-12-13T18:18:37.250187-08:00"}
95
109
  {"id":"opencode-swarm-plugin-1swm","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.613555-08:00","updated_at":"2025-12-08T11:11:40.988233-08:00","closed_at":"2025-12-08T11:11:40.988233-08:00"}
96
110
  {"id":"opencode-swarm-plugin-1t0k","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.703953-08:00","updated_at":"2025-12-08T09:09:33.136938-08:00","closed_at":"2025-12-08T09:09:33.136938-08:00"}
97
111
  {"id":"opencode-swarm-plugin-1t5ve","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:41.911925-08:00","updated_at":"2025-12-13T11:18:46.037647-08:00","closed_at":"2025-12-13T11:18:46.037647-08:00"}
@@ -115,6 +129,7 @@
115
129
  {"id":"opencode-swarm-plugin-2ab","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:37:33.800933-08:00","updated_at":"2025-12-07T19:37:36.012978-08:00","closed_at":"2025-12-07T19:37:36.012978-08:00"}
116
130
  {"id":"opencode-swarm-plugin-2agi3","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T11:20:48.702046-08:00","updated_at":"2025-12-13T11:20:52.133475-08:00","closed_at":"2025-12-13T11:20:52.133475-08:00"}
117
131
  {"id":"opencode-swarm-plugin-2agi3.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:20:48.757338-08:00","updated_at":"2025-12-13T11:20:52.174432-08:00","closed_at":"2025-12-13T11:20:52.174432-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2agi3.1","depends_on_id":"opencode-swarm-plugin-2agi3","type":"parent-child","created_at":"2025-12-13T11:20:48.758493-08:00","created_by":"daemon"}]}
132
+ {"id":"opencode-swarm-plugin-2assm","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.350688-08:00","updated_at":"2025-12-13T18:18:35.387392-08:00","closed_at":"2025-12-13T18:18:35.387392-08:00"}
118
133
  {"id":"opencode-swarm-plugin-2c3on","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.287189-08:00","updated_at":"2025-12-08T11:12:56.312704-08:00","closed_at":"2025-12-08T11:12:56.312704-08:00"}
119
134
  {"id":"opencode-swarm-plugin-2c6jt","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:41.594675-08:00","updated_at":"2025-12-13T14:48:45.291216-08:00","closed_at":"2025-12-13T14:48:45.291216-08:00"}
120
135
  {"id":"opencode-swarm-plugin-2cm","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:54.024663-08:00","updated_at":"2025-12-07T19:34:55.333759-08:00","closed_at":"2025-12-07T19:34:55.333759-08:00"}
@@ -128,12 +143,18 @@
128
143
  {"id":"opencode-swarm-plugin-2foq","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:12:40.731653-08:00","updated_at":"2025-12-08T11:12:43.500259-08:00","closed_at":"2025-12-08T11:12:43.500259-08:00"}
129
144
  {"id":"opencode-swarm-plugin-2ge7l","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.450441-08:00","updated_at":"2025-12-08T11:12:57.525835-08:00","closed_at":"2025-12-08T11:12:57.525835-08:00"}
130
145
  {"id":"opencode-swarm-plugin-2gp2","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:11:39.680689-08:00","updated_at":"2025-12-08T08:11:42.060492-08:00","closed_at":"2025-12-08T08:11:42.060492-08:00"}
146
+ {"id":"opencode-swarm-plugin-2h1hf","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:20.69206-08:00","updated_at":"2025-12-14T09:30:24.037608-08:00","closed_at":"2025-12-14T09:30:24.037608-08:00"}
147
+ {"id":"opencode-swarm-plugin-2h1hf.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.751952-08:00","updated_at":"2025-12-14T09:30:24.085684-08:00","closed_at":"2025-12-14T09:30:24.085684-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2h1hf.1","depends_on_id":"opencode-swarm-plugin-2h1hf","type":"parent-child","created_at":"2025-12-14T09:30:20.753325-08:00","created_by":"daemon"}]}
148
+ {"id":"opencode-swarm-plugin-2h1hf.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.811481-08:00","updated_at":"2025-12-14T09:30:24.128901-08:00","closed_at":"2025-12-14T09:30:24.128901-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2h1hf.2","depends_on_id":"opencode-swarm-plugin-2h1hf","type":"parent-child","created_at":"2025-12-14T09:30:20.813199-08:00","created_by":"daemon"}]}
149
+ {"id":"opencode-swarm-plugin-2h1hf.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.873323-08:00","updated_at":"2025-12-14T09:30:24.170227-08:00","closed_at":"2025-12-14T09:30:24.170227-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2h1hf.3","depends_on_id":"opencode-swarm-plugin-2h1hf","type":"parent-child","created_at":"2025-12-14T09:30:20.874369-08:00","created_by":"daemon"}]}
150
+ {"id":"opencode-swarm-plugin-2h1hf.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.936345-08:00","updated_at":"2025-12-14T09:30:24.212033-08:00","closed_at":"2025-12-14T09:30:24.212033-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-2h1hf.4","depends_on_id":"opencode-swarm-plugin-2h1hf","type":"parent-child","created_at":"2025-12-14T09:30:20.937487-08:00","created_by":"daemon"}]}
131
151
  {"id":"opencode-swarm-plugin-2h3o","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.619593-08:00","updated_at":"2025-12-08T11:11:25.389157-08:00","closed_at":"2025-12-08T11:11:25.389157-08:00"}
132
152
  {"id":"opencode-swarm-plugin-2j38","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:24.714793-08:00","updated_at":"2025-12-08T11:10:27.316849-08:00","closed_at":"2025-12-08T11:10:27.316849-08:00"}
133
153
  {"id":"opencode-swarm-plugin-2klp9","title":"Pattern: CSO - Claude Search Optimization for Skills","description":"## CSO - Claude Search Optimization (from obra/superpowers)\n\n**Purpose:** Claude reads skill descriptions to decide which skills to load. Make descriptions answer: \"Should I read this skill right now?\"\n\n### Description Field Format\n- Start with \"Use when...\" to focus on triggering conditions\n- Third-person only (injected into system prompt)\n- Include BOTH what it does AND when to use it\n- Max 1024 chars (aim for \u003c500)\n\n### Examples\n```yaml\n# ❌ BAD: Too abstract\ndescription: For async testing\n\n# ❌ BAD: First person\ndescription: I can help you with async tests\n\n# ❌ BAD: Technology-specific but skill isn't\ndescription: Use when tests use setTimeout and are flaky\n\n# ✅ GOOD: Trigger + problem + solution\ndescription: Use when tests have race conditions, timing dependencies, or pass/fail inconsistently - replaces arbitrary timeouts with condition polling\n```\n\n### Keyword Coverage\nUse words Claude would search for:\n- **Error messages:** \"Hook timed out\", \"ENOTEMPTY\", \"race condition\"\n- **Symptoms:** \"flaky\", \"hanging\", \"zombie\", \"pollution\"\n- **Synonyms:** \"timeout/hang/freeze\", \"cleanup/teardown/afterEach\"\n- **Tools:** Actual commands, library names, file types\n\n### Token Efficiency\n- getting-started workflows: \u003c150 words\n- Frequently-loaded skills: \u003c200 words\n- Other skills: \u003c500 words\n- Move details to tool --help\n- Use cross-references instead of repeating\n\n### Naming Conventions\n- Active voice, verb-first: `creating-skills` not `skill-creation`\n- Gerunds work well: `testing-skills`, `debugging-with-logs`\n- Name by what you DO: `condition-based-waiting` \u003e `async-test-helpers`\n\n**Full analysis:** .beads/analysis/skill-architecture-meta-skills.md","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:00:50.930936-08:00","updated_at":"2025-12-13T15:50:56.528937-08:00","closed_at":"2025-12-13T15:50:56.528937-08:00"}
134
154
  {"id":"opencode-swarm-plugin-2kpi","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:12:40.799487-08:00","updated_at":"2025-12-08T11:12:43.550149-08:00","closed_at":"2025-12-08T11:12:43.550149-08:00"}
135
155
  {"id":"opencode-swarm-plugin-2l1z","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.634298-08:00","updated_at":"2025-12-08T11:10:27.704419-08:00","closed_at":"2025-12-08T11:10:27.704419-08:00"}
136
156
  {"id":"opencode-swarm-plugin-2l4d","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.9045-08:00","updated_at":"2025-12-08T08:25:12.384034-08:00","closed_at":"2025-12-08T08:25:12.384034-08:00"}
157
+ {"id":"opencode-swarm-plugin-2lpt5","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-14T09:30:18.018558-08:00","updated_at":"2025-12-14T09:30:22.744577-08:00","closed_at":"2025-12-14T09:30:22.744577-08:00"}
137
158
  {"id":"opencode-swarm-plugin-2mph","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.003549-08:00","updated_at":"2025-12-08T11:11:10.393467-08:00","closed_at":"2025-12-08T11:11:10.393467-08:00"}
138
159
  {"id":"opencode-swarm-plugin-2ne","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-07T19:37:33.86201-08:00","updated_at":"2025-12-07T19:37:36.054577-08:00","closed_at":"2025-12-07T19:37:36.054577-08:00"}
139
160
  {"id":"opencode-swarm-plugin-2ok2","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:17.187954-08:00","updated_at":"2025-12-08T08:36:19.43421-08:00","closed_at":"2025-12-08T08:36:19.43421-08:00"}
@@ -162,8 +183,10 @@
162
183
  {"id":"opencode-swarm-plugin-328o.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.020007-08:00","updated_at":"2025-12-08T11:11:10.855892-08:00","closed_at":"2025-12-08T11:11:10.855892-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-328o.2","depends_on_id":"opencode-swarm-plugin-328o","type":"parent-child","created_at":"2025-12-08T11:11:09.020355-08:00","created_by":"daemon"}]}
163
184
  {"id":"opencode-swarm-plugin-328o.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.056258-08:00","updated_at":"2025-12-08T11:11:10.883491-08:00","closed_at":"2025-12-08T11:11:10.883491-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-328o.3","depends_on_id":"opencode-swarm-plugin-328o","type":"parent-child","created_at":"2025-12-08T11:11:09.05662-08:00","created_by":"daemon"}]}
164
185
  {"id":"opencode-swarm-plugin-328o.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.091851-08:00","updated_at":"2025-12-08T11:11:10.910639-08:00","closed_at":"2025-12-08T11:11:10.910639-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-328o.4","depends_on_id":"opencode-swarm-plugin-328o","type":"parent-child","created_at":"2025-12-08T11:11:09.092192-08:00","created_by":"daemon"}]}
186
+ {"id":"opencode-swarm-plugin-32n96","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.685376-08:00","updated_at":"2025-12-13T18:16:35.174092-08:00","closed_at":"2025-12-13T18:16:35.174092-08:00"}
165
187
  {"id":"opencode-swarm-plugin-34y0l","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T11:16:35.327539-08:00","updated_at":"2025-12-13T11:16:39.646261-08:00","closed_at":"2025-12-13T11:16:39.646261-08:00"}
166
188
  {"id":"opencode-swarm-plugin-35ius","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.748072-08:00","updated_at":"2025-12-10T09:08:32.783918-08:00","closed_at":"2025-12-10T09:08:32.783918-08:00"}
189
+ {"id":"opencode-swarm-plugin-35pcl","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.655635-08:00","updated_at":"2025-12-13T18:18:39.110036-08:00","closed_at":"2025-12-13T18:18:39.110036-08:00"}
167
190
  {"id":"opencode-swarm-plugin-36uo","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.014966-08:00","updated_at":"2025-12-08T09:09:33.303459-08:00","closed_at":"2025-12-08T09:09:33.303459-08:00"}
168
191
  {"id":"opencode-swarm-plugin-37az","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.247814-08:00","updated_at":"2025-12-08T08:05:36.051352-08:00","closed_at":"2025-12-08T08:05:36.051352-08:00"}
169
192
  {"id":"opencode-swarm-plugin-38j3h","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.576145-08:00","updated_at":"2025-12-09T10:00:25.812701-08:00","closed_at":"2025-12-09T10:00:25.812701-08:00"}
@@ -172,6 +195,7 @@
172
195
  {"id":"opencode-swarm-plugin-3c0h","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.042676-08:00","updated_at":"2025-12-07T19:57:08.336974-08:00","closed_at":"2025-12-07T19:57:08.336974-08:00"}
173
196
  {"id":"opencode-swarm-plugin-3e3o","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.71229-08:00","updated_at":"2025-12-08T07:46:52.478079-08:00","closed_at":"2025-12-08T07:46:52.478079-08:00"}
174
197
  {"id":"opencode-swarm-plugin-3e7p","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.57109-08:00","updated_at":"2025-12-08T09:09:32.647281-08:00","closed_at":"2025-12-08T09:09:32.647281-08:00"}
198
+ {"id":"opencode-swarm-plugin-3e8nc","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.559268-08:00","updated_at":"2025-12-14T09:30:19.610863-08:00","closed_at":"2025-12-14T09:30:19.610863-08:00"}
175
199
  {"id":"opencode-swarm-plugin-3fa7","title":"Add rate limiting to Agent Mail","description":"Implement per-agent rate limiting with Redis backend to prevent abuse","status":"closed","priority":2,"issue_type":"epic","created_at":"2025-12-08T08:28:07.547069-08:00","updated_at":"2025-12-08T08:29:09.032995-08:00","closed_at":"2025-12-08T08:29:09.032995-08:00"}
176
200
  {"id":"opencode-swarm-plugin-3fa7.1","title":"Add Redis dependency and connection","description":"Add redis-py to requirements.txt and create Redis connection helper","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:28:14.489575-08:00","updated_at":"2025-12-08T08:28:54.193001-08:00","closed_at":"2025-12-08T08:28:54.193001-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-3fa7.1","depends_on_id":"opencode-swarm-plugin-3fa7","type":"parent-child","created_at":"2025-12-08T08:28:14.489983-08:00","created_by":"daemon"}]}
177
201
  {"id":"opencode-swarm-plugin-3fa7.2","title":"Implement rate limiter class","description":"Create RateLimiter class using Redis sorted sets for sliding window rate limiting","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:28:14.527429-08:00","updated_at":"2025-12-08T08:29:08.941471-08:00","closed_at":"2025-12-08T08:29:08.941471-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-3fa7.2","depends_on_id":"opencode-swarm-plugin-3fa7","type":"parent-child","created_at":"2025-12-08T08:28:14.527749-08:00","created_by":"daemon"}]}
@@ -202,6 +226,7 @@
202
226
  {"id":"opencode-swarm-plugin-3qp","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.845918-08:00","updated_at":"2025-12-07T19:39:11.927501-08:00","closed_at":"2025-12-07T19:39:11.927501-08:00"}
203
227
  {"id":"opencode-swarm-plugin-3r550","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.39931-08:00","updated_at":"2025-12-08T11:12:58.421488-08:00","closed_at":"2025-12-08T11:12:58.421488-08:00"}
204
228
  {"id":"opencode-swarm-plugin-3s3nr","title":"Gap: No pagination for large event reads","description":"src/streams/store.ts:214-263 - replayEvents() reads ALL events into memory without pagination. For large event logs (\u003e100k events), this could cause OOM. readEvents() has limit/offset but replayEvents doesn't use it. Should: paginate event replay (process in batches of 1000), add progress reporting, consider streaming API for large replays. Also affects debugEvents in debug.ts.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:10.536039-08:00","updated_at":"2025-12-13T16:20:31.328659-08:00","closed_at":"2025-12-13T16:20:31.328659-08:00"}
229
+ {"id":"opencode-swarm-plugin-3yk1h","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.436051-08:00","updated_at":"2025-12-14T09:30:22.9256-08:00","closed_at":"2025-12-14T09:30:22.9256-08:00"}
205
230
  {"id":"opencode-swarm-plugin-3zw","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.954171-08:00","updated_at":"2025-12-07T19:39:11.975757-08:00","closed_at":"2025-12-07T19:39:11.975757-08:00"}
206
231
  {"id":"opencode-swarm-plugin-4063b","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:36.180358-08:00","updated_at":"2025-12-13T11:16:40.104382-08:00","closed_at":"2025-12-13T11:16:40.104382-08:00"}
207
232
  {"id":"opencode-swarm-plugin-40dw","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.93528-08:00","updated_at":"2025-12-08T09:09:33.280064-08:00","closed_at":"2025-12-08T09:09:33.280064-08:00"}
@@ -247,11 +272,15 @@
247
272
  {"id":"opencode-swarm-plugin-4j9","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:34:52.246273-08:00","updated_at":"2025-12-07T19:34:54.455544-08:00","closed_at":"2025-12-07T19:34:54.455544-08:00"}
248
273
  {"id":"opencode-swarm-plugin-4jp","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.72631-08:00","updated_at":"2025-12-07T19:39:11.829756-08:00","closed_at":"2025-12-07T19:39:11.829756-08:00"}
249
274
  {"id":"opencode-swarm-plugin-4jw6","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.744358-08:00","updated_at":"2025-12-07T19:57:08.169251-08:00","closed_at":"2025-12-07T19:57:08.169251-08:00"}
275
+ {"id":"opencode-swarm-plugin-4k4ul","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.443404-08:00","updated_at":"2025-12-14T09:30:23.456767-08:00","closed_at":"2025-12-14T09:30:23.456767-08:00"}
250
276
  {"id":"opencode-swarm-plugin-4kg","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.797986-08:00","updated_at":"2025-12-07T19:34:55.291528-08:00","closed_at":"2025-12-07T19:34:55.291528-08:00"}
251
277
  {"id":"opencode-swarm-plugin-4l5k","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.779-08:00","updated_at":"2025-12-08T11:12:28.152764-08:00","closed_at":"2025-12-08T11:12:28.152764-08:00"}
252
278
  {"id":"opencode-swarm-plugin-4liar","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T09:08:33.523936-08:00","updated_at":"2025-12-10T09:08:36.374785-08:00","closed_at":"2025-12-10T09:08:36.374785-08:00"}
253
279
  {"id":"opencode-swarm-plugin-4liar.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-10T09:08:33.56571-08:00","updated_at":"2025-12-10T09:08:36.410789-08:00","closed_at":"2025-12-10T09:08:36.410789-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4liar.1","depends_on_id":"opencode-swarm-plugin-4liar","type":"parent-child","created_at":"2025-12-10T09:08:33.56662-08:00","created_by":"daemon"}]}
254
280
  {"id":"opencode-swarm-plugin-4n7d","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.610309-08:00","updated_at":"2025-12-08T08:05:35.108781-08:00","closed_at":"2025-12-08T08:05:35.108781-08:00"}
281
+ {"id":"opencode-swarm-plugin-4naxo","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:33.061891-08:00","updated_at":"2025-12-13T18:16:33.390773-08:00","closed_at":"2025-12-13T18:16:33.390773-08:00"}
282
+ {"id":"opencode-swarm-plugin-4naxo.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:33.11502-08:00","updated_at":"2025-12-13T18:16:33.265617-08:00","closed_at":"2025-12-13T18:16:33.265617-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4naxo.1","depends_on_id":"opencode-swarm-plugin-4naxo","type":"parent-child","created_at":"2025-12-13T18:16:33.117475-08:00","created_by":"daemon"}]}
283
+ {"id":"opencode-swarm-plugin-4naxo.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:33.173675-08:00","updated_at":"2025-12-13T18:16:33.351649-08:00","closed_at":"2025-12-13T18:16:33.351649-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4naxo.2","depends_on_id":"opencode-swarm-plugin-4naxo","type":"parent-child","created_at":"2025-12-13T18:16:33.174835-08:00","created_by":"daemon"}]}
255
284
  {"id":"opencode-swarm-plugin-4nbl","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.02379-08:00","updated_at":"2025-12-08T11:11:40.651507-08:00","closed_at":"2025-12-08T11:11:40.651507-08:00"}
256
285
  {"id":"opencode-swarm-plugin-4nru","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.593204-08:00","updated_at":"2025-12-08T08:11:42.542927-08:00","closed_at":"2025-12-08T08:11:42.542927-08:00"}
257
286
  {"id":"opencode-swarm-plugin-4o5fm","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:40.804066-08:00","updated_at":"2025-12-13T14:48:44.883008-08:00","closed_at":"2025-12-13T14:48:44.883008-08:00"}
@@ -260,9 +289,14 @@
260
289
  {"id":"opencode-swarm-plugin-4pzf","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:05:33.705473-08:00","updated_at":"2025-12-08T08:05:35.648987-08:00","closed_at":"2025-12-08T08:05:35.648987-08:00"}
261
290
  {"id":"opencode-swarm-plugin-4q9c","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.45058-08:00","updated_at":"2025-12-08T08:21:30.071613-08:00","closed_at":"2025-12-08T08:21:30.071613-08:00"}
262
291
  {"id":"opencode-swarm-plugin-4rdpc","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:36.722053-08:00","updated_at":"2025-12-13T11:16:36.765489-08:00","closed_at":"2025-12-13T11:16:36.765489-08:00"}
292
+ {"id":"opencode-swarm-plugin-4re1l","title":"Wire up real LLM decomposition to Evalite","description":"Replace mock decomposition with actual Claude calls via AI SDK + Vercel AI Gateway","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:08:50.499705-08:00","updated_at":"2025-12-13T18:19:31.142019-08:00","closed_at":"2025-12-13T18:19:31.142019-08:00"}
293
+ {"id":"opencode-swarm-plugin-4re1l.1","title":"Create LLM client wrapper for evals","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:08:50.562386-08:00","updated_at":"2025-12-13T18:19:28.247432-08:00","closed_at":"2025-12-13T18:19:28.247432-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4re1l.1","depends_on_id":"opencode-swarm-plugin-4re1l","type":"parent-child","created_at":"2025-12-13T18:08:50.563757-08:00","created_by":"daemon"}]}
294
+ {"id":"opencode-swarm-plugin-4re1l.2","title":"Update swarm-decomposition.eval.ts with real LLM calls","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:08:50.621235-08:00","updated_at":"2025-12-13T18:19:29.201449-08:00","closed_at":"2025-12-13T18:19:29.201449-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4re1l.2","depends_on_id":"opencode-swarm-plugin-4re1l","type":"parent-child","created_at":"2025-12-13T18:08:50.622232-08:00","created_by":"daemon"}]}
295
+ {"id":"opencode-swarm-plugin-4re1l.3","title":"Update test fixtures with realistic expectations","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:08:50.67438-08:00","updated_at":"2025-12-13T18:19:30.083749-08:00","closed_at":"2025-12-13T18:19:30.083749-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4re1l.3","depends_on_id":"opencode-swarm-plugin-4re1l","type":"parent-child","created_at":"2025-12-13T18:08:50.675906-08:00","created_by":"daemon"}]}
263
296
  {"id":"opencode-swarm-plugin-4rfx","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:23:18.358254-08:00","updated_at":"2025-12-08T08:23:20.235539-08:00","closed_at":"2025-12-08T08:23:20.235539-08:00"}
264
297
  {"id":"opencode-swarm-plugin-4rfx.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.391813-08:00","updated_at":"2025-12-08T08:23:20.260453-08:00","closed_at":"2025-12-08T08:23:20.260453-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4rfx.1","depends_on_id":"opencode-swarm-plugin-4rfx","type":"parent-child","created_at":"2025-12-08T08:23:18.392129-08:00","created_by":"daemon"}]}
265
298
  {"id":"opencode-swarm-plugin-4rfx.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:23:18.423962-08:00","updated_at":"2025-12-08T08:23:20.285354-08:00","closed_at":"2025-12-08T08:23:20.285354-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-4rfx.2","depends_on_id":"opencode-swarm-plugin-4rfx","type":"parent-child","created_at":"2025-12-08T08:23:18.424275-08:00","created_by":"daemon"}]}
299
+ {"id":"opencode-swarm-plugin-4rpr2","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.021335-08:00","updated_at":"2025-12-13T18:16:34.357317-08:00","closed_at":"2025-12-13T18:16:34.357317-08:00"}
266
300
  {"id":"opencode-swarm-plugin-4t3mp","title":"Extract magic number 10000 to constant in semantic-memory check","description":"src/tool-availability.ts:108 - bunx timeout 10000ms is magic number. Extract to constant: `const BUNX_TIMEOUT_MS = 10000;` for consistency with other timeouts.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:06.018452-08:00","updated_at":"2025-12-13T16:41:51.721641-08:00","closed_at":"2025-12-13T16:41:51.721641-08:00"}
267
301
  {"id":"opencode-swarm-plugin-4tyc","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:08.814454-08:00","updated_at":"2025-12-08T11:11:11.094826-08:00","closed_at":"2025-12-08T11:11:11.094826-08:00"}
268
302
  {"id":"opencode-swarm-plugin-4uy9","title":"Implement Strategic Swarm Planner","description":"Add strategy selection, planning prompts, example agent, and learning integration for swarm decomposition","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:08:24.603771-08:00","updated_at":"2025-12-08T11:13:18.243383-08:00","closed_at":"2025-12-08T11:13:18.243383-08:00"}
@@ -292,7 +326,9 @@
292
326
  {"id":"opencode-swarm-plugin-57d6v","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:41.21242-08:00","updated_at":"2025-12-08T11:12:43.765954-08:00","closed_at":"2025-12-08T11:12:43.765954-08:00"}
293
327
  {"id":"opencode-swarm-plugin-59g9","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:36:17.061598-08:00","updated_at":"2025-12-08T08:36:19.385951-08:00","closed_at":"2025-12-08T08:36:19.385951-08:00"}
294
328
  {"id":"opencode-swarm-plugin-59lp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.569486-08:00","updated_at":"2025-12-08T09:09:33.085717-08:00","closed_at":"2025-12-08T09:09:33.085717-08:00"}
329
+ {"id":"opencode-swarm-plugin-59xhm","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.279324-08:00","updated_at":"2025-12-13T18:16:33.558884-08:00","closed_at":"2025-12-13T18:16:33.558884-08:00"}
295
330
  {"id":"opencode-swarm-plugin-59zk","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.013763-08:00","updated_at":"2025-12-08T08:14:31.236956-08:00","closed_at":"2025-12-08T08:14:31.236956-08:00"}
331
+ {"id":"opencode-swarm-plugin-5al8n","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:16:30.631152-08:00","updated_at":"2025-12-13T18:16:34.275506-08:00","closed_at":"2025-12-13T18:16:34.275506-08:00"}
296
332
  {"id":"opencode-swarm-plugin-5bpt","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:11:38.091293-08:00","updated_at":"2025-12-08T11:11:40.700616-08:00","closed_at":"2025-12-08T11:11:40.700616-08:00"}
297
333
  {"id":"opencode-swarm-plugin-5clp","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:56:43.706972-08:00","updated_at":"2025-12-07T19:56:45.317385-08:00","closed_at":"2025-12-07T19:56:45.317385-08:00"}
298
334
  {"id":"opencode-swarm-plugin-5clp.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.734921-08:00","updated_at":"2025-12-07T19:56:45.339143-08:00","closed_at":"2025-12-07T19:56:45.339143-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5clp.1","depends_on_id":"opencode-swarm-plugin-5clp","type":"parent-child","created_at":"2025-12-07T19:56:43.735193-08:00","created_by":"daemon"}]}
@@ -304,11 +340,17 @@
304
340
  {"id":"opencode-swarm-plugin-5j9pz","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:12:55.370664-08:00","updated_at":"2025-12-08T11:12:57.903672-08:00","closed_at":"2025-12-08T11:12:57.903672-08:00"}
305
341
  {"id":"opencode-swarm-plugin-5jmtq","title":"agent-mail.ts:221-245 - Race condition in checkWindow Redis pipeline","description":"agent-mail.ts:221-245 (rate-limiter.ts transplanted) - The Redis checkWindow uses pipeline but doesn't handle the case where pipeline.exec() returns null. Network failure or Redis disconnect returns null, causing undefined access on results[1]?.[1]. Suggested fix: Check for null results before accessing.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:06.13131-08:00","updated_at":"2025-12-13T08:52:57.081406-08:00","closed_at":"2025-12-13T08:52:57.081406-08:00"}
306
342
  {"id":"opencode-swarm-plugin-5kj7","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.875856-08:00","updated_at":"2025-12-08T11:11:11.121063-08:00","closed_at":"2025-12-08T11:11:11.121063-08:00"}
343
+ {"id":"opencode-swarm-plugin-5ktdf","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.492342-08:00","updated_at":"2025-12-13T18:18:39.071947-08:00","closed_at":"2025-12-13T18:18:39.071947-08:00"}
307
344
  {"id":"opencode-swarm-plugin-5l0v","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:40.362215-08:00","updated_at":"2025-12-08T11:11:40.551768-08:00","closed_at":"2025-12-08T11:11:40.551768-08:00"}
308
345
  {"id":"opencode-swarm-plugin-5l0v.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:40.396129-08:00","updated_at":"2025-12-08T11:11:40.476974-08:00","closed_at":"2025-12-08T11:11:40.476974-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5l0v.1","depends_on_id":"opencode-swarm-plugin-5l0v","type":"parent-child","created_at":"2025-12-08T11:11:40.396424-08:00","created_by":"daemon"}]}
309
346
  {"id":"opencode-swarm-plugin-5l0v.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:40.428325-08:00","updated_at":"2025-12-08T11:11:40.527065-08:00","closed_at":"2025-12-08T11:11:40.527065-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5l0v.2","depends_on_id":"opencode-swarm-plugin-5l0v","type":"parent-child","created_at":"2025-12-08T11:11:40.428685-08:00","created_by":"daemon"}]}
347
+ {"id":"opencode-swarm-plugin-5ljo7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.183546-08:00","updated_at":"2025-12-14T09:30:22.836436-08:00","closed_at":"2025-12-14T09:30:22.836436-08:00"}
348
+ {"id":"opencode-swarm-plugin-5md6f","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.271736-08:00","updated_at":"2025-12-13T18:16:34.103635-08:00","closed_at":"2025-12-13T18:16:34.103635-08:00"}
310
349
  {"id":"opencode-swarm-plugin-5mkse","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-10T09:07:21.692744-08:00","updated_at":"2025-12-10T09:07:25.34803-08:00","closed_at":"2025-12-10T09:07:25.34803-08:00"}
311
350
  {"id":"opencode-swarm-plugin-5n6b","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.588041-08:00","updated_at":"2025-12-08T07:46:52.448828-08:00","closed_at":"2025-12-08T07:46:52.448828-08:00"}
351
+ {"id":"opencode-swarm-plugin-5np09","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:20.372636-08:00","updated_at":"2025-12-14T09:30:23.815671-08:00","closed_at":"2025-12-14T09:30:23.815671-08:00"}
352
+ {"id":"opencode-swarm-plugin-5np09.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.432341-08:00","updated_at":"2025-12-14T09:30:23.861085-08:00","closed_at":"2025-12-14T09:30:23.861085-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5np09.1","depends_on_id":"opencode-swarm-plugin-5np09","type":"parent-child","created_at":"2025-12-14T09:30:20.433248-08:00","created_by":"daemon"}]}
353
+ {"id":"opencode-swarm-plugin-5np09.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.494887-08:00","updated_at":"2025-12-14T09:30:23.903825-08:00","closed_at":"2025-12-14T09:30:23.903825-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-5np09.2","depends_on_id":"opencode-swarm-plugin-5np09","type":"parent-child","created_at":"2025-12-14T09:30:20.495919-08:00","created_by":"daemon"}]}
312
354
  {"id":"opencode-swarm-plugin-5o8","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.447989-08:00","updated_at":"2025-12-07T19:34:54.582978-08:00","closed_at":"2025-12-07T19:34:54.582978-08:00"}
313
355
  {"id":"opencode-swarm-plugin-5p0m","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:45.549965-08:00","updated_at":"2025-12-08T07:53:47.048625-08:00","closed_at":"2025-12-08T07:53:47.048625-08:00"}
314
356
  {"id":"opencode-swarm-plugin-5p7c","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:26.840423-08:00","updated_at":"2025-12-08T11:12:28.633137-08:00","closed_at":"2025-12-08T11:12:28.633137-08:00"}
@@ -347,6 +389,7 @@
347
389
  {"id":"opencode-swarm-plugin-637l","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.263293-08:00","updated_at":"2025-12-08T08:21:29.957087-08:00","closed_at":"2025-12-08T08:21:29.957087-08:00"}
348
390
  {"id":"opencode-swarm-plugin-64f","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.34101-08:00","updated_at":"2025-12-07T19:39:12.089113-08:00","closed_at":"2025-12-07T19:39:12.089113-08:00"}
349
391
  {"id":"opencode-swarm-plugin-64sb","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:11.252017-08:00","updated_at":"2025-12-08T07:49:12.801335-08:00","closed_at":"2025-12-08T07:49:12.801335-08:00"}
392
+ {"id":"opencode-swarm-plugin-66ni8","title":"README rewrite with full repo context","description":"## Context Captured\n\n### Repo Structure (74k lines total)\n```\nsrc/\n├── index.ts # Plugin entry, exports all tools\n├── plugin.ts # Plugin loader (23 lines)\n├── swarm.ts # Swarm tools aggregator (35 lines)\n│\n├── # SWARM COORDINATION (5k lines)\n├── swarm-orchestrate.ts # 2298 lines - swarm_status, swarm_progress, swarm_complete, swarm_checkpoint, swarm_recover\n├── swarm-decompose.ts # 912 lines - swarm_decompose, swarm_validate_decomposition\n├── swarm-prompts.ts # 828 lines - swarm_spawn_subtask, swarm_subtask_prompt\n├── swarm-strategies.ts # 407 lines - swarm_select_strategy (file/feature/risk/research)\n│\n├── # BEADS (git-backed issues)\n├── beads.ts # beads_create, beads_create_epic, beads_query, beads_update, beads_close, beads_start, beads_ready, beads_sync\n│\n├── # SWARM MAIL (agent coordination)\n├── swarm-mail.ts # 739 lines - swarmmail_init, swarmmail_send, swarmmail_inbox, swarmmail_reserve, swarmmail_release\n├── agent-mail.ts # DEPRECATED MCP-based version\n│\n├── # SKILLS (knowledge packages)\n├── skills.ts # 1533 lines - skills_list, skills_use, skills_read, skills_create, skills_init, skills_update, skills_delete\n│\n├── # STRUCTURED OUTPUT\n├── structured.ts # 755 lines - structured_extract_json, structured_validate, structured_parse_*\n│\n├── # LEARNING SYSTEM\n├── learning.ts # Confidence decay, implicit feedback scoring\n├── pattern-maturity.ts # candidate → established → proven lifecycle\n├── anti-patterns.ts # Auto-inversion of failing patterns\n├── eval-capture.ts # Outcome capture for evals\n│\n├── # STORAGE \u0026 STREAMS (event sourcing)\n├── streams/\n│ ├── index.ts # PGLite database management\n│ ├── store.ts # Append-only event log\n│ ├── events.ts # 15+ event types (agent_registered, message_sent, file_reserved, swarm_checkpointed, etc.)\n│ ├── projections.ts # Materialized views (agents, messages, reservations, eval_records)\n│ ├── migrations.ts # Schema migrations v1-v4\n│ ├── effect/ # Durable primitives (DurableCursor, DurableDeferred, DurableLock, DurableMailbox, ask pattern)\n│ └── debug.ts # Debugging utilities\n│\n├── # OTHER\n├── storage.ts # File-based storage utilities\n├── rate-limiter.ts # Redis/SQLite rate limiting\n├── repo-crawl.ts # GitHub repo analysis tools\n├── output-guardrails.ts # MCP output validation\n├── mandates.ts # Mandate system (deprecated?)\n└── schemas/ # Zod schemas for all data types\n\nglobal-skills/ # Bundled skills\n├── cli-builder/\n├── learning-systems/\n├── skill-creator/\n├── swarm-coordination/\n├── system-design/\n└── testing-patterns/\n\nevals/ # Evalite integration\n├── swarm-decomposition.eval.ts\n├── lib/data-loader.ts # PGLite eval data loader\n└── scorers/ # Outcome-based scorers\n```\n\n### Tool Groups\n- **Swarm**: 12 tools (init, select_strategy, plan_prompt, decompose, validate_decomposition, spawn_subtask, status, progress, complete, record_outcome, checkpoint, recover)\n- **Beads**: 9 tools (create, create_epic, query, update, close, start, ready, sync, link_thread)\n- **Swarm Mail**: 8 tools (init, send, inbox, read_message, reserve, release, ack, health)\n- **Skills**: 7 tools (list, use, read, create, init, update, delete)\n- **Structured**: 5 tools (extract_json, validate, parse_evaluation, parse_decomposition, parse_bead_tree)\n\n### Key Concepts to Explain\n1. **Swarm flow**: task → decomposition → beads → file reservations → parallel agents → learning\n2. **Checkpoint/recovery**: survives context compaction (NEW)\n3. **Learning loop**: outcomes → confidence decay → pattern maturity → anti-pattern inversion\n4. **Event sourcing**: append-only log → materialized views → crash recovery\n5. **Skills**: reusable knowledge packages with references\n\n### v0.21.0 Changelog\n- Swarm recovery context (swarm_checkpoint, swarm_recover, auto-checkpoint at 25/50/75%)\n- Eval data capture (DecompositionGeneratedEvent, SubtaskOutcomeEvent, eval_records table)\n- Outcome-based scorers (fileOverlap, scopeAccuracy, timeBalance, successRate, humanAcceptance)\n- PGLite data loader for Evalite\n- JSONB parsing fix in store.ts/projections.ts","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T13:40:47.478855-08:00","updated_at":"2025-12-14T14:29:15.955044-08:00","closed_at":"2025-12-14T14:29:15.955044-08:00"}
350
393
  {"id":"opencode-swarm-plugin-679z","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:40.133137-08:00","updated_at":"2025-12-08T08:11:42.182946-08:00","closed_at":"2025-12-08T08:11:42.182946-08:00"}
351
394
  {"id":"opencode-swarm-plugin-679z.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.165666-08:00","updated_at":"2025-12-08T08:11:42.205856-08:00","closed_at":"2025-12-08T08:11:42.205856-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-679z.1","depends_on_id":"opencode-swarm-plugin-679z","type":"parent-child","created_at":"2025-12-08T08:11:40.165959-08:00","created_by":"daemon"}]}
352
395
  {"id":"opencode-swarm-plugin-679z.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:11:40.198674-08:00","updated_at":"2025-12-08T08:11:42.232434-08:00","closed_at":"2025-12-08T08:11:42.232434-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-679z.2","depends_on_id":"opencode-swarm-plugin-679z","type":"parent-child","created_at":"2025-12-08T08:11:40.198981-08:00","created_by":"daemon"}]}
@@ -360,6 +403,7 @@
360
403
  {"id":"opencode-swarm-plugin-6dcg","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.735967-08:00","updated_at":"2025-12-08T07:46:51.96445-08:00","closed_at":"2025-12-08T07:46:51.96445-08:00"}
361
404
  {"id":"opencode-swarm-plugin-6efn9","title":"Document why GET instead of HEAD in urlReachable","description":"src/tool-availability.ts:64-68 - Comment says \"Use GET instead of HEAD - some servers don't support HEAD\" but doesn't clarify that we check .ok, not response body. Add: \"We only check response.ok status, not body content, so GET has minimal overhead vs HEAD.\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:04.446096-08:00","updated_at":"2025-12-13T16:41:51.189901-08:00","closed_at":"2025-12-13T16:41:51.189901-08:00"}
362
405
  {"id":"opencode-swarm-plugin-6eg","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.586075-08:00","updated_at":"2025-12-07T19:37:36.81509-08:00","closed_at":"2025-12-07T19:37:36.81509-08:00"}
406
+ {"id":"opencode-swarm-plugin-6ence","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-14T09:30:17.894326-08:00","updated_at":"2025-12-14T09:30:22.651705-08:00","closed_at":"2025-12-14T09:30:22.651705-08:00"}
363
407
  {"id":"opencode-swarm-plugin-6ep7","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:11:38.996265-08:00","updated_at":"2025-12-08T08:11:41.663466-08:00","closed_at":"2025-12-08T08:11:41.663466-08:00"}
364
408
  {"id":"opencode-swarm-plugin-6ib2a","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:42.179637-08:00","updated_at":"2025-12-08T11:12:44.081038-08:00","closed_at":"2025-12-08T11:12:44.081038-08:00"}
365
409
  {"id":"opencode-swarm-plugin-6ib2a.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:42.216037-08:00","updated_at":"2025-12-08T11:12:44.105066-08:00","closed_at":"2025-12-08T11:12:44.105066-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-6ib2a.1","depends_on_id":"opencode-swarm-plugin-6ib2a","type":"parent-child","created_at":"2025-12-08T11:12:42.216391-08:00","created_by":"daemon"}]}
@@ -383,6 +427,7 @@
383
427
  {"id":"opencode-swarm-plugin-6syoc","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:43.003342-08:00","updated_at":"2025-12-13T14:48:46.043397-08:00","closed_at":"2025-12-13T14:48:46.043397-08:00"}
384
428
  {"id":"opencode-swarm-plugin-6tb8u","title":"beads.ts:163-172 - No validation of bd create output before parsing","description":"beads.ts:163-172 - beads_create assumes bd create --json always returns valid JSON. If bd crashes or returns non-JSON error, parseBead throws generic error. Suggested fix: Check if stdout is empty or contains \"error\" before parsing.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:11.381852-08:00","updated_at":"2025-12-10T11:59:34.843893-08:00","closed_at":"2025-12-10T11:59:34.843893-08:00"}
385
429
  {"id":"opencode-swarm-plugin-6um3","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.518628-08:00","updated_at":"2025-12-08T11:11:26.121955-08:00","closed_at":"2025-12-08T11:11:26.121955-08:00"}
430
+ {"id":"opencode-swarm-plugin-6wau5","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.451184-08:00","updated_at":"2025-12-14T13:58:55.565522-08:00","closed_at":"2025-12-14T13:58:55.565522-08:00"}
386
431
  {"id":"opencode-swarm-plugin-6wkm","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.055636-08:00","updated_at":"2025-12-08T11:11:11.145613-08:00","closed_at":"2025-12-08T11:11:11.145613-08:00"}
387
432
  {"id":"opencode-swarm-plugin-6wkv","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:14:29.792336-08:00","updated_at":"2025-12-08T08:14:31.557975-08:00","closed_at":"2025-12-08T08:14:31.557975-08:00"}
388
433
  {"id":"opencode-swarm-plugin-6x0s9","title":"Gap: Race condition in singleton creation","description":"src/streams/index.ts:58-78 - getDatabase() has race condition: two concurrent calls with same dbPath could both pass the `if (db)` check before either sets the instance in the Map, causing duplicate PGLite instances. Should use async lock/mutex or check-and-set pattern with await. Consider using a Promise cache instead of instance cache to handle pending initialization.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:24:53.052581-08:00","updated_at":"2025-12-13T09:55:52.819054-08:00","closed_at":"2025-12-13T09:55:52.819054-08:00"}
@@ -393,6 +438,7 @@
393
438
  {"id":"opencode-swarm-plugin-703wf","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:42.544143-08:00","updated_at":"2025-12-08T11:12:44.314103-08:00","closed_at":"2025-12-08T11:12:44.314103-08:00"}
394
439
  {"id":"opencode-swarm-plugin-70f5","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:30.43114-08:00","updated_at":"2025-12-08T09:09:32.988939-08:00","closed_at":"2025-12-08T09:09:32.988939-08:00"}
395
440
  {"id":"opencode-swarm-plugin-72h2d","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:41.944465-08:00","updated_at":"2025-12-08T11:12:43.965305-08:00","closed_at":"2025-12-08T11:12:43.965305-08:00"}
441
+ {"id":"opencode-swarm-plugin-73v24","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.843246-08:00","updated_at":"2025-12-13T18:16:33.845294-08:00","closed_at":"2025-12-13T18:16:33.845294-08:00"}
396
442
  {"id":"opencode-swarm-plugin-757j6","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.555508-08:00","updated_at":"2025-12-13T11:20:51.11287-08:00","closed_at":"2025-12-13T11:20:51.11287-08:00"}
397
443
  {"id":"opencode-swarm-plugin-75cl","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.905176-08:00","updated_at":"2025-12-08T07:53:46.313642-08:00","closed_at":"2025-12-08T07:53:46.313642-08:00"}
398
444
  {"id":"opencode-swarm-plugin-75x7","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:49:10.547159-08:00","updated_at":"2025-12-08T07:49:12.461308-08:00","closed_at":"2025-12-08T07:49:12.461308-08:00"}
@@ -405,6 +451,11 @@
405
451
  {"id":"opencode-swarm-plugin-79i.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-07T19:36:07.283082-08:00","updated_at":"2025-12-07T19:36:08.918481-08:00","closed_at":"2025-12-07T19:36:08.918481-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-79i.2","depends_on_id":"opencode-swarm-plugin-79i","type":"parent-child","created_at":"2025-12-07T19:36:07.283377-08:00","created_by":"daemon"}]}
406
452
  {"id":"opencode-swarm-plugin-7b4e","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:14:29.479112-08:00","updated_at":"2025-12-08T08:14:31.354597-08:00","closed_at":"2025-12-08T08:14:31.354597-08:00"}
407
453
  {"id":"opencode-swarm-plugin-7bni","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.215335-08:00","updated_at":"2025-12-08T11:11:40.778896-08:00","closed_at":"2025-12-08T11:11:40.778896-08:00"}
454
+ {"id":"opencode-swarm-plugin-7bv9k","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:36.169237-08:00","updated_at":"2025-12-13T18:18:38.806944-08:00","closed_at":"2025-12-13T18:18:38.806944-08:00"}
455
+ {"id":"opencode-swarm-plugin-7bv9k.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:18:36.217102-08:00","updated_at":"2025-12-13T18:18:38.845531-08:00","closed_at":"2025-12-13T18:18:38.845531-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7bv9k.1","depends_on_id":"opencode-swarm-plugin-7bv9k","type":"parent-child","created_at":"2025-12-13T18:18:36.217946-08:00","created_by":"daemon"}]}
456
+ {"id":"opencode-swarm-plugin-7c5yk","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.583367-08:00","updated_at":"2025-12-14T13:58:51.624021-08:00","closed_at":"2025-12-14T13:58:51.624021-08:00"}
457
+ {"id":"opencode-swarm-plugin-7cwhs","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.500696-08:00","updated_at":"2025-12-14T13:58:55.106103-08:00","closed_at":"2025-12-14T13:58:55.106103-08:00"}
458
+ {"id":"opencode-swarm-plugin-7dcl1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.750276-08:00","updated_at":"2025-12-13T18:16:33.804154-08:00","closed_at":"2025-12-13T18:16:33.804154-08:00"}
408
459
  {"id":"opencode-swarm-plugin-7ea2","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.630883-08:00","updated_at":"2025-12-08T11:11:11.016207-08:00","closed_at":"2025-12-08T11:11:11.016207-08:00"}
409
460
  {"id":"opencode-swarm-plugin-7ecg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.699621-08:00","updated_at":"2025-12-08T07:53:46.215175-08:00","closed_at":"2025-12-08T07:53:46.215175-08:00"}
410
461
  {"id":"opencode-swarm-plugin-7euso","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.783341-08:00","updated_at":"2025-12-08T11:12:58.22179-08:00","closed_at":"2025-12-08T11:12:58.22179-08:00"}
@@ -412,6 +463,8 @@
412
463
  {"id":"opencode-swarm-plugin-7glyd","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.622271-08:00","updated_at":"2025-12-09T10:00:25.846309-08:00","closed_at":"2025-12-09T10:00:25.846309-08:00"}
413
464
  {"id":"opencode-swarm-plugin-7hbr","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:26.089938-08:00","updated_at":"2025-12-08T11:12:28.282761-08:00","closed_at":"2025-12-08T11:12:28.282761-08:00"}
414
465
  {"id":"opencode-swarm-plugin-7j844","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.898857-08:00","updated_at":"2025-12-13T11:20:51.281975-08:00","closed_at":"2025-12-13T11:20:51.281975-08:00"}
466
+ {"id":"opencode-swarm-plugin-7k7j9","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.729376-08:00","updated_at":"2025-12-14T13:58:55.290584-08:00","closed_at":"2025-12-14T13:58:55.290584-08:00"}
467
+ {"id":"opencode-swarm-plugin-7lpi5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.902718-08:00","updated_at":"2025-12-14T09:30:23.219078-08:00","closed_at":"2025-12-14T09:30:23.219078-08:00"}
415
468
  {"id":"opencode-swarm-plugin-7ls9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.40263-08:00","updated_at":"2025-12-08T08:36:19.090576-08:00","closed_at":"2025-12-08T08:36:19.090576-08:00"}
416
469
  {"id":"opencode-swarm-plugin-7lwj","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:46:49.954688-08:00","updated_at":"2025-12-08T07:46:52.018977-08:00","closed_at":"2025-12-08T07:46:52.018977-08:00"}
417
470
  {"id":"opencode-swarm-plugin-7lwj.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.990182-08:00","updated_at":"2025-12-08T07:46:52.047849-08:00","closed_at":"2025-12-08T07:46:52.047849-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7lwj.1","depends_on_id":"opencode-swarm-plugin-7lwj","type":"parent-child","created_at":"2025-12-08T07:46:49.990568-08:00","created_by":"daemon"}]}
@@ -439,6 +492,12 @@
439
492
  {"id":"opencode-swarm-plugin-7vk.5","title":"Write swarm integration tests + update package.json","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:24:38.92166-08:00","updated_at":"2025-12-07T19:32:59.349281-08:00","closed_at":"2025-12-07T19:32:59.349281-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7vk.5","depends_on_id":"opencode-swarm-plugin-7vk","type":"parent-child","created_at":"2025-12-07T19:24:38.921953-08:00","created_by":"daemon"}]}
440
493
  {"id":"opencode-swarm-plugin-7w99","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.644213-08:00","updated_at":"2025-12-08T08:56:58.099234-08:00","closed_at":"2025-12-08T08:56:58.099234-08:00"}
441
494
  {"id":"opencode-swarm-plugin-7we","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.436638-08:00","updated_at":"2025-12-07T19:36:08.567688-08:00","closed_at":"2025-12-07T19:36:08.567688-08:00"}
495
+ {"id":"opencode-swarm-plugin-7x3pk","title":"Improve semantic memory usage patterns","description":"Fix test pollution, add auto-capture hooks, update agent prompts, and define clear memory triggers for proactive learning storage. FORCE agents to use semantic-memory and swarm mail at every opportunity.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T14:34:04.14035-08:00","updated_at":"2025-12-14T14:47:53.151758-08:00","closed_at":"2025-12-14T14:47:53.151758-08:00"}
496
+ {"id":"opencode-swarm-plugin-7x3pk.1","title":"Add test isolation + monitoring/logging for memory operations","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T14:34:04.20286-08:00","updated_at":"2025-12-14T14:47:47.479252-08:00","closed_at":"2025-12-14T14:47:47.479252-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7x3pk.1","depends_on_id":"opencode-swarm-plugin-7x3pk","type":"parent-child","created_at":"2025-12-14T14:34:04.204815-08:00","created_by":"daemon"}]}
497
+ {"id":"opencode-swarm-plugin-7x3pk.2","title":"Update all integration tests to use isolated collections","description":"✅ Completed: Updated all integration tests to use isolated collections.\n\n**Changes:**\n- learning.integration.test.ts: Added unique collection names with timestamps, added afterEach cleanup\n\n**Verified:**\n- storage.integration.test.ts: Already using isolated collections ✓\n- swarm-mail.integration.test.ts: Already using unique db paths ✓\n- All streams/* tests: Already using unique temp paths ✓\n- rate-limiter.integration.test.ts: Already using unique temp dirs ✓\n\n**Pattern documented in semantic-memory for future reference**","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T14:34:04.259594-08:00","updated_at":"2025-12-14T14:47:48.373226-08:00","closed_at":"2025-12-14T14:47:48.373226-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7x3pk.2","depends_on_id":"opencode-swarm-plugin-7x3pk","type":"parent-child","created_at":"2025-12-14T14:34:04.260752-08:00","created_by":"daemon"}]}
498
+ {"id":"opencode-swarm-plugin-7x3pk.3","title":"Add automatic memory capture hook in swarm_complete","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T14:34:04.319433-08:00","updated_at":"2025-12-14T14:47:49.36759-08:00","closed_at":"2025-12-14T14:47:49.36759-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7x3pk.3","depends_on_id":"opencode-swarm-plugin-7x3pk","type":"parent-child","created_at":"2025-12-14T14:34:04.320428-08:00","created_by":"daemon"}]}
499
+ {"id":"opencode-swarm-plugin-7x3pk.4","title":"Define MANDATORY memory triggers and swarm mail usage in AGENTS.md","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T14:34:04.379325-08:00","updated_at":"2025-12-14T14:47:50.635175-08:00","closed_at":"2025-12-14T14:47:50.635175-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7x3pk.4","depends_on_id":"opencode-swarm-plugin-7x3pk","type":"parent-child","created_at":"2025-12-14T14:34:04.380061-08:00","created_by":"daemon"}]}
500
+ {"id":"opencode-swarm-plugin-7x3pk.5","title":"Audit and clean existing test pollution, document learnings","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T14:34:04.439992-08:00","updated_at":"2025-12-14T14:47:52.035028-08:00","closed_at":"2025-12-14T14:47:52.035028-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-7x3pk.5","depends_on_id":"opencode-swarm-plugin-7x3pk","type":"parent-child","created_at":"2025-12-14T14:34:04.440785-08:00","created_by":"daemon"}]}
442
501
  {"id":"opencode-swarm-plugin-7ydd","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.267166-08:00","updated_at":"2025-12-08T08:22:19.958356-08:00","closed_at":"2025-12-08T08:22:19.958356-08:00"}
443
502
  {"id":"opencode-swarm-plugin-7yl8","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:28.959766-08:00","updated_at":"2025-12-07T19:39:31.156979-08:00","closed_at":"2025-12-07T19:39:31.156979-08:00"}
444
503
  {"id":"opencode-swarm-plugin-7zvz","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.755947-08:00","updated_at":"2025-12-08T11:11:11.55818-08:00","closed_at":"2025-12-08T11:11:11.55818-08:00"}
@@ -488,6 +547,7 @@
488
547
  {"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
548
  {"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
549
  {"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"}
550
+ {"id":"opencode-swarm-plugin-8pa64","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.548492-08:00","updated_at":"2025-12-13T18:18:38.100736-08:00","closed_at":"2025-12-13T18:18:38.100736-08:00"}
491
551
  {"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
552
  {"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
553
  {"id":"opencode-swarm-plugin-8rl6e","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:41.420444-08:00","updated_at":"2025-12-08T11:12:43.835874-08:00","closed_at":"2025-12-08T11:12:43.835874-08:00"}
@@ -526,6 +586,7 @@
526
586
  {"id":"opencode-swarm-plugin-9e94e.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:48.59-08:00","updated_at":"2025-12-13T11:20:52.051368-08:00","closed_at":"2025-12-13T11:20:52.051368-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9e94e.1","depends_on_id":"opencode-swarm-plugin-9e94e","type":"parent-child","created_at":"2025-12-13T11:20:48.591466-08:00","created_by":"daemon"}]}
527
587
  {"id":"opencode-swarm-plugin-9e94e.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:48.647979-08:00","updated_at":"2025-12-13T11:20:52.091426-08:00","closed_at":"2025-12-13T11:20:52.091426-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9e94e.2","depends_on_id":"opencode-swarm-plugin-9e94e","type":"parent-child","created_at":"2025-12-13T11:20:48.64866-08:00","created_by":"daemon"}]}
528
588
  {"id":"opencode-swarm-plugin-9ean7","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:08:32.453723-08:00","updated_at":"2025-12-10T09:08:35.737379-08:00","closed_at":"2025-12-10T09:08:35.737379-08:00"}
589
+ {"id":"opencode-swarm-plugin-9fldh","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T18:18:35.705564-08:00","updated_at":"2025-12-13T18:18:38.505121-08:00","closed_at":"2025-12-13T18:18:38.505121-08:00"}
529
590
  {"id":"opencode-swarm-plugin-9fo5","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:10:25.398427-08:00","updated_at":"2025-12-08T11:10:27.65064-08:00","closed_at":"2025-12-08T11:10:27.65064-08:00"}
530
591
  {"id":"opencode-swarm-plugin-9gdip","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-09T10:00:22.084056-08:00","updated_at":"2025-12-09T10:00:25.538382-08:00","closed_at":"2025-12-09T10:00:25.538382-08:00"}
531
592
  {"id":"opencode-swarm-plugin-9gks","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:41.194407-08:00","updated_at":"2025-12-08T08:11:41.390014-08:00","closed_at":"2025-12-08T08:11:41.390014-08:00"}
@@ -544,9 +605,14 @@
544
605
  {"id":"opencode-swarm-plugin-9hya.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.401682-08:00","updated_at":"2025-12-08T11:11:26.152614-08:00","closed_at":"2025-12-08T11:11:26.152614-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hya.2","depends_on_id":"opencode-swarm-plugin-9hya","type":"parent-child","created_at":"2025-12-08T11:11:24.40198-08:00","created_by":"daemon"}]}
545
606
  {"id":"opencode-swarm-plugin-9hya.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.437295-08:00","updated_at":"2025-12-08T11:11:26.180152-08:00","closed_at":"2025-12-08T11:11:26.180152-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hya.3","depends_on_id":"opencode-swarm-plugin-9hya","type":"parent-child","created_at":"2025-12-08T11:11:24.437636-08:00","created_by":"daemon"}]}
546
607
  {"id":"opencode-swarm-plugin-9hya.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.471556-08:00","updated_at":"2025-12-08T11:11:26.207658-08:00","closed_at":"2025-12-08T11:11:26.207658-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9hya.4","depends_on_id":"opencode-swarm-plugin-9hya","type":"parent-child","created_at":"2025-12-08T11:11:24.471909-08:00","created_by":"daemon"}]}
608
+ {"id":"opencode-swarm-plugin-9hyc3","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.810807-08:00","updated_at":"2025-12-14T13:58:55.609494-08:00","closed_at":"2025-12-14T13:58:55.609494-08:00"}
547
609
  {"id":"opencode-swarm-plugin-9ioz","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.947868-08:00","updated_at":"2025-12-07T19:56:45.455609-08:00","closed_at":"2025-12-07T19:56:45.455609-08:00"}
548
610
  {"id":"opencode-swarm-plugin-9itda","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.953258-08:00","updated_at":"2025-12-09T10:00:25.985697-08:00","closed_at":"2025-12-09T10:00:25.985697-08:00"}
549
611
  {"id":"opencode-swarm-plugin-9khpl","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.9783-08:00","updated_at":"2025-12-10T09:06:07.013143-08:00","closed_at":"2025-12-10T09:06:07.013143-08:00"}
612
+ {"id":"opencode-swarm-plugin-9l533","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:31.339516-08:00","updated_at":"2025-12-13T18:16:34.445544-08:00","closed_at":"2025-12-13T18:16:34.445544-08:00"}
613
+ {"id":"opencode-swarm-plugin-9l533.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.395821-08:00","updated_at":"2025-12-13T18:16:34.489282-08:00","closed_at":"2025-12-13T18:16:34.489282-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9l533.1","depends_on_id":"opencode-swarm-plugin-9l533","type":"parent-child","created_at":"2025-12-13T18:16:31.396946-08:00","created_by":"daemon"}]}
614
+ {"id":"opencode-swarm-plugin-9l533.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T18:16:31.448679-08:00","updated_at":"2025-12-13T18:16:34.535725-08:00","closed_at":"2025-12-13T18:16:34.535725-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9l533.2","depends_on_id":"opencode-swarm-plugin-9l533","type":"parent-child","created_at":"2025-12-13T18:16:31.450101-08:00","created_by":"daemon"}]}
615
+ {"id":"opencode-swarm-plugin-9l533.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:16:31.505201-08:00","updated_at":"2025-12-13T18:16:34.581142-08:00","closed_at":"2025-12-13T18:16:34.581142-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9l533.3","depends_on_id":"opencode-swarm-plugin-9l533","type":"parent-child","created_at":"2025-12-13T18:16:31.506658-08:00","created_by":"daemon"}]}
550
616
  {"id":"opencode-swarm-plugin-9lksy","title":"Pattern: 3-Strike Architecture Rule - Question Fundamentals After 3 Failures","description":"## 3-Strike Architecture Rule (from obra/superpowers)\n\n**Iron Law:** If 3+ fixes have failed, you have an architectural problem, not a bug.\n\n### The Rule\n```\nIF 3+ fixes have failed:\n STOP → Question the architecture\n DON'T attempt Fix #4\n Discuss with human partner\n\nThis is NOT a failed hypothesis.\nThis is a WRONG ARCHITECTURE.\n```\n\n### Pattern Indicators\n- Each fix reveals new shared state/coupling/problem in different place\n- Fixes require \"massive refactoring\" to implement\n- Each fix creates new symptoms elsewhere\n- \"Sticking with it through sheer inertia\"\n\n### What To Do\n1. STOP and question fundamentals\n2. Is this pattern fundamentally sound?\n3. Should we refactor architecture vs. continue fixing symptoms?\n4. Discuss with human partner before attempting more fixes\n\n### 4-Phase Debugging Framework\n| Phase | Key Activities | Success Criteria |\n|-------|---------------|------------------|\n| 1. Root Cause | Read errors, reproduce, check changes, trace data flow | Understand WHAT and WHY |\n| 2. Pattern Analysis | Find working examples, compare, identify differences | Know what's different |\n| 3. Hypothesis | Form single theory, test minimally, one variable | Confirmed or new hypothesis |\n| 4. Implementation | Create test, fix, verify | Bug resolved |\n| **4.5. Architecture** | If 3+ failures: STOP, question pattern | Discuss with human |\n\n### Key Quote\n\"Random fixes waste time and create new bugs. Quick patches mask underlying issues. Systematic debugging is FASTER than guess-and-check thrashing.\"\n\n**Full analysis:** VERIFICATION_QUALITY_PATTERNS.md","status":"closed","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:30.082677-08:00","updated_at":"2025-12-13T15:50:53.766873-08:00","closed_at":"2025-12-13T15:50:53.766873-08:00"}
551
617
  {"id":"opencode-swarm-plugin-9m1x9","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:49.895996-08:00","updated_at":"2025-12-13T11:20:52.545509-08:00","closed_at":"2025-12-13T11:20:52.545509-08:00"}
552
618
  {"id":"opencode-swarm-plugin-9mc1","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.068796-08:00","updated_at":"2025-12-08T08:56:58.30395-08:00","closed_at":"2025-12-08T08:56:58.30395-08:00"}
@@ -554,6 +620,10 @@
554
620
  {"id":"opencode-swarm-plugin-9mjt.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.392344-08:00","updated_at":"2025-12-07T19:56:44.467504-08:00","closed_at":"2025-12-07T19:56:44.467504-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9mjt.1","depends_on_id":"opencode-swarm-plugin-9mjt","type":"parent-child","created_at":"2025-12-07T19:56:44.392644-08:00","created_by":"daemon"}]}
555
621
  {"id":"opencode-swarm-plugin-9mjt.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.421947-08:00","updated_at":"2025-12-07T19:56:44.51394-08:00","closed_at":"2025-12-07T19:56:44.51394-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9mjt.2","depends_on_id":"opencode-swarm-plugin-9mjt","type":"parent-child","created_at":"2025-12-07T19:56:44.422319-08:00","created_by":"daemon"}]}
556
622
  {"id":"opencode-swarm-plugin-9n4w","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:36:16.366638-08:00","updated_at":"2025-12-08T08:36:19.065123-08:00","closed_at":"2025-12-08T08:36:19.065123-08:00"}
623
+ {"id":"opencode-swarm-plugin-9oic8","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:49.840604-08:00","updated_at":"2025-12-14T13:58:54.763982-08:00","closed_at":"2025-12-14T13:58:54.763982-08:00"}
624
+ {"id":"opencode-swarm-plugin-9ooyi","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:36.02807-08:00","updated_at":"2025-12-13T18:18:38.6905-08:00","closed_at":"2025-12-13T18:18:38.6905-08:00"}
625
+ {"id":"opencode-swarm-plugin-9ooyi.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.074792-08:00","updated_at":"2025-12-13T18:18:38.729702-08:00","closed_at":"2025-12-13T18:18:38.729702-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9ooyi.1","depends_on_id":"opencode-swarm-plugin-9ooyi","type":"parent-child","created_at":"2025-12-13T18:18:36.075595-08:00","created_by":"daemon"}]}
626
+ {"id":"opencode-swarm-plugin-9ooyi.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.122766-08:00","updated_at":"2025-12-13T18:18:38.768303-08:00","closed_at":"2025-12-13T18:18:38.768303-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9ooyi.2","depends_on_id":"opencode-swarm-plugin-9ooyi","type":"parent-child","created_at":"2025-12-13T18:18:36.123418-08:00","created_by":"daemon"}]}
557
627
  {"id":"opencode-swarm-plugin-9pbe5","title":"Analyze opencode-swarm-plugin for improvements","description":"Deep code review to identify bugs, missing tests, documentation gaps, and improvement opportunities across the plugin","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T08:43:31.027524-08:00","updated_at":"2025-12-10T09:01:57.762335-08:00","closed_at":"2025-12-10T09:01:57.762335-08:00"}
558
628
  {"id":"opencode-swarm-plugin-9pbe5.1","title":"Audit core modules: beads.ts and agent-mail.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T08:43:31.074084-08:00","updated_at":"2025-12-10T09:01:54.212232-08:00","closed_at":"2025-12-10T09:01:54.212232-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9pbe5.1","depends_on_id":"opencode-swarm-plugin-9pbe5","type":"parent-child","created_at":"2025-12-10T08:43:31.075596-08:00","created_by":"daemon"}]}
559
629
  {"id":"opencode-swarm-plugin-9pbe5.2","title":"Audit swarm orchestration: swarm.ts","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-10T08:43:31.11509-08:00","updated_at":"2025-12-10T09:01:54.837099-08:00","closed_at":"2025-12-10T09:01:54.837099-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9pbe5.2","depends_on_id":"opencode-swarm-plugin-9pbe5","type":"parent-child","created_at":"2025-12-10T08:43:31.116423-08:00","created_by":"daemon"}]}
@@ -561,12 +631,17 @@
561
631
  {"id":"opencode-swarm-plugin-9pbe5.4","title":"Audit schemas and structured output","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T08:43:31.192168-08:00","updated_at":"2025-12-10T09:01:56.18448-08:00","closed_at":"2025-12-10T09:01:56.18448-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9pbe5.4","depends_on_id":"opencode-swarm-plugin-9pbe5","type":"parent-child","created_at":"2025-12-10T08:43:31.19365-08:00","created_by":"daemon"}]}
562
632
  {"id":"opencode-swarm-plugin-9pbe5.5","title":"Audit utilities and integration","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T08:43:31.233803-08:00","updated_at":"2025-12-10T09:01:57.01093-08:00","closed_at":"2025-12-10T09:01:57.01093-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9pbe5.5","depends_on_id":"opencode-swarm-plugin-9pbe5","type":"parent-child","created_at":"2025-12-10T08:43:31.235023-08:00","created_by":"daemon"}]}
563
633
  {"id":"opencode-swarm-plugin-9q1ic","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:06.335832-08:00","updated_at":"2025-12-10T09:06:10.019634-08:00","closed_at":"2025-12-10T09:06:10.019634-08:00"}
634
+ {"id":"opencode-swarm-plugin-9r25d","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-14T13:58:49.952068-08:00","updated_at":"2025-12-14T13:58:54.8538-08:00","closed_at":"2025-12-14T13:58:54.8538-08:00"}
564
635
  {"id":"opencode-swarm-plugin-9ry0","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.042116-08:00","updated_at":"2025-12-07T19:56:45.480044-08:00","closed_at":"2025-12-07T19:56:45.480044-08:00"}
565
636
  {"id":"opencode-swarm-plugin-9swi","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:10:54.049301-08:00","updated_at":"2025-12-08T11:10:56.034072-08:00","closed_at":"2025-12-08T11:10:56.034072-08:00"}
566
637
  {"id":"opencode-swarm-plugin-9tvl","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.634714-08:00","updated_at":"2025-12-08T08:23:20.015026-08:00","closed_at":"2025-12-08T08:23:20.015026-08:00"}
567
638
  {"id":"opencode-swarm-plugin-9ucw","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.376401-08:00","updated_at":"2025-12-08T08:22:19.984318-08:00","closed_at":"2025-12-08T08:22:19.984318-08:00"}
568
639
  {"id":"opencode-swarm-plugin-9v33b","title":"beads.ts:260-278 - Epic rollback may fail silently","description":"beads.ts:260-278 - beads_create_epic catches rollback errors and logs them but continues. If multiple rollbacks fail, final error message may be misleading. Suggested fix: Collect rollback errors and include them in thrown error.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:13.501819-08:00","updated_at":"2025-12-10T12:00:15.295654-08:00","closed_at":"2025-12-10T12:00:15.295654-08:00"}
569
640
  {"id":"opencode-swarm-plugin-9v3z","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.122675-08:00","updated_at":"2025-12-07T19:39:31.226339-08:00","closed_at":"2025-12-07T19:39:31.226339-08:00"}
641
+ {"id":"opencode-swarm-plugin-9v9fd","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:20.14741-08:00","updated_at":"2025-12-14T09:30:23.608248-08:00","closed_at":"2025-12-14T09:30:23.608248-08:00"}
642
+ {"id":"opencode-swarm-plugin-9v9fd.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:20.206002-08:00","updated_at":"2025-12-14T09:30:23.652518-08:00","closed_at":"2025-12-14T09:30:23.652518-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9v9fd.1","depends_on_id":"opencode-swarm-plugin-9v9fd","type":"parent-child","created_at":"2025-12-14T09:30:20.20694-08:00","created_by":"daemon"}]}
643
+ {"id":"opencode-swarm-plugin-9v9fd.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-14T09:30:20.261881-08:00","updated_at":"2025-12-14T09:30:23.699294-08:00","closed_at":"2025-12-14T09:30:23.699294-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9v9fd.2","depends_on_id":"opencode-swarm-plugin-9v9fd","type":"parent-child","created_at":"2025-12-14T09:30:20.263435-08:00","created_by":"daemon"}]}
644
+ {"id":"opencode-swarm-plugin-9v9fd.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:30:20.318245-08:00","updated_at":"2025-12-14T09:30:23.743728-08:00","closed_at":"2025-12-14T09:30:23.743728-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-9v9fd.3","depends_on_id":"opencode-swarm-plugin-9v9fd","type":"parent-child","created_at":"2025-12-14T09:30:20.319411-08:00","created_by":"daemon"}]}
570
645
  {"id":"opencode-swarm-plugin-9wo","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.299301-08:00","updated_at":"2025-12-07T19:39:20.43669-08:00","closed_at":"2025-12-07T19:39:20.43669-08:00"}
571
646
  {"id":"opencode-swarm-plugin-9wofd","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.646896-08:00","updated_at":"2025-12-10T09:08:35.879026-08:00","closed_at":"2025-12-10T09:08:35.879026-08:00"}
572
647
  {"id":"opencode-swarm-plugin-9yct","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:57.344571-08:00","updated_at":"2025-12-08T08:56:57.424671-08:00","closed_at":"2025-12-08T08:56:57.424671-08:00"}
@@ -591,6 +666,7 @@
591
666
  {"id":"opencode-swarm-plugin-a6rl7.3","title":"Mandate promotion engine with decay","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:56:58.164309-08:00","updated_at":"2025-12-13T15:05:08.587143-08:00","closed_at":"2025-12-13T15:05:08.587143-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a6rl7.3","depends_on_id":"opencode-swarm-plugin-a6rl7","type":"parent-child","created_at":"2025-12-13T14:56:58.165879-08:00","created_by":"daemon"}]}
592
667
  {"id":"opencode-swarm-plugin-a6rl7.4","title":"Plugin tools for mandate operations","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:56:58.225915-08:00","updated_at":"2025-12-13T15:50:50.367358-08:00","closed_at":"2025-12-13T15:50:50.367358-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a6rl7.4","depends_on_id":"opencode-swarm-plugin-a6rl7","type":"parent-child","created_at":"2025-12-13T14:56:58.227213-08:00","created_by":"daemon"}]}
593
668
  {"id":"opencode-swarm-plugin-a6rl7.5","title":"Integration tests and plugin export","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:56:58.282544-08:00","updated_at":"2025-12-13T15:51:04.411257-08:00","closed_at":"2025-12-13T15:51:04.411257-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a6rl7.5","depends_on_id":"opencode-swarm-plugin-a6rl7","type":"parent-child","created_at":"2025-12-13T14:56:58.283786-08:00","created_by":"daemon"}]}
669
+ {"id":"opencode-swarm-plugin-a7565","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.664176-08:00","updated_at":"2025-12-14T13:58:55.250241-08:00","closed_at":"2025-12-14T13:58:55.250241-08:00"}
594
670
  {"id":"opencode-swarm-plugin-a76x","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:21:26.918472-08:00","updated_at":"2025-12-08T08:21:29.744733-08:00","closed_at":"2025-12-08T08:21:29.744733-08:00"}
595
671
  {"id":"opencode-swarm-plugin-a8y","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:10.635641-08:00","updated_at":"2025-12-07T19:39:12.218959-08:00","closed_at":"2025-12-07T19:39:12.218959-08:00"}
596
672
  {"id":"opencode-swarm-plugin-a8y.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.693537-08:00","updated_at":"2025-12-07T19:39:12.2636-08:00","closed_at":"2025-12-07T19:39:12.2636-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a8y.2","depends_on_id":"opencode-swarm-plugin-a8y","type":"parent-child","created_at":"2025-12-07T19:39:10.693862-08:00","created_by":"daemon"}]}
@@ -598,12 +674,14 @@
598
674
  {"id":"opencode-swarm-plugin-afgnc","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:16:36.525452-08:00","updated_at":"2025-12-13T11:16:40.273203-08:00","closed_at":"2025-12-13T11:16:40.273203-08:00"}
599
675
  {"id":"opencode-swarm-plugin-afwy","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:10:52.85817-08:00","updated_at":"2025-12-08T11:10:55.531076-08:00","closed_at":"2025-12-08T11:10:55.531076-08:00"}
600
676
  {"id":"opencode-swarm-plugin-agej","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.237427-08:00","updated_at":"2025-12-07T19:39:31.31497-08:00","closed_at":"2025-12-07T19:39:31.31497-08:00"}
677
+ {"id":"opencode-swarm-plugin-ah41w","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:30:19.327312-08:00","updated_at":"2025-12-14T09:30:23.409109-08:00","closed_at":"2025-12-14T09:30:23.409109-08:00"}
601
678
  {"id":"opencode-swarm-plugin-ahfg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.57012-08:00","updated_at":"2025-12-07T19:56:44.758113-08:00","closed_at":"2025-12-07T19:56:44.758113-08:00"}
602
679
  {"id":"opencode-swarm-plugin-ahfn","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.121548-08:00","updated_at":"2025-12-08T08:23:19.717967-08:00","closed_at":"2025-12-08T08:23:19.717967-08:00"}
603
680
  {"id":"opencode-swarm-plugin-ahq8","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.356612-08:00","updated_at":"2025-12-08T11:11:25.644108-08:00","closed_at":"2025-12-08T11:11:25.644108-08:00"}
604
681
  {"id":"opencode-swarm-plugin-ai2p","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.302997-08:00","updated_at":"2025-12-08T08:22:19.488446-08:00","closed_at":"2025-12-08T08:22:19.488446-08:00"}
605
682
  {"id":"opencode-swarm-plugin-ajqu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:10.735824-08:00","updated_at":"2025-12-07T19:41:13.322607-08:00","closed_at":"2025-12-07T19:41:13.322607-08:00"}
606
683
  {"id":"opencode-swarm-plugin-am6b","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:40.362506-08:00","updated_at":"2025-12-08T08:11:42.362957-08:00","closed_at":"2025-12-08T08:11:42.362957-08:00"}
684
+ {"id":"opencode-swarm-plugin-an1wt","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-14T13:58:50.006712-08:00","updated_at":"2025-12-14T13:58:54.893558-08:00","closed_at":"2025-12-14T13:58:54.893558-08:00"}
607
685
  {"id":"opencode-swarm-plugin-anlp2","title":"AI Agent Pattern Research: Plugin Improvement Analysis","description":"Research synthesis from PDF library (Patterns for Building AI Agents, Principles of Building AI Agents, Training Complex Cognitive Skills) applied to opencode-swarm-plugin improvements.\n\n## Key Patterns Identified\n\n### 1. Context Engineering (from Patterns for Building AI Agents)\n- **Current gap**: Our SUBTASK_PROMPT is verbose but lacks structured context sections\n- **Pattern**: \"Context engineering is both art and science\" - Karpathy\n- **Improvement**: Add explicit context sections: [IDENTITY] [TASK] [CONSTRAINTS] [TOOLS] [OUTPUT]\n\n### 2. Context Compression (p.37-39)\n- **Current gap**: No automatic context pruning between agent tasks\n- **Pattern**: \"Periodic context compression can prune irrelevant context\"\n- **Improvement**: Add `swarm_compress_context` tool that summarizes completed work\n\n### 3. Feed Errors Into Context (p.40)\n- **Current gap**: Errors are logged but not fed back into agent context\n- **Pattern**: \"Good agents examine and correct errors when something goes wrong\"\n- **Improvement**: Add error accumulator that feeds into retry prompts\n\n### 4. Parallelize Carefully (p.31)\n- **Current gap**: We spawn parallel agents but don't ensure context sharing\n- **Pattern**: \"Ensure subagents can share context along the way\"\n- **Improvement**: Add `swarm_broadcast` for mid-task context updates\n\n### 5. List Failure Modes (p.46)\n- **Current gap**: No classification of why agent failures occur\n- **Pattern**: \"Create classification process for agent failures\"\n- **Improvement**: Add failure taxonomy to swarm_record_outcome\n\n### 6. Tool Calling Best Practices (Principles p.36)\n- **Current gap**: Tool descriptions are functional but not semantic\n- **Pattern**: \"Use semantic naming that matches tool's purpose\"\n- **Improvement**: Audit all tool descriptions for semantic clarity\n\n### 7. Workflows as Tools (Principles p.109)\n- **Current gap**: Swarm is a command, not composable\n- **Pattern**: \"Multi-agent architecture = primitives + arrangement\"\n- **Improvement**: Make swarm_decompose callable from other workflows\n\n### 8. Implicit Feedback Scoring (already implemented)\n- **Current strength**: swarm_record_outcome tracks duration/errors/retries\n- **Enhancement**: Add strategy-specific scoring (file-based vs feature-based)\n\n## Recommended Improvements (Priority Order)\n\n1. **HIGH**: Context compression between subtasks\n2. **HIGH**: Error accumulator for retry prompts \n3. **MEDIUM**: Failure mode taxonomy\n4. **MEDIUM**: Mid-task context broadcast\n5. **LOW**: Semantic tool description audit\n6. **LOW**: Composable workflow primitives","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-10T10:02:37.4266-08:00","updated_at":"2025-12-10T11:06:06.392-08:00","closed_at":"2025-12-10T11:06:06.392-08:00"}
608
686
  {"id":"opencode-swarm-plugin-anuj","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:57:05.6861-08:00","updated_at":"2025-12-07T19:57:08.122037-08:00","closed_at":"2025-12-07T19:57:08.122037-08:00"}
609
687
  {"id":"opencode-swarm-plugin-aoed","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:30.83873-08:00","updated_at":"2025-12-07T19:39:31.011277-08:00","closed_at":"2025-12-07T19:39:31.011277-08:00"}
@@ -612,6 +690,11 @@
612
690
  {"id":"opencode-swarm-plugin-aojf","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:41:11.831971-08:00","updated_at":"2025-12-07T19:41:13.750471-08:00","closed_at":"2025-12-07T19:41:13.750471-08:00"}
613
691
  {"id":"opencode-swarm-plugin-aojf.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.870485-08:00","updated_at":"2025-12-07T19:41:13.776876-08:00","closed_at":"2025-12-07T19:41:13.776876-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aojf.1","depends_on_id":"opencode-swarm-plugin-aojf","type":"parent-child","created_at":"2025-12-07T19:41:11.870839-08:00","created_by":"daemon"}]}
614
692
  {"id":"opencode-swarm-plugin-aojf.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-07T19:41:11.908563-08:00","updated_at":"2025-12-07T19:41:13.801066-08:00","closed_at":"2025-12-07T19:41:13.801066-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aojf.2","depends_on_id":"opencode-swarm-plugin-aojf","type":"parent-child","created_at":"2025-12-07T19:41:11.90889-08:00","created_by":"daemon"}]}
693
+ {"id":"opencode-swarm-plugin-aoppg","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:31.831751-08:00","updated_at":"2025-12-13T18:16:34.840471-08:00","closed_at":"2025-12-13T18:16:34.840471-08:00"}
694
+ {"id":"opencode-swarm-plugin-aoppg.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.887355-08:00","updated_at":"2025-12-13T18:16:34.88127-08:00","closed_at":"2025-12-13T18:16:34.88127-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aoppg.1","depends_on_id":"opencode-swarm-plugin-aoppg","type":"parent-child","created_at":"2025-12-13T18:16:31.888124-08:00","created_by":"daemon"}]}
695
+ {"id":"opencode-swarm-plugin-aoppg.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.943333-08:00","updated_at":"2025-12-13T18:16:34.922844-08:00","closed_at":"2025-12-13T18:16:34.922844-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aoppg.2","depends_on_id":"opencode-swarm-plugin-aoppg","type":"parent-child","created_at":"2025-12-13T18:16:31.94448-08:00","created_by":"daemon"}]}
696
+ {"id":"opencode-swarm-plugin-aoppg.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.998044-08:00","updated_at":"2025-12-13T18:16:34.962717-08:00","closed_at":"2025-12-13T18:16:34.962717-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aoppg.3","depends_on_id":"opencode-swarm-plugin-aoppg","type":"parent-child","created_at":"2025-12-13T18:16:31.999483-08:00","created_by":"daemon"}]}
697
+ {"id":"opencode-swarm-plugin-aoppg.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.050798-08:00","updated_at":"2025-12-13T18:16:35.004806-08:00","closed_at":"2025-12-13T18:16:35.004806-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-aoppg.4","depends_on_id":"opencode-swarm-plugin-aoppg","type":"parent-child","created_at":"2025-12-13T18:16:32.051455-08:00","created_by":"daemon"}]}
615
698
  {"id":"opencode-swarm-plugin-aoxj","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.320935-08:00","updated_at":"2025-12-08T11:10:28.154338-08:00","closed_at":"2025-12-08T11:10:28.154338-08:00"}
616
699
  {"id":"opencode-swarm-plugin-apsqh","title":"Durable Streams Primitives with Effect-TS","description":"Implement Kyle Matthews' composable actor-model primitives for Swarm Mail: DurableCursor (positioned consumer), DurableDeferred (distributed promise), DurableLock (mutual exclusion), DurableMailbox (actor inbox), and Ask pattern (request/response). Uses Effect-TS service layers for dependency injection and composability.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T10:01:18.517087-08:00","updated_at":"2025-12-13T10:21:05.411996-08:00","closed_at":"2025-12-13T10:21:05.411996-08:00"}
617
700
  {"id":"opencode-swarm-plugin-apsqh.1","title":"Effect-TS foundation + DurableCursor service","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T10:01:18.574091-08:00","updated_at":"2025-12-13T10:12:29.546777-08:00","closed_at":"2025-12-13T10:12:29.546777-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-apsqh.1","depends_on_id":"opencode-swarm-plugin-apsqh","type":"parent-child","created_at":"2025-12-13T10:01:18.57601-08:00","created_by":"daemon"}]}
@@ -623,6 +706,10 @@
623
706
  {"id":"opencode-swarm-plugin-avh","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:34:53.500492-08:00","updated_at":"2025-12-07T19:34:55.104672-08:00","closed_at":"2025-12-07T19:34:55.104672-08:00"}
624
707
  {"id":"opencode-swarm-plugin-aw1tc","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:08.228561-08:00","updated_at":"2025-12-10T09:06:10.878323-08:00","closed_at":"2025-12-10T09:06:10.878323-08:00"}
625
708
  {"id":"opencode-swarm-plugin-ay6d","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.622853-08:00","updated_at":"2025-12-08T08:14:31.015202-08:00","closed_at":"2025-12-08T08:14:31.015202-08:00"}
709
+ {"id":"opencode-swarm-plugin-b0tzg","title":"Fix README + Swarm Mail docs + swarm_complete error handling","description":"1) Update README to reference Agent Mail in inspiration section but clarify our implementation is Swarm Mail with diagrams, 2) Fix swarm_complete silent failures - push errors to swarm mail for coordinator visibility, 3) Document Swarm Mail architecture based on closed PRs","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T14:41:44.17609-08:00","updated_at":"2025-12-14T14:47:46.049959-08:00","closed_at":"2025-12-14T14:47:46.049959-08:00"}
710
+ {"id":"opencode-swarm-plugin-b0tzg.1","title":"Update README - Agent Mail inspiration vs Swarm Mail implementation","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T14:41:44.244997-08:00","updated_at":"2025-12-14T14:47:42.88356-08:00","closed_at":"2025-12-14T14:47:42.88356-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-b0tzg.1","depends_on_id":"opencode-swarm-plugin-b0tzg","type":"parent-child","created_at":"2025-12-14T14:41:44.246047-08:00","created_by":"daemon"}]}
711
+ {"id":"opencode-swarm-plugin-b0tzg.2","title":"Add error handling to swarm_complete - push failures to swarm mail","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T14:41:44.302057-08:00","updated_at":"2025-12-14T14:47:43.984532-08:00","closed_at":"2025-12-14T14:47:43.984532-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-b0tzg.2","depends_on_id":"opencode-swarm-plugin-b0tzg","type":"parent-child","created_at":"2025-12-14T14:41:44.304468-08:00","created_by":"daemon"}]}
712
+ {"id":"opencode-swarm-plugin-b0tzg.3","title":"Document Swarm Mail architecture with diagrams from closed PRs","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T14:41:44.364356-08:00","updated_at":"2025-12-14T14:47:45.050125-08:00","closed_at":"2025-12-14T14:47:45.050125-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-b0tzg.3","depends_on_id":"opencode-swarm-plugin-b0tzg","type":"parent-child","created_at":"2025-12-14T14:41:44.365969-08:00","created_by":"daemon"}]}
626
713
  {"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"}
627
714
  {"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"}
628
715
  {"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"}
@@ -631,6 +718,7 @@
631
718
  {"id":"opencode-swarm-plugin-b3pr","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.77563-08:00","updated_at":"2025-12-08T08:23:20.062473-08:00","closed_at":"2025-12-08T08:23:20.062473-08:00"}
632
719
  {"id":"opencode-swarm-plugin-b40","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.696949-08:00","updated_at":"2025-12-07T19:34:54.75136-08:00","closed_at":"2025-12-07T19:34:54.75136-08:00"}
633
720
  {"id":"opencode-swarm-plugin-b4y3u","title":"Feature: Deep semantic-memory integration throughout plugin","description":"## Vision\nMake semantic-memory a first-class citizen in the plugin, not just an available tool.\n\n## Integration Points\n\n### 1. Swarm Learning\n- After swarm_complete: auto-store learnings about what worked/failed\n- After 3-strike: store architectural insights\n- Pattern maturity transitions: store why patterns got promoted/deprecated\n\n### 2. Decomposition\n- Before decomposing: query semantic-memory for similar past tasks\n- Store successful decomposition strategies with task characteristics\n- Learn which strategies work for which task types\n\n### 3. Skills\n- When skill is used successfully: reinforce in memory\n- When skill fails to help: store negative signal\n- Auto-suggest skills based on memory of past similar situations\n\n### 4. Error Handling\n- Store error patterns and their solutions\n- Query memory when hitting errors (before CASS)\n- Build project-specific error knowledge base\n\n### 5. Beads\n- Store context when closing beads (what was learned)\n- Query memory when starting similar beads\n- Track which approaches worked for which problem types\n\n## Implementation Ideas\n\n### Auto-store on key events\n```typescript\n// In swarm_complete\nif (success) {\n semantic_memory_store({\n information: `Task \"${title}\" succeeded with strategy \"${strategy}\". Key insight: ${summary}`,\n metadata: `swarm, ${strategy}, success`\n })\n}\n\n// In 3-strike detection\nsemantic_memory_store({\n information: `Architecture problem in ${bead_id}: ${prompt}. Required human decision.`,\n metadata: `architecture, 3-strike, ${bead_id}`\n})\n```\n\n### Auto-query before actions\n```typescript\n// In swarm_decompose\nconst memories = await semantic_memory_find({\n query: task,\n limit: 3\n})\n// Include relevant memories in decomposition context\n```\n\n### Validation on retrieval\n```typescript\n// When memory helps solve a problem\nsemantic_memory_validate({ id: memory.id }) // Reset decay timer\n```\n\n## Success Criteria\n- Every swarm completion stores a learning\n- Decomposition queries memory before CASS\n- Error patterns accumulate and help future debugging\n- Memory decay keeps knowledge fresh and relevant","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:18:23.293815-08:00","updated_at":"2025-12-13T16:05:13.309264-08:00","closed_at":"2025-12-13T16:05:13.309264-08:00"}
721
+ {"id":"opencode-swarm-plugin-b5al8","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.610242-08:00","updated_at":"2025-12-14T13:58:55.197084-08:00","closed_at":"2025-12-14T13:58:55.197084-08:00"}
634
722
  {"id":"opencode-swarm-plugin-b5m","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.175896-08:00","updated_at":"2025-12-07T19:39:12.06669-08:00","closed_at":"2025-12-07T19:39:12.06669-08:00"}
635
723
  {"id":"opencode-swarm-plugin-b6ff","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:24.911696-08:00","updated_at":"2025-12-08T11:10:27.394162-08:00","closed_at":"2025-12-08T11:10:27.394162-08:00"}
636
724
  {"id":"opencode-swarm-plugin-b74w","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:24.853218-08:00","updated_at":"2025-12-08T11:10:27.368339-08:00","closed_at":"2025-12-08T11:10:27.368339-08:00"}
@@ -649,10 +737,14 @@
649
737
  {"id":"opencode-swarm-plugin-bjrtc","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.91158-08:00","updated_at":"2025-12-09T10:00:25.015472-08:00","closed_at":"2025-12-09T10:00:25.015472-08:00"}
650
738
  {"id":"opencode-swarm-plugin-bkxk","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.773358-08:00","updated_at":"2025-12-08T11:10:26.851958-08:00","closed_at":"2025-12-08T11:10:26.851958-08:00"}
651
739
  {"id":"opencode-swarm-plugin-blhh","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.544524-08:00","updated_at":"2025-12-07T19:41:14.154813-08:00","closed_at":"2025-12-07T19:41:14.154813-08:00"}
740
+ {"id":"opencode-swarm-plugin-bmhgn","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.789925-08:00","updated_at":"2025-12-14T13:58:56.510677-08:00","closed_at":"2025-12-14T13:58:56.510677-08:00"}
652
741
  {"id":"opencode-swarm-plugin-bmyr9","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:40.860785-08:00","updated_at":"2025-12-13T14:48:44.928384-08:00","closed_at":"2025-12-13T14:48:44.928384-08:00"}
653
742
  {"id":"opencode-swarm-plugin-bnpn6","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:06:06.721342-08:00","updated_at":"2025-12-10T09:06:10.157952-08:00","closed_at":"2025-12-10T09:06:10.157952-08:00"}
654
743
  {"id":"opencode-swarm-plugin-bnx47","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.816648-08:00","updated_at":"2025-12-08T11:12:58.248106-08:00","closed_at":"2025-12-08T11:12:58.248106-08:00"}
655
744
  {"id":"opencode-swarm-plugin-bo3t","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.590376-08:00","updated_at":"2025-12-07T19:57:08.981729-08:00","closed_at":"2025-12-07T19:57:08.981729-08:00"}
745
+ {"id":"opencode-swarm-plugin-bpf59","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:31.721668-08:00","updated_at":"2025-12-13T18:16:34.756046-08:00","closed_at":"2025-12-13T18:16:34.756046-08:00"}
746
+ {"id":"opencode-swarm-plugin-bpf59.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:16:31.775821-08:00","updated_at":"2025-12-13T18:16:34.798062-08:00","closed_at":"2025-12-13T18:16:34.798062-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-bpf59.1","depends_on_id":"opencode-swarm-plugin-bpf59","type":"parent-child","created_at":"2025-12-13T18:16:31.776563-08:00","created_by":"daemon"}]}
747
+ {"id":"opencode-swarm-plugin-bpit4","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-13T18:16:29.334521-08:00","updated_at":"2025-12-13T18:16:33.601476-08:00","closed_at":"2025-12-13T18:16:33.601476-08:00"}
656
748
  {"id":"opencode-swarm-plugin-bqua","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.074715-08:00","updated_at":"2025-12-07T19:41:13.525519-08:00","closed_at":"2025-12-07T19:41:13.525519-08:00"}
657
749
  {"id":"opencode-swarm-plugin-bqwt","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:11:40.055179-08:00","updated_at":"2025-12-08T08:11:42.156511-08:00","closed_at":"2025-12-08T08:11:42.156511-08:00"}
658
750
  {"id":"opencode-swarm-plugin-bqzq","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.108024-08:00","updated_at":"2025-12-08T11:11:10.749445-08:00","closed_at":"2025-12-08T11:11:10.749445-08:00"}
@@ -662,6 +754,7 @@
662
754
  {"id":"opencode-swarm-plugin-bscr","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.524891-08:00","updated_at":"2025-12-08T11:11:40.962137-08:00","closed_at":"2025-12-08T11:11:40.962137-08:00"}
663
755
  {"id":"opencode-swarm-plugin-bsdi","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T07:53:44.245806-08:00","updated_at":"2025-12-08T07:53:46.503005-08:00","closed_at":"2025-12-08T07:53:46.503005-08:00"}
664
756
  {"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"}
757
+ {"id":"opencode-swarm-plugin-buytx","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.225774-08:00","updated_at":"2025-12-13T18:18:37.955175-08:00","closed_at":"2025-12-13T18:18:37.955175-08:00"}
665
758
  {"id":"opencode-swarm-plugin-bv3m","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.148679-08:00","updated_at":"2025-12-08T08:05:35.457241-08:00","closed_at":"2025-12-08T08:05:35.457241-08:00"}
666
759
  {"id":"opencode-swarm-plugin-bvot5","title":"Document regex limitations in attemptJsonRepair","description":"src/structured.ts:249-272 - attemptJsonRepair has comment \"This is a simple heuristic - won't work for all cases\" but doesn't list known limitations. Add JSDoc: \"Limitations: single quotes in nested objects, escaped quotes in keys, multiline string detection\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:47.470646-08:00","updated_at":"2025-12-13T16:45:44.852448-08:00","closed_at":"2025-12-13T16:45:44.852448-08:00"}
667
760
  {"id":"opencode-swarm-plugin-bvrh","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.796296-08:00","updated_at":"2025-12-08T09:09:33.605943-08:00","closed_at":"2025-12-08T09:09:33.605943-08:00"}
@@ -718,8 +811,10 @@
718
811
  {"id":"opencode-swarm-plugin-cmo6","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:53:44.299916-08:00","updated_at":"2025-12-08T07:53:46.527966-08:00","closed_at":"2025-12-08T07:53:46.527966-08:00"}
719
812
  {"id":"opencode-swarm-plugin-cmx0j","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:08.377019-08:00","updated_at":"2025-12-10T09:06:10.913752-08:00","closed_at":"2025-12-10T09:06:10.913752-08:00"}
720
813
  {"id":"opencode-swarm-plugin-cor","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.00247-08:00","updated_at":"2025-12-07T19:34:53.027513-08:00","closed_at":"2025-12-07T19:34:53.027513-08:00"}
814
+ {"id":"opencode-swarm-plugin-coufp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.06641-08:00","updated_at":"2025-12-14T13:58:54.936028-08:00","closed_at":"2025-12-14T13:58:54.936028-08:00"}
721
815
  {"id":"opencode-swarm-plugin-cppl","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.130656-08:00","updated_at":"2025-12-08T09:09:33.351067-08:00","closed_at":"2025-12-08T09:09:33.351067-08:00"}
722
816
  {"id":"opencode-swarm-plugin-crcm","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.504179-08:00","updated_at":"2025-12-08T08:23:19.920645-08:00","closed_at":"2025-12-08T08:23:19.920645-08:00"}
817
+ {"id":"opencode-swarm-plugin-cs3wl","title":"Cut release v0.21.0","description":"## Changes for v0.21.0\n\n**Fixed:**\n- Migration tests updated for 4 migrations (was hardcoded to 2)\n- All 230 tests passing\n\n**Features (from bead opencode-swarm-plugin-66ni8):**\n- Swarm recovery context (swarm_checkpoint, swarm_recover, auto-checkpoint at 25/50/75%)\n- Eval data capture (DecompositionGeneratedEvent, SubtaskOutcomeEvent, eval_records table)\n- Outcome-based scorers (fileOverlap, scopeAccuracy, timeBalance, successRate, humanAcceptance)\n- PGLite data loader for Evalite\n- JSONB parsing fix in store.ts/projections.ts\n\n**Steps:**\n1. Commit test fixes\n2. Update package.json version to 0.21.0\n3. Build\n4. Git tag\n5. Push\n6. Publish to npm","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T14:21:48.794294-08:00","updated_at":"2025-12-14T14:22:50.902471-08:00","closed_at":"2025-12-14T14:22:50.902471-08:00"}
723
818
  {"id":"opencode-swarm-plugin-csdh","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:25:10.806508-08:00","updated_at":"2025-12-08T08:25:12.779477-08:00","closed_at":"2025-12-08T08:25:12.779477-08:00"}
724
819
  {"id":"opencode-swarm-plugin-csdh.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.846377-08:00","updated_at":"2025-12-08T08:25:12.806068-08:00","closed_at":"2025-12-08T08:25:12.806068-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-csdh.1","depends_on_id":"opencode-swarm-plugin-csdh","type":"parent-child","created_at":"2025-12-08T08:25:10.846682-08:00","created_by":"daemon"}]}
725
820
  {"id":"opencode-swarm-plugin-csdh.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.881406-08:00","updated_at":"2025-12-08T08:25:12.834953-08:00","closed_at":"2025-12-08T08:25:12.834953-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-csdh.2","depends_on_id":"opencode-swarm-plugin-csdh","type":"parent-child","created_at":"2025-12-08T08:25:10.881733-08:00","created_by":"daemon"}]}
@@ -773,6 +868,7 @@
773
868
  {"id":"opencode-swarm-plugin-d9zt.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.985785-08:00","updated_at":"2025-12-08T08:05:35.829409-08:00","closed_at":"2025-12-08T08:05:35.829409-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-d9zt.2","depends_on_id":"opencode-swarm-plugin-d9zt","type":"parent-child","created_at":"2025-12-08T08:05:33.986123-08:00","created_by":"daemon"}]}
774
869
  {"id":"opencode-swarm-plugin-daf5","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.942484-08:00","updated_at":"2025-12-08T08:05:35.323265-08:00","closed_at":"2025-12-08T08:05:35.323265-08:00"}
775
870
  {"id":"opencode-swarm-plugin-dah8v","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:08:33.080399-08:00","updated_at":"2025-12-10T09:08:36.001649-08:00","closed_at":"2025-12-10T09:08:36.001649-08:00"}
871
+ {"id":"opencode-swarm-plugin-db5a7","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T13:58:51.232699-08:00","updated_at":"2025-12-14T13:58:55.464496-08:00","closed_at":"2025-12-14T13:58:55.464496-08:00"}
776
872
  {"id":"opencode-swarm-plugin-dbu9","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.158877-08:00","updated_at":"2025-12-08T11:11:25.563267-08:00","closed_at":"2025-12-08T11:11:25.563267-08:00"}
777
873
  {"id":"opencode-swarm-plugin-dbyp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.420047-08:00","updated_at":"2025-12-08T11:11:10.142417-08:00","closed_at":"2025-12-08T11:11:10.142417-08:00"}
778
874
  {"id":"opencode-swarm-plugin-dbzw","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.36563-08:00","updated_at":"2025-12-08T08:14:31.330993-08:00","closed_at":"2025-12-08T08:14:31.330993-08:00"}
@@ -787,6 +883,7 @@
787
883
  {"id":"opencode-swarm-plugin-dhwmm","title":"swarm.ts:850-870 - querySwarmMessages silently returns 0 on error","description":"swarm.ts:850-870 - querySwarmMessages catches all errors and returns 0. Callers can't distinguish between \"no messages\" and \"query failed\". Affects swarm_status accuracy. Suggested fix: Log error before returning 0.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:28.375271-08:00","updated_at":"2025-12-10T11:56:18.544136-08:00","closed_at":"2025-12-10T11:56:18.544136-08:00"}
788
884
  {"id":"opencode-swarm-plugin-dia","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:39:17.972947-08:00","updated_at":"2025-12-07T19:39:20.25944-08:00","closed_at":"2025-12-07T19:39:20.25944-08:00"}
789
885
  {"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"}
886
+ {"id":"opencode-swarm-plugin-dmji7","title":"Improve semantic memory usage patterns - agents should proactively store learnings","description":"## Problem\n\nSemantic memory exists but isn't being exercised in practice:\n- 35 memories total, but ~30 are test artifacts from integration tests\n- Only ~5 real learnings stored in `default` collection\n- Agents aren't proactively storing discoveries during work\n\n## Evidence\n\n```\nCollections breakdown:\n- test-patterns: ~15 (integration test pollution)\n- test-feedback: ~15 (integration test pollution) \n- default: ~5 (actual learnings)\n```\n\nReal learnings found:\n1. CRITICAL SCHEMA FIX - egghead-rails series table deprecation\n2. Docker test infrastructure - egghead migration approach\n3. POC Migration Learnings - Coursebuilder patterns\n4. Durable Streams Protocol - Electric SQL\n\n## Proposed Solutions\n\n1. **Test isolation**: Integration tests should use separate memory location or cleanup after\n2. **Agent prompting**: Update AGENTS.md to emphasize when to store memories\n3. **Automatic capture**: Hook into swarm_complete to auto-store learnings from successful tasks\n4. **Memory triggers**: Define clear triggers for when agents SHOULD store:\n - After solving a tricky bug (store the solution)\n - After architectural decisions (store the reasoning)\n - After discovering project-specific patterns\n - After debugging sessions that reveal root causes\n\n## Success Criteria\n\n- Integration tests don't pollute production memory\n- Agents store 1-3 meaningful learnings per significant session\n- Memory search returns useful context for similar future tasks","status":"open","priority":2,"issue_type":"feature","created_at":"2025-12-14T13:51:44.162675-08:00","updated_at":"2025-12-14T13:51:44.162675-08:00"}
790
887
  {"id":"opencode-swarm-plugin-dmt","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.777024-08:00","updated_at":"2025-12-07T19:39:18.800362-08:00","closed_at":"2025-12-07T19:39:18.800362-08:00"}
791
888
  {"id":"opencode-swarm-plugin-doe","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:07.043805-08:00","updated_at":"2025-12-07T19:36:08.828395-08:00","closed_at":"2025-12-07T19:36:08.828395-08:00"}
792
889
  {"id":"opencode-swarm-plugin-dqeye","title":"Add JSDoc to schema export file","description":"src/schemas/index.ts:1-78 - File lacks JSDoc describing export groups and their purposes. Add module-level JSDoc explaining that this is the central export point for all schema definitions used in the plugin.","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:04.359624-08:00","updated_at":"2025-12-13T16:48:09.917903-08:00","closed_at":"2025-12-13T16:48:09.917903-08:00"}
@@ -832,6 +929,7 @@
832
929
  {"id":"opencode-swarm-plugin-ee7ef","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:31.587689-08:00","updated_at":"2025-12-10T09:08:35.232833-08:00","closed_at":"2025-12-10T09:08:35.232833-08:00"}
833
930
  {"id":"opencode-swarm-plugin-eeuvt","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:21.831731-08:00","updated_at":"2025-12-10T09:07:25.462558-08:00","closed_at":"2025-12-10T09:07:25.462558-08:00"}
834
931
  {"id":"opencode-swarm-plugin-efo","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.539045-08:00","updated_at":"2025-12-07T19:39:11.742369-08:00","closed_at":"2025-12-07T19:39:11.742369-08:00"}
932
+ {"id":"opencode-swarm-plugin-eg87t","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:21.812596-08:00","updated_at":"2025-12-14T09:30:21.953461-08:00","closed_at":"2025-12-14T09:30:21.953461-08:00"}
835
933
  {"id":"opencode-swarm-plugin-eimq9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:22.038885-08:00","updated_at":"2025-12-10T09:07:25.541926-08:00","closed_at":"2025-12-10T09:07:25.541926-08:00"}
836
934
  {"id":"opencode-swarm-plugin-ej0d","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:56:56.735593-08:00","updated_at":"2025-12-08T08:56:58.604559-08:00","closed_at":"2025-12-08T08:56:58.604559-08:00"}
837
935
  {"id":"opencode-swarm-plugin-ej0d.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.767747-08:00","updated_at":"2025-12-08T08:56:58.627416-08:00","closed_at":"2025-12-08T08:56:58.627416-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ej0d.1","depends_on_id":"opencode-swarm-plugin-ej0d","type":"parent-child","created_at":"2025-12-08T08:56:56.768209-08:00","created_by":"daemon"}]}
@@ -843,6 +941,7 @@
843
941
  {"id":"opencode-swarm-plugin-el61","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:36:17.604682-08:00","updated_at":"2025-12-08T08:36:19.5064-08:00","closed_at":"2025-12-08T08:36:19.5064-08:00"}
844
942
  {"id":"opencode-swarm-plugin-el61.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:17.643025-08:00","updated_at":"2025-12-08T08:36:19.533043-08:00","closed_at":"2025-12-08T08:36:19.533043-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-el61.1","depends_on_id":"opencode-swarm-plugin-el61","type":"parent-child","created_at":"2025-12-08T08:36:17.643305-08:00","created_by":"daemon"}]}
845
943
  {"id":"opencode-swarm-plugin-el61.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T08:36:17.681274-08:00","updated_at":"2025-12-08T08:36:19.561578-08:00","closed_at":"2025-12-08T08:36:19.561578-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-el61.2","depends_on_id":"opencode-swarm-plugin-el61","type":"parent-child","created_at":"2025-12-08T08:36:17.681631-08:00","created_by":"daemon"}]}
944
+ {"id":"opencode-swarm-plugin-elaod","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:33.952847-08:00","updated_at":"2025-12-13T18:18:37.773745-08:00","closed_at":"2025-12-13T18:18:37.773745-08:00"}
846
945
  {"id":"opencode-swarm-plugin-emm","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:11.319898-08:00","updated_at":"2025-12-07T19:39:11.3839-08:00","closed_at":"2025-12-07T19:39:11.3839-08:00"}
847
946
  {"id":"opencode-swarm-plugin-emw","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.137876-08:00","updated_at":"2025-12-07T19:37:36.20508-08:00","closed_at":"2025-12-07T19:37:36.20508-08:00"}
848
947
  {"id":"opencode-swarm-plugin-enbl","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.783674-08:00","updated_at":"2025-12-08T08:21:30.206569-08:00","closed_at":"2025-12-08T08:21:30.206569-08:00"}
@@ -903,6 +1002,7 @@
903
1002
  {"id":"opencode-swarm-plugin-fomf","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.714274-08:00","updated_at":"2025-12-08T11:12:28.097683-08:00","closed_at":"2025-12-08T11:12:28.097683-08:00"}
904
1003
  {"id":"opencode-swarm-plugin-fqo6m","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:36.039029-08:00","updated_at":"2025-12-13T11:16:40.062465-08:00","closed_at":"2025-12-13T11:16:40.062465-08:00"}
905
1004
  {"id":"opencode-swarm-plugin-frk9","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:25:09.263281-08:00","updated_at":"2025-12-08T08:25:12.049893-08:00","closed_at":"2025-12-08T08:25:12.049893-08:00"}
1005
+ {"id":"opencode-swarm-plugin-frmzt","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.334605-08:00","updated_at":"2025-12-14T13:58:56.4249-08:00","closed_at":"2025-12-14T13:58:56.4249-08:00"}
906
1006
  {"id":"opencode-swarm-plugin-fst9c","title":"Event-Sourced Agent Mail with PGLite","description":"Replace MCP-based agent mail with embedded PGLite database using Durable Streams protocol (Electric SQL). Same tool API, offset-based resumability, crash recovery, full audit trail, no external dependencies.\n\nReference: github.com/durable-streams/durable-streams\n\nKey changes from original plan:\n- Using Durable Streams protocol instead of custom event sourcing\n- Offset format: `\u003cread-seq\u003e_\u003cbyte-offset\u003e` (lexicographically sortable)\n- Recovery: scan files to reconcile with metadata on startup\n- Long-poll support for live tailing","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T08:47:30.814673-08:00","updated_at":"2025-12-13T15:51:21.968873-08:00","closed_at":"2025-12-13T15:51:21.968873-08:00"}
907
1007
  {"id":"opencode-swarm-plugin-fst9c.1","title":"PGLite Foundation + Event Schema","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T08:47:30.870657-08:00","updated_at":"2025-12-13T08:49:03.269255-08:00","closed_at":"2025-12-13T08:49:03.269255-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fst9c.1","depends_on_id":"opencode-swarm-plugin-fst9c","type":"parent-child","created_at":"2025-12-13T08:47:30.871568-08:00","created_by":"daemon"}]}
908
1008
  {"id":"opencode-swarm-plugin-fst9c.2","title":"Event Store Implementation","description":"TDD: Implement Durable Streams-compliant event store with PGLite\n\nTest-first approach:\n1. Write unit tests for events.ts (schemas, createEvent, isEventType)\n2. Write unit tests for store.ts (append, read, replay)\n3. Write integration tests for full flow\n4. Implement to make tests pass\n\nKey features:\n- Offset format: `\u003cread-seq\u003e_\u003cbyte-offset\u003e` (16-char zero-padded)\n- append() with sequence coordination\n- read() with offset-based resumability \n- Crash recovery: scan to reconcile metadata\n- Long-poll support for live tailing\n\nReference: github.com/durable-streams/durable-streams PROTOCOL.md","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T08:47:30.926284-08:00","updated_at":"2025-12-13T09:01:37.573559-08:00","closed_at":"2025-12-13T09:01:37.573559-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fst9c.2","depends_on_id":"opencode-swarm-plugin-fst9c","type":"parent-child","created_at":"2025-12-13T08:47:30.927781-08:00","created_by":"daemon"}]}
@@ -938,9 +1038,12 @@
938
1038
  {"id":"opencode-swarm-plugin-g63rn.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T11:12:56.645189-08:00","updated_at":"2025-12-08T11:12:58.524935-08:00","closed_at":"2025-12-08T11:12:58.524935-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g63rn.2","depends_on_id":"opencode-swarm-plugin-g63rn","type":"parent-child","created_at":"2025-12-08T11:12:56.645515-08:00","created_by":"daemon"}]}
939
1039
  {"id":"opencode-swarm-plugin-g63rn.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:56.679737-08:00","updated_at":"2025-12-08T11:12:58.550074-08:00","closed_at":"2025-12-08T11:12:58.550074-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-g63rn.3","depends_on_id":"opencode-swarm-plugin-g63rn","type":"parent-child","created_at":"2025-12-08T11:12:56.680062-08:00","created_by":"daemon"}]}
940
1040
  {"id":"opencode-swarm-plugin-g6ai","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.465409-08:00","updated_at":"2025-12-08T07:49:11.988385-08:00","closed_at":"2025-12-08T07:49:11.988385-08:00"}
1041
+ {"id":"opencode-swarm-plugin-g8kdh","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.55153-08:00","updated_at":"2025-12-14T09:30:23.015879-08:00","closed_at":"2025-12-14T09:30:23.015879-08:00"}
1042
+ {"id":"opencode-swarm-plugin-g98da","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.897584-08:00","updated_at":"2025-12-13T18:16:33.890782-08:00","closed_at":"2025-12-13T18:16:33.890782-08:00"}
941
1043
  {"id":"opencode-swarm-plugin-ga3","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.459646-08:00","updated_at":"2025-12-07T19:39:20.527941-08:00","closed_at":"2025-12-07T19:39:20.527941-08:00"}
942
1044
  {"id":"opencode-swarm-plugin-gatr","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:08.773318-08:00","updated_at":"2025-12-08T11:11:10.670318-08:00","closed_at":"2025-12-08T11:11:10.670318-08:00"}
943
1045
  {"id":"opencode-swarm-plugin-gatr.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.844156-08:00","updated_at":"2025-12-08T11:11:10.722914-08:00","closed_at":"2025-12-08T11:11:10.722914-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-gatr.2","depends_on_id":"opencode-swarm-plugin-gatr","type":"parent-child","created_at":"2025-12-08T11:11:08.844503-08:00","created_by":"daemon"}]}
1046
+ {"id":"opencode-swarm-plugin-gde33","title":"Swarm Mail Generalization Analysis - Actor coordination patterns for agentic systems","description":"## Swarm Mail Generalization Analysis\n\nWrite a detailed analysis of swarm-mail as a generalized actor coordination system.\n\n### Context Sources\n- Kyle Mathews (Electric SQL) Twitter thread on actor primitives over durable streams\n- PR #6: Durable Streams primitives with Effect-TS\n- DDIA (Kleppmann) on actor models and message passing\n- Screenshots of Kyle's primitive taxonomy\n\n### Kyle's Key Insights (from screenshots)\n\n**What actors actually need as primitives:**\n1. Mailbox - ordered queue of incoming messages\n2. Address - how others send to you\n3. Reply channel - how to respond (DurableDeferred!)\n4. Cursor - where you are in processing\n5. Checkpoint - durably remember position after processing\n\n**The missing primitive:** DurableCursor - positioned consumer with checkpointing\n\n**Primitive Taxonomy:**\n| Primitive | What | Why |\n|-----------|------|-----|\n| DurableCursor | Positioned consumer with checkpointing | Exactly-once |\n| DurableDeferred | Distributed promise (we spec'd this) | Request/response |\n| DurableMailbox | Actor inbox with typed messages | Stream + cursor + envelope |\n| DurableQueue | Competing consumers work queue | Stream + claim/ack protocol |\n| DurableLock | Distributed mutex | Stream + seq=0 for CAS |\n| DurableSemaphore | Counting semaphore | Stream of acquire/release |\n| DurableBroadcast | Fan-out with delivery tracking | Stream + per-recipient cursors |\n\n**Stream combinators:**\n- stream.merge(...streams) - Fan-in\n- stream.tee(n) - Fan-out\n- stream.buffer(n) - Batch n messages\n- stream.window(ms) - Time-based batching\n- stream.pipe(fn) - Transform in flight\n\n**The Ask Pattern:**\n```typescript\nconst response = await stream.ask\u003cReq, Res\u003e(request, { timeout: 5000 })\n// Internally:\n// 1. Create DurableDeferred for response\n// 2. Append { payload: request, replyTo: deferred.url }\n// 3. Return deferred.value\n```\n\n### What We Built (PR #6)\n- DurableCursor (checkpointed consumption)\n- DurableDeferred (distributed promises with TTL)\n- DurableLock (CAS TTL locks with retries/backoff)\n- DurableMailbox (envelope mailbox over streams)\n- ask() (request/response via deferred+mailbox)\n\n### Analysis Questions to Answer\n\n1. **Generalization beyond swarm-mail:**\n - Multi-tenant SaaS coordination\n - Workflow orchestration (Temporal-like)\n - Distributed transactions (saga pattern)\n - IoT device coordination\n - Game server state sync\n\n2. **What makes this different from existing solutions?**\n - Composable primitives vs monolithic frameworks\n - Local-first (PGlite) vs cloud-dependent\n - Event-sourced (audit trail, replay) vs state-based\n\n3. **Architecture diagrams needed:**\n - Primitive composition hierarchy\n - Ask pattern sequence diagram\n - Multi-agent coordination flow\n - Comparison with Akka/Orleans/Temporal\n\n4. **Where else would this be useful?**\n - AI agent orchestration (beyond coding)\n - Microservice coordination\n - Edge computing coordination\n - Collaborative editing backends\n\n### Deliverable\nA comprehensive markdown document with:\n- Architecture diagrams (ASCII/Mermaid)\n- Primitive taxonomy with use cases\n- Comparison to existing actor frameworks\n- Generalization opportunities\n- Implementation roadmap for standalone library","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-14T09:10:19.615437-08:00","updated_at":"2025-12-14T09:11:06.664496-08:00"}
944
1047
  {"id":"opencode-swarm-plugin-gehw7","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:20:47.594999-08:00","updated_at":"2025-12-13T11:20:51.680453-08:00","closed_at":"2025-12-13T11:20:51.680453-08:00"}
945
1048
  {"id":"opencode-swarm-plugin-gf1n8","title":"Add skills documentation and create 7 new bundled skills","description":"Update README with skills feature documentation, publish new version, then create 7 new skills: agent-patterns, tacit-knowledge-extraction, learning-systems, zod-validation, resilience-patterns, mcp-tool-authoring, testing-strategies","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-12T21:49:01.067542-08:00","updated_at":"2025-12-12T21:53:55.973974-08:00","closed_at":"2025-12-12T21:53:55.973974-08:00"}
946
1049
  {"id":"opencode-swarm-plugin-gf1n8.1","title":"Update README with skills documentation","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-12T21:49:01.108379-08:00","updated_at":"2025-12-12T21:49:37.717118-08:00","closed_at":"2025-12-12T21:49:37.717118-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-gf1n8.1","depends_on_id":"opencode-swarm-plugin-gf1n8","type":"parent-child","created_at":"2025-12-12T21:49:01.109457-08:00","created_by":"daemon"}]}
@@ -1032,6 +1135,7 @@
1032
1135
  {"id":"opencode-swarm-plugin-ho3o","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:25:10.622254-08:00","updated_at":"2025-12-08T08:25:12.642091-08:00","closed_at":"2025-12-08T08:25:12.642091-08:00"}
1033
1136
  {"id":"opencode-swarm-plugin-ho3o.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.694557-08:00","updated_at":"2025-12-08T08:25:12.69221-08:00","closed_at":"2025-12-08T08:25:12.69221-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ho3o.2","depends_on_id":"opencode-swarm-plugin-ho3o","type":"parent-child","created_at":"2025-12-08T08:25:10.69491-08:00","created_by":"daemon"}]}
1034
1137
  {"id":"opencode-swarm-plugin-hpzu","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:53:44.966334-08:00","updated_at":"2025-12-08T07:53:46.804841-08:00","closed_at":"2025-12-08T07:53:46.804841-08:00"}
1138
+ {"id":"opencode-swarm-plugin-hr9o8","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.529259-08:00","updated_at":"2025-12-14T13:58:56.46863-08:00","closed_at":"2025-12-14T13:58:56.46863-08:00"}
1035
1139
  {"id":"opencode-swarm-plugin-hromn","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:31.872182-08:00","updated_at":"2025-12-10T09:08:35.337471-08:00","closed_at":"2025-12-10T09:08:35.337471-08:00"}
1036
1140
  {"id":"opencode-swarm-plugin-hs0h","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.256297-08:00","updated_at":"2025-12-07T19:57:08.436151-08:00","closed_at":"2025-12-07T19:57:08.436151-08:00"}
1037
1141
  {"id":"opencode-swarm-plugin-hsz7","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.256893-08:00","updated_at":"2025-12-08T08:14:29.281551-08:00","closed_at":"2025-12-08T08:14:29.281551-08:00"}
@@ -1076,6 +1180,9 @@
1076
1180
  {"id":"opencode-swarm-plugin-if3v","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.346318-08:00","updated_at":"2025-12-08T11:10:55.820026-08:00","closed_at":"2025-12-08T11:10:55.820026-08:00"}
1077
1181
  {"id":"opencode-swarm-plugin-ifb8b","title":"Gap: Insufficient logging/observability","description":"src/streams/store.ts, agent-mail.ts - No logging for critical operations: event appends, materialized view updates, database errors, conflicts detected. Makes debugging production issues hard. Should add structured logging (console.error/warn at minimum) for: database connection errors, event append failures, projection update failures, conflict detection, reservation operations. Consider: log levels (info/warn/error), context fields (projectKey, agentName, eventType).","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:07.066447-08:00","updated_at":"2025-12-13T16:06:34.32075-08:00","closed_at":"2025-12-13T16:06:34.32075-08:00"}
1078
1182
  {"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"}
1183
+ {"id":"opencode-swarm-plugin-iim7f","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.843113-08:00","updated_at":"2025-12-13T18:16:30.886622-08:00","closed_at":"2025-12-13T18:16:30.886622-08:00"}
1184
+ {"id":"opencode-swarm-plugin-iip5r","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.607966-08:00","updated_at":"2025-12-13T18:16:33.764348-08:00","closed_at":"2025-12-13T18:16:33.764348-08:00"}
1185
+ {"id":"opencode-swarm-plugin-ijg5q","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.496038-08:00","updated_at":"2025-12-13T18:18:38.064856-08:00","closed_at":"2025-12-13T18:18:38.064856-08:00"}
1079
1186
  {"id":"opencode-swarm-plugin-ijyv","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:56:56.579396-08:00","updated_at":"2025-12-08T08:56:58.480064-08:00","closed_at":"2025-12-08T08:56:58.480064-08:00"}
1080
1187
  {"id":"opencode-swarm-plugin-ijyv.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:56.641855-08:00","updated_at":"2025-12-08T08:56:58.530793-08:00","closed_at":"2025-12-08T08:56:58.530793-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ijyv.2","depends_on_id":"opencode-swarm-plugin-ijyv","type":"parent-child","created_at":"2025-12-08T08:56:56.642441-08:00","created_by":"daemon"}]}
1081
1188
  {"id":"opencode-swarm-plugin-ijzjd","title":"Update README to document skills feature","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-12T21:46:13.821586-08:00","updated_at":"2025-12-12T21:49:38.634771-08:00","closed_at":"2025-12-12T21:49:38.634771-08:00"}
@@ -1090,6 +1197,9 @@
1090
1197
  {"id":"opencode-swarm-plugin-in00","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.612229-08:00","updated_at":"2025-12-08T08:56:58.075077-08:00","closed_at":"2025-12-08T08:56:58.075077-08:00"}
1091
1198
  {"id":"opencode-swarm-plugin-in05","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:30.226466-08:00","updated_at":"2025-12-08T08:14:31.78452-08:00","closed_at":"2025-12-08T08:14:31.78452-08:00"}
1092
1199
  {"id":"opencode-swarm-plugin-ineu","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:48.576554-08:00","updated_at":"2025-12-08T07:46:51.430648-08:00","closed_at":"2025-12-08T07:46:51.430648-08:00"}
1200
+ {"id":"opencode-swarm-plugin-inj0m","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:22.048222-08:00","updated_at":"2025-12-14T09:30:22.423695-08:00","closed_at":"2025-12-14T09:30:22.423695-08:00"}
1201
+ {"id":"opencode-swarm-plugin-inj0m.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:22.101967-08:00","updated_at":"2025-12-14T09:30:22.288168-08:00","closed_at":"2025-12-14T09:30:22.288168-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-inj0m.1","depends_on_id":"opencode-swarm-plugin-inj0m","type":"parent-child","created_at":"2025-12-14T09:30:22.102616-08:00","created_by":"daemon"}]}
1202
+ {"id":"opencode-swarm-plugin-inj0m.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:22.162111-08:00","updated_at":"2025-12-14T09:30:22.378662-08:00","closed_at":"2025-12-14T09:30:22.378662-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-inj0m.2","depends_on_id":"opencode-swarm-plugin-inj0m","type":"parent-child","created_at":"2025-12-14T09:30:22.163347-08:00","created_by":"daemon"}]}
1093
1203
  {"id":"opencode-swarm-plugin-ip3a","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:30.641906-08:00","updated_at":"2025-12-07T19:39:31.914284-08:00","closed_at":"2025-12-07T19:39:31.914284-08:00"}
1094
1204
  {"id":"opencode-swarm-plugin-iqcv","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T08:56:56.010575-08:00","updated_at":"2025-12-08T08:56:58.276226-08:00","closed_at":"2025-12-08T08:56:58.276226-08:00"}
1095
1205
  {"id":"opencode-swarm-plugin-ir1f","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:11:07.303296-08:00","updated_at":"2025-12-08T11:11:10.062239-08:00","closed_at":"2025-12-08T11:11:10.062239-08:00"}
@@ -1098,6 +1208,7 @@
1098
1208
  {"id":"opencode-swarm-plugin-is91","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.709259-08:00","updated_at":"2025-12-08T08:14:31.063333-08:00","closed_at":"2025-12-08T08:14:31.063333-08:00"}
1099
1209
  {"id":"opencode-swarm-plugin-ius7","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.955247-08:00","updated_at":"2025-12-08T08:11:42.132806-08:00","closed_at":"2025-12-08T08:11:42.132806-08:00"}
1100
1210
  {"id":"opencode-swarm-plugin-iuvs5","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:42.063371-08:00","updated_at":"2025-12-13T11:18:46.169309-08:00","closed_at":"2025-12-13T11:18:46.169309-08:00"}
1211
+ {"id":"opencode-swarm-plugin-iuw0v","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.251353-08:00","updated_at":"2025-12-13T18:18:38.431331-08:00","closed_at":"2025-12-13T18:18:38.431331-08:00"}
1101
1212
  {"id":"opencode-swarm-plugin-iz0p","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.73464-08:00","updated_at":"2025-12-08T08:05:35.211775-08:00","closed_at":"2025-12-08T08:05:35.211775-08:00"}
1102
1213
  {"id":"opencode-swarm-plugin-j0t3","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:18.837449-08:00","updated_at":"2025-12-08T08:23:20.59352-08:00","closed_at":"2025-12-08T08:23:20.59352-08:00"}
1103
1214
  {"id":"opencode-swarm-plugin-j0yl","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:56:55.284991-08:00","updated_at":"2025-12-08T08:56:57.895835-08:00","closed_at":"2025-12-08T08:56:57.895835-08:00"}
@@ -1112,7 +1223,9 @@
1112
1223
  {"id":"opencode-swarm-plugin-j9vaf","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:47.395668-08:00","updated_at":"2025-12-13T11:20:51.598422-08:00","closed_at":"2025-12-13T11:20:51.598422-08:00"}
1113
1224
  {"id":"opencode-swarm-plugin-jb8","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.396735-08:00","updated_at":"2025-12-07T19:39:20.504817-08:00","closed_at":"2025-12-07T19:39:20.504817-08:00"}
1114
1225
  {"id":"opencode-swarm-plugin-jbdj","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.731569-08:00","updated_at":"2025-12-08T11:10:56.43993-08:00","closed_at":"2025-12-08T11:10:56.43993-08:00"}
1226
+ {"id":"opencode-swarm-plugin-jby1v","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.658884-08:00","updated_at":"2025-12-14T09:30:23.115291-08:00","closed_at":"2025-12-14T09:30:23.115291-08:00"}
1115
1227
  {"id":"opencode-swarm-plugin-jc9y","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.328372-08:00","updated_at":"2025-12-07T19:39:31.358211-08:00","closed_at":"2025-12-07T19:39:31.358211-08:00"}
1228
+ {"id":"opencode-swarm-plugin-jd87w","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T18:16:29.390311-08:00","updated_at":"2025-12-13T18:16:33.6438-08:00","closed_at":"2025-12-13T18:16:33.6438-08:00"}
1116
1229
  {"id":"opencode-swarm-plugin-jdj","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:10.007126-08:00","updated_at":"2025-12-07T19:39:11.999539-08:00","closed_at":"2025-12-07T19:39:11.999539-08:00"}
1117
1230
  {"id":"opencode-swarm-plugin-jf6gz","title":"Add repo-crawl tools to swarm plugin","description":"repo-crawl is essential for research tasks. Should be part of the plugin rather than a separate MCP server.\n\nTools to add:\n- repo_readme(repo) - Get README content\n- repo_structure(repo) - Get repo structure and tech stack\n- repo_tree(repo, path?) - Get directory tree\n- repo_file(repo, path) - Get file content\n- repo_search(repo, query) - Search code in repo\n\nImplementation:\n- Use GitHub API (unauthenticated for public repos, GITHUB_TOKEN for private)\n- Add to tool-availability.ts checks\n- Integrate with research-based strategy\n\nFiles: src/repo-crawl.ts (new), src/index.ts, src/tool-availability.ts","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-10T11:01:29.213791-08:00","updated_at":"2025-12-10T11:09:20.028842-08:00","closed_at":"2025-12-10T11:09:20.028842-08:00"}
1118
1231
  {"id":"opencode-swarm-plugin-jg4c","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.157665-08:00","updated_at":"2025-12-08T08:22:19.932643-08:00","closed_at":"2025-12-08T08:22:19.932643-08:00"}
@@ -1123,6 +1236,8 @@
1123
1236
  {"id":"opencode-swarm-plugin-jj82","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:10:54.274252-08:00","updated_at":"2025-12-08T11:10:56.160525-08:00","closed_at":"2025-12-08T11:10:56.160525-08:00"}
1124
1237
  {"id":"opencode-swarm-plugin-jj82.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:54.344851-08:00","updated_at":"2025-12-08T11:10:56.211639-08:00","closed_at":"2025-12-08T11:10:56.211639-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-jj82.2","depends_on_id":"opencode-swarm-plugin-jj82","type":"parent-child","created_at":"2025-12-08T11:10:54.345263-08:00","created_by":"daemon"}]}
1125
1238
  {"id":"opencode-swarm-plugin-jkoa","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:23.548275-08:00","updated_at":"2025-12-08T11:11:25.83234-08:00","closed_at":"2025-12-08T11:11:25.83234-08:00"}
1239
+ {"id":"opencode-swarm-plugin-jlhgi","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.009307-08:00","updated_at":"2025-12-13T18:18:38.31852-08:00","closed_at":"2025-12-13T18:18:38.31852-08:00"}
1240
+ {"id":"opencode-swarm-plugin-jn01y","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.121543-08:00","updated_at":"2025-12-13T18:16:34.063494-08:00","closed_at":"2025-12-13T18:16:34.063494-08:00"}
1126
1241
  {"id":"opencode-swarm-plugin-jn7g8","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:56.105135-08:00","updated_at":"2025-12-08T11:12:58.343978-08:00","closed_at":"2025-12-08T11:12:58.343978-08:00"}
1127
1242
  {"id":"opencode-swarm-plugin-jqba","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.625335-08:00","updated_at":"2025-12-08T08:11:42.034682-08:00","closed_at":"2025-12-08T08:11:42.034682-08:00"}
1128
1243
  {"id":"opencode-swarm-plugin-jsm4","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.904551-08:00","updated_at":"2025-12-08T08:14:31.188773-08:00","closed_at":"2025-12-08T08:14:31.188773-08:00"}
@@ -1131,7 +1246,9 @@
1131
1246
  {"id":"opencode-swarm-plugin-jujj.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:20.039909-08:00","updated_at":"2025-12-07T19:39:20.114405-08:00","closed_at":"2025-12-07T19:39:20.114405-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-jujj.1","depends_on_id":"opencode-swarm-plugin-jujj","type":"parent-child","created_at":"2025-12-07T19:39:20.040195-08:00","created_by":"daemon"}]}
1132
1247
  {"id":"opencode-swarm-plugin-jujj.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:20.068843-08:00","updated_at":"2025-12-07T19:39:20.162197-08:00","closed_at":"2025-12-07T19:39:20.162197-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-jujj.2","depends_on_id":"opencode-swarm-plugin-jujj","type":"parent-child","created_at":"2025-12-07T19:39:20.06912-08:00","created_by":"daemon"}]}
1133
1248
  {"id":"opencode-swarm-plugin-jx36","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.621404-08:00","updated_at":"2025-12-07T19:57:08.075079-08:00","closed_at":"2025-12-07T19:57:08.075079-08:00"}
1249
+ {"id":"opencode-swarm-plugin-jydew","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.338144-08:00","updated_at":"2025-12-14T09:30:22.881835-08:00","closed_at":"2025-12-14T09:30:22.881835-08:00"}
1134
1250
  {"id":"opencode-swarm-plugin-k0y3i","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:46.790051-08:00","updated_at":"2025-12-13T11:20:51.194381-08:00","closed_at":"2025-12-13T11:20:51.194381-08:00"}
1251
+ {"id":"opencode-swarm-plugin-k20za","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.605013-08:00","updated_at":"2025-12-14T09:30:23.0694-08:00","closed_at":"2025-12-14T09:30:23.0694-08:00"}
1135
1252
  {"id":"opencode-swarm-plugin-k2liw","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T14:48:42.100461-08:00","updated_at":"2025-12-13T14:48:45.380162-08:00","closed_at":"2025-12-13T14:48:45.380162-08:00"}
1136
1253
  {"id":"opencode-swarm-plugin-k2pl","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:12:26.47779-08:00","updated_at":"2025-12-08T11:12:28.385061-08:00","closed_at":"2025-12-08T11:12:28.385061-08:00"}
1137
1254
  {"id":"opencode-swarm-plugin-k2wm","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:44.160426-08:00","updated_at":"2025-12-07T19:56:45.501563-08:00","closed_at":"2025-12-07T19:56:45.501563-08:00"}
@@ -1142,6 +1259,7 @@
1142
1259
  {"id":"opencode-swarm-plugin-k4d2.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.760668-08:00","updated_at":"2025-12-08T11:11:09.850739-08:00","closed_at":"2025-12-08T11:11:09.850739-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-k4d2.1","depends_on_id":"opencode-swarm-plugin-k4d2","type":"parent-child","created_at":"2025-12-08T11:11:09.760966-08:00","created_by":"daemon"}]}
1143
1260
  {"id":"opencode-swarm-plugin-k4d2.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.796052-08:00","updated_at":"2025-12-08T11:11:09.909645-08:00","closed_at":"2025-12-08T11:11:09.909645-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-k4d2.2","depends_on_id":"opencode-swarm-plugin-k4d2","type":"parent-child","created_at":"2025-12-08T11:11:09.796413-08:00","created_by":"daemon"}]}
1144
1261
  {"id":"opencode-swarm-plugin-k6l7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.366349-08:00","updated_at":"2025-12-08T11:11:40.832387-08:00","closed_at":"2025-12-08T11:11:40.832387-08:00"}
1262
+ {"id":"opencode-swarm-plugin-k7106","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:19.118457-08:00","updated_at":"2025-12-14T09:30:23.318242-08:00","closed_at":"2025-12-14T09:30:23.318242-08:00"}
1145
1263
  {"id":"opencode-swarm-plugin-k73o","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.828815-08:00","updated_at":"2025-12-08T08:56:58.186472-08:00","closed_at":"2025-12-08T08:56:58.186472-08:00"}
1146
1264
  {"id":"opencode-swarm-plugin-k7dwa","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:41.541074-08:00","updated_at":"2025-12-08T11:12:43.891188-08:00","closed_at":"2025-12-08T11:12:43.891188-08:00"}
1147
1265
  {"id":"opencode-swarm-plugin-k8d","title":"Docker integration test infrastructure","description":"Create Docker-based integration test environment with real beads CLI and Agent Mail server for testing all plugin modules without mocks","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:24:22.198656-08:00","updated_at":"2025-12-08T08:35:24.03232-08:00","closed_at":"2025-12-08T08:35:24.03232-08:00"}
@@ -1169,6 +1287,7 @@
1169
1287
  {"id":"opencode-swarm-plugin-ki74","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.662955-08:00","updated_at":"2025-12-08T11:11:25.33594-08:00","closed_at":"2025-12-08T11:11:25.33594-08:00"}
1170
1288
  {"id":"opencode-swarm-plugin-kj78","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.843125-08:00","updated_at":"2025-12-08T08:36:19.314591-08:00","closed_at":"2025-12-08T08:36:19.314591-08:00"}
1171
1289
  {"id":"opencode-swarm-plugin-kjb9","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T08:21:27.714251-08:00","updated_at":"2025-12-08T08:21:30.178633-08:00","closed_at":"2025-12-08T08:21:30.178633-08:00"}
1290
+ {"id":"opencode-swarm-plugin-kjpaf","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.471466-08:00","updated_at":"2025-12-13T18:16:35.132048-08:00","closed_at":"2025-12-13T18:16:35.132048-08:00"}
1172
1291
  {"id":"opencode-swarm-plugin-kkt0","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:46:49.490988-08:00","updated_at":"2025-12-08T07:46:51.908928-08:00","closed_at":"2025-12-08T07:46:51.908928-08:00"}
1173
1292
  {"id":"opencode-swarm-plugin-kl36","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.960304-08:00","updated_at":"2025-12-08T11:11:25.037091-08:00","closed_at":"2025-12-08T11:11:25.037091-08:00"}
1174
1293
  {"id":"opencode-swarm-plugin-klc","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.589152-08:00","updated_at":"2025-12-07T19:39:11.765447-08:00","closed_at":"2025-12-07T19:39:11.765447-08:00"}
@@ -1177,6 +1296,7 @@
1177
1296
  {"id":"opencode-swarm-plugin-knh71.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:48.37727-08:00","updated_at":"2025-12-13T11:20:51.895859-08:00","closed_at":"2025-12-13T11:20:51.895859-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-knh71.1","depends_on_id":"opencode-swarm-plugin-knh71","type":"parent-child","created_at":"2025-12-13T11:20:48.378434-08:00","created_by":"daemon"}]}
1178
1297
  {"id":"opencode-swarm-plugin-knh71.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T11:20:48.424697-08:00","updated_at":"2025-12-13T11:20:51.935658-08:00","closed_at":"2025-12-13T11:20:51.935658-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-knh71.2","depends_on_id":"opencode-swarm-plugin-knh71","type":"parent-child","created_at":"2025-12-13T11:20:48.4254-08:00","created_by":"daemon"}]}
1179
1298
  {"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"}]}
1299
+ {"id":"opencode-swarm-plugin-knzwh","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.725039-08:00","updated_at":"2025-12-14T09:30:23.169453-08:00","closed_at":"2025-12-14T09:30:23.169453-08:00"}
1180
1300
  {"id":"opencode-swarm-plugin-kptb","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:41:10.637373-08:00","updated_at":"2025-12-07T19:41:13.253191-08:00","closed_at":"2025-12-07T19:41:13.253191-08:00"}
1181
1301
  {"id":"opencode-swarm-plugin-kr0ue","title":"Document shared_context usage pattern","description":"src/schemas/task.ts:62 - `shared_context` field comment \"Context to pass to all agents\" is vague. Add example: \"/** Shared context for all agents (e.g., API contracts, shared types, project conventions) */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:27.641899-08:00","updated_at":"2025-12-13T16:45:49.63414-08:00","closed_at":"2025-12-13T16:45:49.63414-08:00"}
1182
1302
  {"id":"opencode-swarm-plugin-ksf8","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.941287-08:00","updated_at":"2025-12-08T11:11:25.542086-08:00","closed_at":"2025-12-08T11:11:25.542086-08:00"}
@@ -1190,12 +1310,14 @@
1190
1310
  {"id":"opencode-swarm-plugin-l0nf","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:05:32.672544-08:00","updated_at":"2025-12-08T08:05:35.160106-08:00","closed_at":"2025-12-08T08:05:35.160106-08:00"}
1191
1311
  {"id":"opencode-swarm-plugin-l1l","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:39:09.442299-08:00","updated_at":"2025-12-07T19:39:11.67709-08:00","closed_at":"2025-12-07T19:39:11.67709-08:00"}
1192
1312
  {"id":"opencode-swarm-plugin-l1w0","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:11:22.696024-08:00","updated_at":"2025-12-08T11:11:25.44029-08:00","closed_at":"2025-12-08T11:11:25.44029-08:00"}
1313
+ {"id":"opencode-swarm-plugin-l20hb","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.641976-08:00","updated_at":"2025-12-13T18:18:38.174229-08:00","closed_at":"2025-12-13T18:18:38.174229-08:00"}
1193
1314
  {"id":"opencode-swarm-plugin-l3go","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:53:44.738182-08:00","updated_at":"2025-12-08T07:53:46.629762-08:00","closed_at":"2025-12-08T07:53:46.629762-08:00"}
1194
1315
  {"id":"opencode-swarm-plugin-l3go.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.772945-08:00","updated_at":"2025-12-08T07:53:46.652988-08:00","closed_at":"2025-12-08T07:53:46.652988-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-l3go.1","depends_on_id":"opencode-swarm-plugin-l3go","type":"parent-child","created_at":"2025-12-08T07:53:44.773334-08:00","created_by":"daemon"}]}
1195
1316
  {"id":"opencode-swarm-plugin-l3go.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T07:53:44.804338-08:00","updated_at":"2025-12-08T07:53:46.676938-08:00","closed_at":"2025-12-08T07:53:46.676938-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-l3go.2","depends_on_id":"opencode-swarm-plugin-l3go","type":"parent-child","created_at":"2025-12-08T07:53:44.804794-08:00","created_by":"daemon"}]}
1196
1317
  {"id":"opencode-swarm-plugin-l3hj","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:56:43.04206-08:00","updated_at":"2025-12-07T19:56:45.007684-08:00","closed_at":"2025-12-07T19:56:45.007684-08:00"}
1197
1318
  {"id":"opencode-swarm-plugin-l3zw","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:28.705221-08:00","updated_at":"2025-12-08T08:21:30.697066-08:00","closed_at":"2025-12-08T08:21:30.697066-08:00"}
1198
1319
  {"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"}
1320
+ {"id":"opencode-swarm-plugin-l457r","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.082792-08:00","updated_at":"2025-12-14T09:30:22.789922-08:00","closed_at":"2025-12-14T09:30:22.789922-08:00"}
1199
1321
  {"id":"opencode-swarm-plugin-l5i5e","title":"Add validation message for datetime schema","description":"src/schemas/bead.ts:51-53 - datetime schemas have default Zod error messages. Add custom message: `.datetime({ offset: true, message: \"Must be ISO-8601 with timezone\" })`","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:08.592079-08:00","updated_at":"2025-12-13T16:48:08.881079-08:00","closed_at":"2025-12-13T16:48:08.881079-08:00"}
1200
1322
  {"id":"opencode-swarm-plugin-l5ya","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.338829-08:00","updated_at":"2025-12-08T11:12:27.840456-08:00","closed_at":"2025-12-08T11:12:27.840456-08:00"}
1201
1323
  {"id":"opencode-swarm-plugin-l6ce","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.548007-08:00","updated_at":"2025-12-08T11:11:25.671739-08:00","closed_at":"2025-12-08T11:11:25.671739-08:00"}
@@ -1207,6 +1329,9 @@
1207
1329
  {"id":"opencode-swarm-plugin-l9q","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:33.996575-08:00","updated_at":"2025-12-07T19:37:36.119686-08:00","closed_at":"2025-12-07T19:37:36.119686-08:00"}
1208
1330
  {"id":"opencode-swarm-plugin-lbbv","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:28.833926-08:00","updated_at":"2025-12-07T19:39:31.062322-08:00","closed_at":"2025-12-07T19:39:31.062322-08:00"}
1209
1331
  {"id":"opencode-swarm-plugin-ldqm","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:32.790881-08:00","updated_at":"2025-12-08T08:05:35.238079-08:00","closed_at":"2025-12-08T08:05:35.238079-08:00"}
1332
+ {"id":"opencode-swarm-plugin-ldski","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:16:31.559908-08:00","updated_at":"2025-12-13T18:16:34.623147-08:00","closed_at":"2025-12-13T18:16:34.623147-08:00"}
1333
+ {"id":"opencode-swarm-plugin-ldski.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.613179-08:00","updated_at":"2025-12-13T18:16:34.668286-08:00","closed_at":"2025-12-13T18:16:34.668286-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ldski.1","depends_on_id":"opencode-swarm-plugin-ldski","type":"parent-child","created_at":"2025-12-13T18:16:31.614221-08:00","created_by":"daemon"}]}
1334
+ {"id":"opencode-swarm-plugin-ldski.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:31.667627-08:00","updated_at":"2025-12-13T18:16:34.713057-08:00","closed_at":"2025-12-13T18:16:34.713057-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ldski.2","depends_on_id":"opencode-swarm-plugin-ldski","type":"parent-child","created_at":"2025-12-13T18:16:31.66969-08:00","created_by":"daemon"}]}
1210
1335
  {"id":"opencode-swarm-plugin-lgnw9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:05.842289-08:00","updated_at":"2025-12-10T09:06:09.741637-08:00","closed_at":"2025-12-10T09:06:09.741637-08:00"}
1211
1336
  {"id":"opencode-swarm-plugin-lib","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:37:35.075852-08:00","updated_at":"2025-12-07T19:37:36.603302-08:00","closed_at":"2025-12-07T19:37:36.603302-08:00"}
1212
1337
  {"id":"opencode-swarm-plugin-lifp9","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:47.300698-08:00","updated_at":"2025-12-13T11:20:51.556708-08:00","closed_at":"2025-12-13T11:20:51.556708-08:00"}
@@ -1215,6 +1340,7 @@
1215
1340
  {"id":"opencode-swarm-plugin-ll15","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:22:18.723191-08:00","updated_at":"2025-12-08T08:22:18.922132-08:00","closed_at":"2025-12-08T08:22:18.922132-08:00"}
1216
1341
  {"id":"opencode-swarm-plugin-ll15.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.756408-08:00","updated_at":"2025-12-08T08:22:18.841276-08:00","closed_at":"2025-12-08T08:22:18.841276-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ll15.1","depends_on_id":"opencode-swarm-plugin-ll15","type":"parent-child","created_at":"2025-12-08T08:22:18.756747-08:00","created_by":"daemon"}]}
1217
1342
  {"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"}]}
1343
+ {"id":"opencode-swarm-plugin-lmqrp","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-14T13:58:49.898622-08:00","updated_at":"2025-12-14T13:58:54.810458-08:00","closed_at":"2025-12-14T13:58:54.810458-08:00"}
1218
1344
  {"id":"opencode-swarm-plugin-lmy1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.726664-08:00","updated_at":"2025-12-08T11:11:25.360309-08:00","closed_at":"2025-12-08T11:11:25.360309-08:00"}
1219
1345
  {"id":"opencode-swarm-plugin-ln411","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:24.461147-08:00","updated_at":"2025-12-09T10:00:26.686053-08:00","closed_at":"2025-12-09T10:00:26.686053-08:00"}
1220
1346
  {"id":"opencode-swarm-plugin-lnff","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:11.226267-08:00","updated_at":"2025-12-08T08:25:12.979406-08:00","closed_at":"2025-12-08T08:25:12.979406-08:00"}
@@ -1238,6 +1364,7 @@
1238
1364
  {"id":"opencode-swarm-plugin-lwukj","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T11:18:42.678779-08:00","updated_at":"2025-12-13T11:18:46.43854-08:00","closed_at":"2025-12-13T11:18:46.43854-08:00"}
1239
1365
  {"id":"opencode-swarm-plugin-lx3w","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:39.540349-08:00","updated_at":"2025-12-08T11:11:41.383578-08:00","closed_at":"2025-12-08T11:11:41.383578-08:00"}
1240
1366
  {"id":"opencode-swarm-plugin-lx3w.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:39.573613-08:00","updated_at":"2025-12-08T11:11:41.409069-08:00","closed_at":"2025-12-08T11:11:41.409069-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-lx3w.1","depends_on_id":"opencode-swarm-plugin-lx3w","type":"parent-child","created_at":"2025-12-08T11:11:39.573966-08:00","created_by":"daemon"}]}
1367
+ {"id":"opencode-swarm-plugin-lxsxu","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.129583-08:00","updated_at":"2025-12-14T13:58:56.379762-08:00","closed_at":"2025-12-14T13:58:56.379762-08:00"}
1241
1368
  {"id":"opencode-swarm-plugin-lyol","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:10:24.683373-08:00","updated_at":"2025-12-08T11:10:27.288582-08:00","closed_at":"2025-12-08T11:10:27.288582-08:00"}
1242
1369
  {"id":"opencode-swarm-plugin-lzyh","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.042074-08:00","updated_at":"2025-12-08T08:05:35.405982-08:00","closed_at":"2025-12-08T08:05:35.405982-08:00"}
1243
1370
  {"id":"opencode-swarm-plugin-m1ig","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.410479-08:00","updated_at":"2025-12-08T08:11:41.933381-08:00","closed_at":"2025-12-08T08:11:41.933381-08:00"}
@@ -1295,6 +1422,7 @@
1295
1422
  {"id":"opencode-swarm-plugin-mqhmm","title":"Document extraction strategy priority order","description":"src/structured.ts:118-190 - extractJsonFromText tries 6 strategies but priority reasoning not documented. Add JSDoc: \"Strategies tried in order: 1) direct parse (fastest), 2-3) code blocks (common), 4-5) brace matching (resilient), 6) repair (last resort)\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:42.644422-08:00","updated_at":"2025-12-13T16:45:43.863641-08:00","closed_at":"2025-12-13T16:45:43.863641-08:00"}
1296
1423
  {"id":"opencode-swarm-plugin-mquw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.67798-08:00","updated_at":"2025-12-08T08:14:31.039942-08:00","closed_at":"2025-12-08T08:14:31.039942-08:00"}
1297
1424
  {"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"}
1425
+ {"id":"opencode-swarm-plugin-mrsuk","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T18:16:29.448622-08:00","updated_at":"2025-12-13T18:16:33.688364-08:00","closed_at":"2025-12-13T18:16:33.688364-08:00"}
1298
1426
  {"id":"opencode-swarm-plugin-msud","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.67052-08:00","updated_at":"2025-12-08T09:09:33.50072-08:00","closed_at":"2025-12-08T09:09:33.50072-08:00"}
1299
1427
  {"id":"opencode-swarm-plugin-msud.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:31.702476-08:00","updated_at":"2025-12-08T09:09:33.525777-08:00","closed_at":"2025-12-08T09:09:33.525777-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-msud.1","depends_on_id":"opencode-swarm-plugin-msud","type":"parent-child","created_at":"2025-12-08T09:09:31.702811-08:00","created_by":"daemon"}]}
1300
1428
  {"id":"opencode-swarm-plugin-msud.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-08T09:09:31.733374-08:00","updated_at":"2025-12-08T09:09:33.551412-08:00","closed_at":"2025-12-08T09:09:33.551412-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-msud.2","depends_on_id":"opencode-swarm-plugin-msud","type":"parent-child","created_at":"2025-12-08T09:09:31.733661-08:00","created_by":"daemon"}]}
@@ -1312,12 +1440,14 @@
1312
1440
  {"id":"opencode-swarm-plugin-n0du","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:46:50.097676-08:00","updated_at":"2025-12-08T07:46:52.1419-08:00","closed_at":"2025-12-08T07:46:52.1419-08:00"}
1313
1441
  {"id":"opencode-swarm-plugin-n0du.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.17342-08:00","updated_at":"2025-12-08T07:46:52.197553-08:00","closed_at":"2025-12-08T07:46:52.197553-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-n0du.2","depends_on_id":"opencode-swarm-plugin-n0du","type":"parent-child","created_at":"2025-12-08T07:46:50.173814-08:00","created_by":"daemon"}]}
1314
1442
  {"id":"opencode-swarm-plugin-n0orb","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:35.541633-08:00","updated_at":"2025-12-13T11:16:39.776562-08:00","closed_at":"2025-12-13T11:16:39.776562-08:00"}
1443
+ {"id":"opencode-swarm-plugin-n0qk4","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.995389-08:00","updated_at":"2025-12-13T18:18:39.181866-08:00","closed_at":"2025-12-13T18:18:39.181866-08:00"}
1315
1444
  {"id":"opencode-swarm-plugin-n14z","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.470029-08:00","updated_at":"2025-12-08T08:23:19.896349-08:00","closed_at":"2025-12-08T08:23:19.896349-08:00"}
1316
1445
  {"id":"opencode-swarm-plugin-n22k","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:18.558766-08:00","updated_at":"2025-12-08T08:36:18.638197-08:00","closed_at":"2025-12-08T08:36:18.638197-08:00"}
1317
1446
  {"id":"opencode-swarm-plugin-n2c","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.529721-08:00","updated_at":"2025-12-07T19:34:54.629263-08:00","closed_at":"2025-12-07T19:34:54.629263-08:00"}
1318
1447
  {"id":"opencode-swarm-plugin-n2kq","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.794339-08:00","updated_at":"2025-12-07T19:41:12.87413-08:00","closed_at":"2025-12-07T19:41:12.87413-08:00"}
1319
1448
  {"id":"opencode-swarm-plugin-n3nl","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.85091-08:00","updated_at":"2025-12-08T08:11:39.874469-08:00","closed_at":"2025-12-08T08:11:39.874469-08:00"}
1320
1449
  {"id":"opencode-swarm-plugin-n4zi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.830391-08:00","updated_at":"2025-12-07T19:56:44.919934-08:00","closed_at":"2025-12-07T19:56:44.919934-08:00"}
1450
+ {"id":"opencode-swarm-plugin-n6430","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.959886-08:00","updated_at":"2025-12-14T13:58:54.09344-08:00","closed_at":"2025-12-14T13:58:54.09344-08:00"}
1321
1451
  {"id":"opencode-swarm-plugin-n7y8","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:56:42.357122-08:00","updated_at":"2025-12-07T19:56:44.652083-08:00","closed_at":"2025-12-07T19:56:44.652083-08:00"}
1322
1452
  {"id":"opencode-swarm-plugin-n80p","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.450922-08:00","updated_at":"2025-12-08T08:05:36.101564-08:00","closed_at":"2025-12-08T08:05:36.101564-08:00"}
1323
1453
  {"id":"opencode-swarm-plugin-nc95","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T07:46:48.649826-08:00","updated_at":"2025-12-08T07:46:51.486879-08:00","closed_at":"2025-12-08T07:46:51.486879-08:00"}
@@ -1336,6 +1466,7 @@
1336
1466
  {"id":"opencode-swarm-plugin-nnu9l","title":"Pattern: Defense-in-Depth - 4 Layers of Validation","description":"## Defense-in-Depth Validation (from obra/superpowers)\n\n**Core Principle:** Single validation = \"We fixed the bug\". Multiple layers = \"We made the bug structurally impossible.\"\n\n### The 4 Layers\n**Layer 1: Entry Point Validation**\n- Reject obviously invalid input at API boundary\n- Check: not empty, exists, is correct type\n\n**Layer 2: Business Logic Validation**\n- Ensure data makes sense for this operation\n- Check: required fields, valid ranges, business rules\n\n**Layer 3: Environment Guards**\n- Prevent dangerous operations in specific contexts\n- Example: Refuse git init outside temp dir during tests\n\n**Layer 4: Debug Instrumentation**\n- Capture context for forensics\n- Log: directory, cwd, environment, stack trace\n\n### Why All 4 Layers\nAll four layers are necessary because:\n- Different code paths bypass entry validation\n- Mocks bypass business logic checks\n- Edge cases on different platforms need environment guards\n- Debug logging identifies structural misuse\n\n### Application Process\nWhen you find a bug:\n1. **Trace the data flow** - Where does bad value originate? Where used?\n2. **Map all checkpoints** - List every point data passes through\n3. **Add validation at each layer** - Entry, business, environment, debug\n4. **Test each layer** - Try to bypass layer 1, verify layer 2 catches it\n\n### Real Example\nBug: Empty `projectDir` caused `git init` in source code\n\nLayers added:\n- Layer 1: `Project.create()` validates not empty/exists/writable\n- Layer 2: `WorkspaceManager` validates projectDir not empty\n- Layer 3: `WorktreeManager` refuses git init outside tmpdir in tests\n- Layer 4: Stack trace logging before git init\n\nResult: 1847 tests passed, bug impossible to reproduce\n\n**Full analysis:** VERIFICATION_QUALITY_PATTERNS.md","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:01:12.487844-08:00","updated_at":"2025-12-13T15:50:55.223043-08:00","closed_at":"2025-12-13T15:50:55.223043-08:00"}
1337
1467
  {"id":"opencode-swarm-plugin-nnv5p","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.33813-08:00","updated_at":"2025-12-08T11:12:57.866074-08:00","closed_at":"2025-12-08T11:12:57.866074-08:00"}
1338
1468
  {"id":"opencode-swarm-plugin-npe6t","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T11:18:43.352641-08:00","updated_at":"2025-12-13T11:18:46.618244-08:00","closed_at":"2025-12-13T11:18:46.618244-08:00"}
1469
+ {"id":"opencode-swarm-plugin-nprk1","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:29.50619-08:00","updated_at":"2025-12-13T18:16:33.724079-08:00","closed_at":"2025-12-13T18:16:33.724079-08:00"}
1339
1470
  {"id":"opencode-swarm-plugin-nq1t","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:10.023307-08:00","updated_at":"2025-12-08T07:49:12.276319-08:00","closed_at":"2025-12-08T07:49:12.276319-08:00"}
1340
1471
  {"id":"opencode-swarm-plugin-nqms","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.539513-08:00","updated_at":"2025-12-08T11:10:28.207123-08:00","closed_at":"2025-12-08T11:10:28.207123-08:00"}
1341
1472
  {"id":"opencode-swarm-plugin-ntse","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:21:29.356283-08:00","updated_at":"2025-12-08T08:21:29.57132-08:00","closed_at":"2025-12-08T08:21:29.57132-08:00"}
@@ -1348,6 +1479,7 @@
1348
1479
  {"id":"opencode-swarm-plugin-nva6","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:09.240325-08:00","updated_at":"2025-12-08T11:11:10.963371-08:00","closed_at":"2025-12-08T11:11:10.963371-08:00"}
1349
1480
  {"id":"opencode-swarm-plugin-nvfu","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.348024-08:00","updated_at":"2025-12-08T08:05:36.076975-08:00","closed_at":"2025-12-08T08:05:36.076975-08:00"}
1350
1481
  {"id":"opencode-swarm-plugin-nvyf","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.424992-08:00","updated_at":"2025-12-07T19:57:08.5088-08:00","closed_at":"2025-12-07T19:57:08.5088-08:00"}
1482
+ {"id":"opencode-swarm-plugin-nvzbk","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T13:58:51.337115-08:00","updated_at":"2025-12-14T13:58:55.518389-08:00","closed_at":"2025-12-14T13:58:55.518389-08:00"}
1351
1483
  {"id":"opencode-swarm-plugin-nwwh","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.745207-08:00","updated_at":"2025-12-08T11:11:24.823126-08:00","closed_at":"2025-12-08T11:11:24.823126-08:00"}
1352
1484
  {"id":"opencode-swarm-plugin-nxt2","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:16.684535-08:00","updated_at":"2025-12-08T08:22:19.189792-08:00","closed_at":"2025-12-08T08:22:19.189792-08:00"}
1353
1485
  {"id":"opencode-swarm-plugin-nysq9","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-09T10:00:25.095632-08:00","updated_at":"2025-12-09T10:00:25.334055-08:00","closed_at":"2025-12-09T10:00:25.334055-08:00"}
@@ -1358,9 +1490,15 @@
1358
1490
  {"id":"opencode-swarm-plugin-o1oxh","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:23.199742-08:00","updated_at":"2025-12-09T10:00:26.088228-08:00","closed_at":"2025-12-09T10:00:26.088228-08:00"}
1359
1491
  {"id":"opencode-swarm-plugin-o1qe","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.17953-08:00","updated_at":"2025-12-07T19:39:31.271336-08:00","closed_at":"2025-12-07T19:39:31.271336-08:00"}
1360
1492
  {"id":"opencode-swarm-plugin-o3oo","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.12202-08:00","updated_at":"2025-12-08T11:11:25.648445-08:00","closed_at":"2025-12-08T11:11:25.648445-08:00"}
1493
+ {"id":"opencode-swarm-plugin-o4gw7","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:36.264085-08:00","updated_at":"2025-12-13T18:18:38.882514-08:00","closed_at":"2025-12-13T18:18:38.882514-08:00"}
1494
+ {"id":"opencode-swarm-plugin-o4gw7.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.309618-08:00","updated_at":"2025-12-13T18:18:38.920524-08:00","closed_at":"2025-12-13T18:18:38.920524-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-o4gw7.1","depends_on_id":"opencode-swarm-plugin-o4gw7","type":"parent-child","created_at":"2025-12-13T18:18:36.310802-08:00","created_by":"daemon"}]}
1495
+ {"id":"opencode-swarm-plugin-o4gw7.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.356474-08:00","updated_at":"2025-12-13T18:18:38.959403-08:00","closed_at":"2025-12-13T18:18:38.959403-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-o4gw7.2","depends_on_id":"opencode-swarm-plugin-o4gw7","type":"parent-child","created_at":"2025-12-13T18:18:36.357072-08:00","created_by":"daemon"}]}
1496
+ {"id":"opencode-swarm-plugin-o4gw7.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.401915-08:00","updated_at":"2025-12-13T18:18:38.996106-08:00","closed_at":"2025-12-13T18:18:38.996106-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-o4gw7.3","depends_on_id":"opencode-swarm-plugin-o4gw7","type":"parent-child","created_at":"2025-12-13T18:18:36.402564-08:00","created_by":"daemon"}]}
1497
+ {"id":"opencode-swarm-plugin-o4gw7.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.446159-08:00","updated_at":"2025-12-13T18:18:39.03418-08:00","closed_at":"2025-12-13T18:18:39.03418-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-o4gw7.4","depends_on_id":"opencode-swarm-plugin-o4gw7","type":"parent-child","created_at":"2025-12-13T18:18:36.446893-08:00","created_by":"daemon"}]}
1361
1498
  {"id":"opencode-swarm-plugin-o52h","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:11.515081-08:00","updated_at":"2025-12-07T19:41:11.543031-08:00","closed_at":"2025-12-07T19:41:11.543031-08:00"}
1362
1499
  {"id":"opencode-swarm-plugin-o56s3","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-10T09:07:22.742627-08:00","updated_at":"2025-12-10T09:07:25.934376-08:00","closed_at":"2025-12-10T09:07:25.934376-08:00"}
1363
1500
  {"id":"opencode-swarm-plugin-o5do","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.853933-08:00","updated_at":"2025-12-07T19:56:45.433884-08:00","closed_at":"2025-12-07T19:56:45.433884-08:00"}
1501
+ {"id":"opencode-swarm-plugin-o5dqr","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T18:18:34.047956-08:00","updated_at":"2025-12-13T18:18:37.846259-08:00","closed_at":"2025-12-13T18:18:37.846259-08:00"}
1364
1502
  {"id":"opencode-swarm-plugin-o6o4","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.065379-08:00","updated_at":"2025-12-08T07:46:51.708595-08:00","closed_at":"2025-12-08T07:46:51.708595-08:00"}
1365
1503
  {"id":"opencode-swarm-plugin-o6s","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:39:18.006147-08:00","updated_at":"2025-12-07T19:39:20.281664-08:00","closed_at":"2025-12-07T19:39:20.281664-08:00"}
1366
1504
  {"id":"opencode-swarm-plugin-o7ab8","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:57.123784-08:00","updated_at":"2025-12-08T11:12:58.860702-08:00","closed_at":"2025-12-08T11:12:58.860702-08:00"}
@@ -1390,10 +1528,12 @@
1390
1528
  {"id":"opencode-swarm-plugin-omr6","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:14:29.079665-08:00","updated_at":"2025-12-08T08:14:31.260584-08:00","closed_at":"2025-12-08T08:14:31.260584-08:00"}
1391
1529
  {"id":"opencode-swarm-plugin-on7a4","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:41.125177-08:00","updated_at":"2025-12-13T14:48:45.06171-08:00","closed_at":"2025-12-13T14:48:45.06171-08:00"}
1392
1530
  {"id":"opencode-swarm-plugin-ongog","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:42.483364-08:00","updated_at":"2025-12-13T11:18:46.348908-08:00","closed_at":"2025-12-13T11:18:46.348908-08:00"}
1531
+ {"id":"opencode-swarm-plugin-onq1t","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:18:35.171224-08:00","updated_at":"2025-12-13T18:18:38.392681-08:00","closed_at":"2025-12-13T18:18:38.392681-08:00"}
1393
1532
  {"id":"opencode-swarm-plugin-ons9","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.698832-08:00","updated_at":"2025-12-07T19:41:14.180153-08:00","closed_at":"2025-12-07T19:41:14.180153-08:00"}
1394
1533
  {"id":"opencode-swarm-plugin-oog0","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.262211-08:00","updated_at":"2025-12-08T11:11:10.036821-08:00","closed_at":"2025-12-08T11:11:10.036821-08:00"}
1395
1534
  {"id":"opencode-swarm-plugin-oor1l","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-10T09:07:21.742108-08:00","updated_at":"2025-12-10T09:07:25.38537-08:00","closed_at":"2025-12-10T09:07:25.38537-08:00"}
1396
1535
  {"id":"opencode-swarm-plugin-opjh","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.420345-08:00","updated_at":"2025-12-08T11:11:25.782158-08:00","closed_at":"2025-12-08T11:11:25.782158-08:00"}
1536
+ {"id":"opencode-swarm-plugin-opn0k","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.123349-08:00","updated_at":"2025-12-14T13:58:55.422024-08:00","closed_at":"2025-12-14T13:58:55.422024-08:00"}
1397
1537
  {"id":"opencode-swarm-plugin-osjw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.65254-08:00","updated_at":"2025-12-08T11:11:10.21755-08:00","closed_at":"2025-12-08T11:11:10.21755-08:00"}
1398
1538
  {"id":"opencode-swarm-plugin-otl2","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T08:22:16.488559-08:00","updated_at":"2025-12-08T08:22:19.084348-08:00","closed_at":"2025-12-08T08:22:19.084348-08:00"}
1399
1539
  {"id":"opencode-swarm-plugin-owkcr","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:08.073749-08:00","updated_at":"2025-12-10T09:06:10.8399-08:00","closed_at":"2025-12-10T09:06:10.8399-08:00"}
@@ -1419,6 +1559,10 @@
1419
1559
  {"id":"opencode-swarm-plugin-p80f4","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T09:07:23.618353-08:00","updated_at":"2025-12-10T09:07:26.264352-08:00","closed_at":"2025-12-10T09:07:26.264352-08:00"}
1420
1560
  {"id":"opencode-swarm-plugin-p80f4.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:23.670829-08:00","updated_at":"2025-12-10T09:07:26.29912-08:00","closed_at":"2025-12-10T09:07:26.29912-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p80f4.1","depends_on_id":"opencode-swarm-plugin-p80f4","type":"parent-child","created_at":"2025-12-10T09:07:23.672656-08:00","created_by":"daemon"}]}
1421
1561
  {"id":"opencode-swarm-plugin-p80f4.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:23.718235-08:00","updated_at":"2025-12-10T09:07:26.337894-08:00","closed_at":"2025-12-10T09:07:26.337894-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p80f4.2","depends_on_id":"opencode-swarm-plugin-p80f4","type":"parent-child","created_at":"2025-12-10T09:07:23.71982-08:00","created_by":"daemon"}]}
1562
+ {"id":"opencode-swarm-plugin-p843x","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:35.826162-08:00","updated_at":"2025-12-13T18:18:38.540185-08:00","closed_at":"2025-12-13T18:18:38.540185-08:00"}
1563
+ {"id":"opencode-swarm-plugin-p843x.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.874629-08:00","updated_at":"2025-12-13T18:18:38.578087-08:00","closed_at":"2025-12-13T18:18:38.578087-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p843x.1","depends_on_id":"opencode-swarm-plugin-p843x","type":"parent-child","created_at":"2025-12-13T18:18:35.875654-08:00","created_by":"daemon"}]}
1564
+ {"id":"opencode-swarm-plugin-p843x.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-13T18:18:35.931722-08:00","updated_at":"2025-12-13T18:18:38.615786-08:00","closed_at":"2025-12-13T18:18:38.615786-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p843x.2","depends_on_id":"opencode-swarm-plugin-p843x","type":"parent-child","created_at":"2025-12-13T18:18:35.933088-08:00","created_by":"daemon"}]}
1565
+ {"id":"opencode-swarm-plugin-p843x.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T18:18:35.979182-08:00","updated_at":"2025-12-13T18:18:38.652301-08:00","closed_at":"2025-12-13T18:18:38.652301-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-p843x.3","depends_on_id":"opencode-swarm-plugin-p843x","type":"parent-child","created_at":"2025-12-13T18:18:35.982093-08:00","created_by":"daemon"}]}
1422
1566
  {"id":"opencode-swarm-plugin-p9oz","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.959102-08:00","updated_at":"2025-12-08T08:14:31.213231-08:00","closed_at":"2025-12-08T08:14:31.213231-08:00"}
1423
1567
  {"id":"opencode-swarm-plugin-pak9","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:30.168986-08:00","updated_at":"2025-12-07T19:39:31.738313-08:00","closed_at":"2025-12-07T19:39:31.738313-08:00"}
1424
1568
  {"id":"opencode-swarm-plugin-pak9.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:30.199641-08:00","updated_at":"2025-12-07T19:39:31.761417-08:00","closed_at":"2025-12-07T19:39:31.761417-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pak9.1","depends_on_id":"opencode-swarm-plugin-pak9","type":"parent-child","created_at":"2025-12-07T19:39:30.199936-08:00","created_by":"daemon"}]}
@@ -1435,6 +1579,7 @@
1435
1579
  {"id":"opencode-swarm-plugin-peo7","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.695367-08:00","updated_at":"2025-12-08T08:36:19.242793-08:00","closed_at":"2025-12-08T08:36:19.242793-08:00"}
1436
1580
  {"id":"opencode-swarm-plugin-pf4w","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.621529-08:00","updated_at":"2025-12-07T19:56:44.781463-08:00","closed_at":"2025-12-07T19:56:44.781463-08:00"}
1437
1581
  {"id":"opencode-swarm-plugin-phkfw","title":"Gap: No fallback if PGLite initialization fails","description":"src/streams/index.ts:58-78 \u0026 agent-mail.ts - If PGLite fails to initialize (corrupted DB, disk issues), entire agent-mail system is unusable. No graceful degradation or in-memory fallback. Should: detect init failure, offer in-memory mode for session, log clear error with recovery instructions, or provide \"rebuild database\" option. Critical for production reliability.","status":"closed","priority":1,"issue_type":"chore","created_at":"2025-12-13T09:25:03.421024-08:00","updated_at":"2025-12-13T09:34:08.051882-08:00","closed_at":"2025-12-13T09:34:08.051882-08:00"}
1582
+ {"id":"opencode-swarm-plugin-pjdb5","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T09:30:19.218747-08:00","updated_at":"2025-12-14T09:30:23.365488-08:00","closed_at":"2025-12-14T09:30:23.365488-08:00"}
1438
1583
  {"id":"opencode-swarm-plugin-pjxoi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:55.464236-08:00","updated_at":"2025-12-08T11:12:58.034865-08:00","closed_at":"2025-12-08T11:12:58.034865-08:00"}
1439
1584
  {"id":"opencode-swarm-plugin-pk6","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:37:35.135647-08:00","updated_at":"2025-12-07T19:37:36.645175-08:00","closed_at":"2025-12-07T19:37:36.645175-08:00"}
1440
1585
  {"id":"opencode-swarm-plugin-pk6.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.163639-08:00","updated_at":"2025-12-07T19:37:36.666257-08:00","closed_at":"2025-12-07T19:37:36.666257-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pk6.1","depends_on_id":"opencode-swarm-plugin-pk6","type":"parent-child","created_at":"2025-12-07T19:37:35.163919-08:00","created_by":"daemon"}]}
@@ -1455,8 +1600,13 @@
1455
1600
  {"id":"opencode-swarm-plugin-psfm3","title":"swarm.ts:1710-1725 - Critical bug blocking silently continues on parse error","description":"swarm.ts:1710-1725 - swarm_complete catches Zod parse errors on evaluation but doesn't block completion for critical issues beyond evaluation. If UBS returns parse errors, they're ignored. Suggested fix: Block completion on UBS parse errors too.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:35.874785-08:00","updated_at":"2025-12-10T11:56:12.284646-08:00","closed_at":"2025-12-10T11:56:12.284646-08:00"}
1456
1601
  {"id":"opencode-swarm-plugin-psm","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:19.273159-08:00","updated_at":"2025-12-07T19:39:20.860341-08:00","closed_at":"2025-12-07T19:39:20.860341-08:00"}
1457
1602
  {"id":"opencode-swarm-plugin-pvw","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.123613-08:00","updated_at":"2025-12-07T19:39:20.346988-08:00","closed_at":"2025-12-07T19:39:20.346988-08:00"}
1603
+ {"id":"opencode-swarm-plugin-pwkbp","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.92352-08:00","updated_at":"2025-12-13T18:18:38.282103-08:00","closed_at":"2025-12-13T18:18:38.282103-08:00"}
1458
1604
  {"id":"opencode-swarm-plugin-pwwfa","title":"Add TDD section to AGENTS.md with lore from prime knowledge","description":"Added TDD as default development approach with RED-GREEN-REFACTOR. Includes lore from Kent Beck, Michael Feathers, and Ousterhout counterpoint about when TDD can lead to tactical programming.","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T09:07:58.982391-08:00","updated_at":"2025-12-13T09:08:02.759949-08:00","closed_at":"2025-12-13T09:08:02.759949-08:00"}
1459
1605
  {"id":"opencode-swarm-plugin-px38","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.475528-08:00","updated_at":"2025-12-08T09:09:33.937467-08:00","closed_at":"2025-12-08T09:09:33.937467-08:00"}
1606
+ {"id":"opencode-swarm-plugin-pz2k5","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:52.169574-08:00","updated_at":"2025-12-14T13:58:55.700532-08:00","closed_at":"2025-12-14T13:58:55.700532-08:00"}
1607
+ {"id":"opencode-swarm-plugin-pz2k5.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.228308-08:00","updated_at":"2025-12-14T13:58:55.747529-08:00","closed_at":"2025-12-14T13:58:55.747529-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pz2k5.1","depends_on_id":"opencode-swarm-plugin-pz2k5","type":"parent-child","created_at":"2025-12-14T13:58:52.229024-08:00","created_by":"daemon"}]}
1608
+ {"id":"opencode-swarm-plugin-pz2k5.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-14T13:58:52.280483-08:00","updated_at":"2025-12-14T13:58:55.79651-08:00","closed_at":"2025-12-14T13:58:55.79651-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pz2k5.2","depends_on_id":"opencode-swarm-plugin-pz2k5","type":"parent-child","created_at":"2025-12-14T13:58:52.281527-08:00","created_by":"daemon"}]}
1609
+ {"id":"opencode-swarm-plugin-pz2k5.3","title":"Subtask 3","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T13:58:52.330275-08:00","updated_at":"2025-12-14T13:58:55.839869-08:00","closed_at":"2025-12-14T13:58:55.839869-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-pz2k5.3","depends_on_id":"opencode-swarm-plugin-pz2k5","type":"parent-child","created_at":"2025-12-14T13:58:52.331087-08:00","created_by":"daemon"}]}
1460
1610
  {"id":"opencode-swarm-plugin-pzj6","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.916664-08:00","updated_at":"2025-12-07T19:57:08.239624-08:00","closed_at":"2025-12-07T19:57:08.239624-08:00"}
1461
1611
  {"id":"opencode-swarm-plugin-q05b","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:28.495416-08:00","updated_at":"2025-12-08T08:14:30.963712-08:00","closed_at":"2025-12-08T08:14:30.963712-08:00"}
1462
1612
  {"id":"opencode-swarm-plugin-q0yh","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.306014-08:00","updated_at":"2025-12-08T11:11:08.331423-08:00","closed_at":"2025-12-08T11:11:08.331423-08:00"}
@@ -1501,10 +1651,16 @@
1501
1651
  {"id":"opencode-swarm-plugin-qpa0","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:43.832175-08:00","updated_at":"2025-12-08T07:53:46.263135-08:00","closed_at":"2025-12-08T07:53:46.263135-08:00"}
1502
1652
  {"id":"opencode-swarm-plugin-qtl0y","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T14:48:40.317918-08:00","updated_at":"2025-12-13T14:48:44.624735-08:00","closed_at":"2025-12-13T14:48:44.624735-08:00"}
1503
1653
  {"id":"opencode-swarm-plugin-qutq","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:14:28.460611-08:00","updated_at":"2025-12-08T08:14:30.937119-08:00","closed_at":"2025-12-08T08:14:30.937119-08:00"}
1654
+ {"id":"opencode-swarm-plugin-qw7h4","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.06859-08:00","updated_at":"2025-12-13T18:16:34.020222-08:00","closed_at":"2025-12-13T18:16:34.020222-08:00"}
1504
1655
  {"id":"opencode-swarm-plugin-qwe","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:36:06.794509-08:00","updated_at":"2025-12-07T19:36:08.762615-08:00","closed_at":"2025-12-07T19:36:08.762615-08:00"}
1505
1656
  {"id":"opencode-swarm-plugin-qxbap","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:40.697194-08:00","updated_at":"2025-12-13T14:48:44.79472-08:00","closed_at":"2025-12-13T14:48:44.79472-08:00"}
1506
1657
  {"id":"opencode-swarm-plugin-qxtq","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.757904-08:00","updated_at":"2025-12-08T08:36:19.291277-08:00","closed_at":"2025-12-08T08:36:19.291277-08:00"}
1507
1658
  {"id":"opencode-swarm-plugin-qzg5","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:11.005599-08:00","updated_at":"2025-12-08T07:49:12.748038-08:00","closed_at":"2025-12-08T07:49:12.748038-08:00"}
1659
+ {"id":"opencode-swarm-plugin-qzqdv","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:52.655913-08:00","updated_at":"2025-12-14T13:58:56.14013-08:00","closed_at":"2025-12-14T13:58:56.14013-08:00"}
1660
+ {"id":"opencode-swarm-plugin-qzqdv.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.857867-08:00","updated_at":"2025-12-14T13:58:56.183447-08:00","closed_at":"2025-12-14T13:58:56.183447-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qzqdv.1","depends_on_id":"opencode-swarm-plugin-qzqdv","type":"parent-child","created_at":"2025-12-14T13:58:52.858814-08:00","created_by":"daemon"}]}
1661
+ {"id":"opencode-swarm-plugin-qzqdv.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:52.970422-08:00","updated_at":"2025-12-14T13:58:56.236043-08:00","closed_at":"2025-12-14T13:58:56.236043-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qzqdv.2","depends_on_id":"opencode-swarm-plugin-qzqdv","type":"parent-child","created_at":"2025-12-14T13:58:52.971156-08:00","created_by":"daemon"}]}
1662
+ {"id":"opencode-swarm-plugin-qzqdv.3","title":"Third","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.027951-08:00","updated_at":"2025-12-14T13:58:56.294449-08:00","closed_at":"2025-12-14T13:58:56.294449-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qzqdv.3","depends_on_id":"opencode-swarm-plugin-qzqdv","type":"parent-child","created_at":"2025-12-14T13:58:53.028614-08:00","created_by":"daemon"}]}
1663
+ {"id":"opencode-swarm-plugin-qzqdv.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:53.076883-08:00","updated_at":"2025-12-14T13:58:56.335561-08:00","closed_at":"2025-12-14T13:58:56.335561-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qzqdv.4","depends_on_id":"opencode-swarm-plugin-qzqdv","type":"parent-child","created_at":"2025-12-14T13:58:53.077517-08:00","created_by":"daemon"}]}
1508
1664
  {"id":"opencode-swarm-plugin-r2jp","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.615478-08:00","updated_at":"2025-12-08T11:11:25.857526-08:00","closed_at":"2025-12-08T11:11:25.857526-08:00"}
1509
1665
  {"id":"opencode-swarm-plugin-r4u7","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T07:49:09.900669-08:00","updated_at":"2025-12-08T07:49:12.224173-08:00","closed_at":"2025-12-08T07:49:12.224173-08:00"}
1510
1666
  {"id":"opencode-swarm-plugin-r4ur","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:39.607208-08:00","updated_at":"2025-12-08T11:11:41.437562-08:00","closed_at":"2025-12-08T11:11:41.437562-08:00"}
@@ -1525,6 +1681,7 @@
1525
1681
  {"id":"opencode-swarm-plugin-r92p","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.769539-08:00","updated_at":"2025-12-07T19:56:44.896509-08:00","closed_at":"2025-12-07T19:56:44.896509-08:00"}
1526
1682
  {"id":"opencode-swarm-plugin-r98c","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T08:14:29.141593-08:00","updated_at":"2025-12-08T08:14:31.283727-08:00","closed_at":"2025-12-08T08:14:31.283727-08:00"}
1527
1683
  {"id":"opencode-swarm-plugin-ra7e8","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:42.787654-08:00","updated_at":"2025-12-08T11:12:44.360438-08:00","closed_at":"2025-12-08T11:12:44.360438-08:00"}
1684
+ {"id":"opencode-swarm-plugin-rbaud","title":"Inline Swarm Mail architecture into README","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T14:48:15.768044-08:00","updated_at":"2025-12-14T14:49:13.602901-08:00","closed_at":"2025-12-14T14:49:13.602901-08:00"}
1528
1685
  {"id":"opencode-swarm-plugin-rbi7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:52.974317-08:00","updated_at":"2025-12-08T11:10:55.610719-08:00","closed_at":"2025-12-08T11:10:55.610719-08:00"}
1529
1686
  {"id":"opencode-swarm-plugin-rcin","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T07:49:10.311118-08:00","updated_at":"2025-12-08T07:49:12.327386-08:00","closed_at":"2025-12-08T07:49:12.327386-08:00"}
1530
1687
  {"id":"opencode-swarm-plugin-rclb","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.938269-08:00","updated_at":"2025-12-08T11:11:08.963749-08:00","closed_at":"2025-12-08T11:11:08.963749-08:00"}
@@ -1550,6 +1707,7 @@
1550
1707
  {"id":"opencode-swarm-plugin-ryzv","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:43.146246-08:00","updated_at":"2025-12-07T19:56:43.167763-08:00","closed_at":"2025-12-07T19:56:43.167763-08:00"}
1551
1708
  {"id":"opencode-swarm-plugin-s0ah","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.991261-08:00","updated_at":"2025-12-08T08:25:12.921305-08:00","closed_at":"2025-12-08T08:25:12.921305-08:00"}
1552
1709
  {"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"}
1710
+ {"id":"opencode-swarm-plugin-s3hyt","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.195853-08:00","updated_at":"2025-12-14T13:58:54.977402-08:00","closed_at":"2025-12-14T13:58:54.977402-08:00"}
1553
1711
  {"id":"opencode-swarm-plugin-s4xfg","title":"Simplify errorBullets initialization in StructuredValidationError","description":"src/structured.ts:47 - `this.errorBullets = zodError ? formatZodErrors(zodError) : [message];` could use nullish coalescing for clarity: `this.errorBullets = zodError ? formatZodErrors(zodError) : [message];` (no change needed, but could assign in constructor params for cleaner code)","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:39.878643-08:00","updated_at":"2025-12-13T16:45:43.398628-08:00","closed_at":"2025-12-13T16:45:43.398628-08:00"}
1554
1712
  {"id":"opencode-swarm-plugin-s5eh","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.355512-08:00","updated_at":"2025-12-07T19:57:08.933805-08:00","closed_at":"2025-12-07T19:57:08.933805-08:00"}
1555
1713
  {"id":"opencode-swarm-plugin-s5nu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:48.728004-08:00","updated_at":"2025-12-08T07:46:51.543929-08:00","closed_at":"2025-12-08T07:46:51.543929-08:00"}
@@ -1561,8 +1719,14 @@
1561
1719
  {"id":"opencode-swarm-plugin-s9w5","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T07:53:43.536704-08:00","updated_at":"2025-12-08T07:53:46.115732-08:00","closed_at":"2025-12-08T07:53:46.115732-08:00"}
1562
1720
  {"id":"opencode-swarm-plugin-saif","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:49:09.962714-08:00","updated_at":"2025-12-08T07:49:12.249883-08:00","closed_at":"2025-12-08T07:49:12.249883-08:00"}
1563
1721
  {"id":"opencode-swarm-plugin-satc","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.690909-08:00","updated_at":"2025-12-08T11:11:10.242801-08:00","closed_at":"2025-12-08T11:11:10.242801-08:00"}
1722
+ {"id":"opencode-swarm-plugin-sd9ev","title":"MCP Output Guardrails + Evalite Integration","description":"Add context protection via tool output interception and quality evaluation framework using Evalite","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T17:53:20.125833-08:00","updated_at":"2025-12-13T18:01:50.731899-08:00","closed_at":"2025-12-13T18:01:50.731899-08:00"}
1723
+ {"id":"opencode-swarm-plugin-sd9ev.1","title":"Implement output-guardrails.ts module","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T17:53:20.183296-08:00","updated_at":"2025-12-13T18:00:10.410723-08:00","closed_at":"2025-12-13T18:00:10.410723-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sd9ev.1","depends_on_id":"opencode-swarm-plugin-sd9ev","type":"parent-child","created_at":"2025-12-13T17:53:20.184446-08:00","created_by":"daemon"}]}
1724
+ {"id":"opencode-swarm-plugin-sd9ev.2","title":"Integrate guardrails into plugin hook","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T17:53:20.240057-08:00","updated_at":"2025-12-13T18:00:05.172185-08:00","closed_at":"2025-12-13T18:00:05.172185-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sd9ev.2","depends_on_id":"opencode-swarm-plugin-sd9ev","type":"parent-child","created_at":"2025-12-13T17:53:20.241272-08:00","created_by":"daemon"}]}
1725
+ {"id":"opencode-swarm-plugin-sd9ev.3","title":"Set up Evalite infrastructure","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T17:53:20.293998-08:00","updated_at":"2025-12-13T18:00:11.418403-08:00","closed_at":"2025-12-13T18:00:11.418403-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sd9ev.3","depends_on_id":"opencode-swarm-plugin-sd9ev","type":"parent-child","created_at":"2025-12-13T17:53:20.294691-08:00","created_by":"daemon"}]}
1726
+ {"id":"opencode-swarm-plugin-sd9ev.4","title":"Create swarm decomposition eval","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T17:53:20.346751-08:00","updated_at":"2025-12-13T18:01:49.491638-08:00","closed_at":"2025-12-13T18:01:49.491638-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sd9ev.4","depends_on_id":"opencode-swarm-plugin-sd9ev","type":"parent-child","created_at":"2025-12-13T17:53:20.348143-08:00","created_by":"daemon"}]}
1564
1727
  {"id":"opencode-swarm-plugin-sdb4r","title":"agent-mail.ts:380-398 - Missing cleanup after process spawn","description":"agent-mail.ts:380-398 - restartServer() spawns processes but doesn't track them for cleanup. If kill commands fail or processes don't respond, orphaned processes accumulate. Suggested fix: Store PIDs and add cleanup handler.","status":"closed","priority":2,"issue_type":"bug","created_at":"2025-12-10T09:06:03.389992-08:00","updated_at":"2025-12-13T08:52:56.497517-08:00","closed_at":"2025-12-13T08:52:56.497517-08:00"}
1565
1728
  {"id":"opencode-swarm-plugin-sf0l","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.600521-08:00","updated_at":"2025-12-08T07:49:12.09398-08:00","closed_at":"2025-12-08T07:49:12.09398-08:00"}
1729
+ {"id":"opencode-swarm-plugin-sfkxg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.141504-08:00","updated_at":"2025-12-13T18:18:37.919868-08:00","closed_at":"2025-12-13T18:18:37.919868-08:00"}
1566
1730
  {"id":"opencode-swarm-plugin-sfqn","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:41:12.151388-08:00","updated_at":"2025-12-07T19:41:13.97239-08:00","closed_at":"2025-12-07T19:41:13.97239-08:00"}
1567
1731
  {"id":"opencode-swarm-plugin-sfqn.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.186663-08:00","updated_at":"2025-12-07T19:41:13.997277-08:00","closed_at":"2025-12-07T19:41:13.997277-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sfqn.1","depends_on_id":"opencode-swarm-plugin-sfqn","type":"parent-child","created_at":"2025-12-07T19:41:12.186976-08:00","created_by":"daemon"}]}
1568
1732
  {"id":"opencode-swarm-plugin-sfqn.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:41:12.224852-08:00","updated_at":"2025-12-07T19:41:14.021244-08:00","closed_at":"2025-12-07T19:41:14.021244-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sfqn.2","depends_on_id":"opencode-swarm-plugin-sfqn","type":"parent-child","created_at":"2025-12-07T19:41:12.225222-08:00","created_by":"daemon"}]}
@@ -1585,6 +1749,13 @@
1585
1749
  {"id":"opencode-swarm-plugin-snyxj.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:45.34182-08:00","updated_at":"2025-12-13T11:18:45.510728-08:00","closed_at":"2025-12-13T11:18:45.510728-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-snyxj.2","depends_on_id":"opencode-swarm-plugin-snyxj","type":"parent-child","created_at":"2025-12-13T11:18:45.343303-08:00","created_by":"daemon"}]}
1586
1750
  {"id":"opencode-swarm-plugin-spr1z","title":"Gap: No error handling in getDatabase initialization","description":"src/streams/index.ts:58-78 - getDatabase() has no try/catch around PGLite instantiation or schema initialization. If PGLite fails to initialize (e.g., disk full, permissions issue), the error will propagate uncaught. Should wrap in try/catch and provide graceful degradation or clear error message. Consider: retry logic, fallback to in-memory mode, or circuit breaker pattern.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:24:44.317017-08:00","updated_at":"2025-12-13T09:55:52.136578-08:00","closed_at":"2025-12-13T09:55:52.136578-08:00"}
1587
1751
  {"id":"opencode-swarm-plugin-sr7t","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:41:11.327659-08:00","updated_at":"2025-12-07T19:41:13.622857-08:00","closed_at":"2025-12-07T19:41:13.622857-08:00"}
1752
+ {"id":"opencode-swarm-plugin-ss6em","title":"Eval Data Capture \u0026 Outcome-Based Scoring","description":"Wire real swarm execution data into evals. Add event capture to durable streams, outcome-based scorers, and PGlite-backed eval data loader. Make swarm-mail default for agents.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:00:23.215537-08:00","updated_at":"2025-12-14T09:32:11.570116-08:00","closed_at":"2025-12-14T09:32:11.570116-08:00"}
1753
+ {"id":"opencode-swarm-plugin-ss6em.1","title":"Add eval capture events to durable streams","description":"✅ Added 3 new eval capture event types to AgentEvent discriminated union:\n- DecompositionGeneratedEvent (captures task, context, strategy, epic_title, subtasks array)\n- SubtaskOutcomeEvent (captures planned_files, actual_files, duration_ms, error_count, retry_count, success)\n- HumanFeedbackEvent (captures accepted, modified, notes)\n\nAll schemas follow existing patterns with Zod validation.\nAdded comprehensive tests covering:\n- Complete event validation\n- Default value handling\n- Enum/bounds validation\n- Edge cases\n\nTypeScript: ✓ No errors\nTests: ✓ 230 pass (all existing + 15 new tests for eval events)","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.27377-08:00","updated_at":"2025-12-14T09:12:34.904686-08:00","closed_at":"2025-12-14T09:12:34.904686-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.1","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.275265-08:00","created_by":"daemon"}]}
1754
+ {"id":"opencode-swarm-plugin-ss6em.2","title":"Create eval_records projection and materialized view","description":"Completed implementation:\n- Added migration v3 for eval_records table\n- Added event handlers for decomposition_generated, subtask_outcome, human_feedback\n- Implemented metric computation (file overlap, scope accuracy, time balance ratio)\n- Added query functions getEvalRecords() and getEvalStats()\n- All typechecks pass","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.327955-08:00","updated_at":"2025-12-14T09:19:31.685729-08:00","closed_at":"2025-12-14T09:19:31.685729-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.2","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.328686-08:00","created_by":"daemon"}]}
1755
+ {"id":"opencode-swarm-plugin-ss6em.3","title":"Add outcome-based scorers for Evalite","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.390475-08:00","updated_at":"2025-12-14T09:12:36.250094-08:00","closed_at":"2025-12-14T09:12:36.250094-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.3","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.391549-08:00","created_by":"daemon"}]}
1756
+ {"id":"opencode-swarm-plugin-ss6em.4","title":"Create PGlite-backed eval data loader","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.445093-08:00","updated_at":"2025-12-14T09:29:01.126814-08:00","closed_at":"2025-12-14T09:29:01.126814-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.4","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.446598-08:00","created_by":"daemon"}]}
1757
+ {"id":"opencode-swarm-plugin-ss6em.5","title":"Wire eval capture into swarm tools","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:00:23.496255-08:00","updated_at":"2025-12-14T09:19:30.723371-08:00","closed_at":"2025-12-14T09:19:30.723371-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.5","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.497591-08:00","created_by":"daemon"}]}
1758
+ {"id":"opencode-swarm-plugin-ss6em.6","title":"Make swarm-mail initialization default for agents","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:00:23.556716-08:00","updated_at":"2025-12-14T09:12:37.331677-08:00","closed_at":"2025-12-14T09:12:37.331677-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ss6em.6","depends_on_id":"opencode-swarm-plugin-ss6em","type":"parent-child","created_at":"2025-12-14T09:00:23.55747-08:00","created_by":"daemon"}]}
1588
1759
  {"id":"opencode-swarm-plugin-sskwh","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T09:06:07.593264-08:00","updated_at":"2025-12-10T09:06:10.473765-08:00","closed_at":"2025-12-10T09:06:10.473765-08:00"}
1589
1760
  {"id":"opencode-swarm-plugin-sskwh.1","title":"Edit src/a.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:07.646775-08:00","updated_at":"2025-12-10T09:06:10.512362-08:00","closed_at":"2025-12-10T09:06:10.512362-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sskwh.1","depends_on_id":"opencode-swarm-plugin-sskwh","type":"parent-child","created_at":"2025-12-10T09:06:07.648289-08:00","created_by":"daemon"}]}
1590
1761
  {"id":"opencode-swarm-plugin-sskwh.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:07.694607-08:00","updated_at":"2025-12-10T09:06:10.548911-08:00","closed_at":"2025-12-10T09:06:10.548911-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-sskwh.2","depends_on_id":"opencode-swarm-plugin-sskwh","type":"parent-child","created_at":"2025-12-10T09:06:07.695769-08:00","created_by":"daemon"}]}
@@ -1597,6 +1768,7 @@
1597
1768
  {"id":"opencode-swarm-plugin-sxn","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:09.756103-08:00","updated_at":"2025-12-07T19:39:11.854315-08:00","closed_at":"2025-12-07T19:39:11.854315-08:00"}
1598
1769
  {"id":"opencode-swarm-plugin-syjs","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:53:44.867728-08:00","updated_at":"2025-12-08T07:53:46.727858-08:00","closed_at":"2025-12-08T07:53:46.727858-08:00"}
1599
1770
  {"id":"opencode-swarm-plugin-syjs.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.934935-08:00","updated_at":"2025-12-08T07:53:46.779726-08:00","closed_at":"2025-12-08T07:53:46.779726-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-syjs.2","depends_on_id":"opencode-swarm-plugin-syjs","type":"parent-child","created_at":"2025-12-08T07:53:44.935372-08:00","created_by":"daemon"}]}
1771
+ {"id":"opencode-swarm-plugin-syl2x","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:18.49503-08:00","updated_at":"2025-12-14T09:30:22.965724-08:00","closed_at":"2025-12-14T09:30:22.965724-08:00"}
1600
1772
  {"id":"opencode-swarm-plugin-syw4w","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:12:56.86688-08:00","updated_at":"2025-12-08T11:12:58.707358-08:00","closed_at":"2025-12-08T11:12:58.707358-08:00"}
1601
1773
  {"id":"opencode-swarm-plugin-syw4w.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.89878-08:00","updated_at":"2025-12-08T11:12:58.734794-08:00","closed_at":"2025-12-08T11:12:58.734794-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-syw4w.1","depends_on_id":"opencode-swarm-plugin-syw4w","type":"parent-child","created_at":"2025-12-08T11:12:56.899055-08:00","created_by":"daemon"}]}
1602
1774
  {"id":"opencode-swarm-plugin-syw4w.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.928924-08:00","updated_at":"2025-12-08T11:12:58.762197-08:00","closed_at":"2025-12-08T11:12:58.762197-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-syw4w.2","depends_on_id":"opencode-swarm-plugin-syw4w","type":"parent-child","created_at":"2025-12-08T11:12:56.929225-08:00","created_by":"daemon"}]}
@@ -1605,6 +1777,7 @@
1605
1777
  {"id":"opencode-swarm-plugin-t0g","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:11.44067-08:00","updated_at":"2025-12-07T19:39:11.60743-08:00","closed_at":"2025-12-07T19:39:11.60743-08:00"}
1606
1778
  {"id":"opencode-swarm-plugin-t0g.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:11.468223-08:00","updated_at":"2025-12-07T19:39:11.541443-08:00","closed_at":"2025-12-07T19:39:11.541443-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-t0g.1","depends_on_id":"opencode-swarm-plugin-t0g","type":"parent-child","created_at":"2025-12-07T19:39:11.468521-08:00","created_by":"daemon"}]}
1607
1779
  {"id":"opencode-swarm-plugin-t0g.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:11.496868-08:00","updated_at":"2025-12-07T19:39:11.58521-08:00","closed_at":"2025-12-07T19:39:11.58521-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-t0g.2","depends_on_id":"opencode-swarm-plugin-t0g","type":"parent-child","created_at":"2025-12-07T19:39:11.49712-08:00","created_by":"daemon"}]}
1780
+ {"id":"opencode-swarm-plugin-t1tjj","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T09:30:19.997583-08:00","updated_at":"2025-12-14T09:30:23.561322-08:00","closed_at":"2025-12-14T09:30:23.561322-08:00"}
1608
1781
  {"id":"opencode-swarm-plugin-t52c","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:57:06.367147-08:00","updated_at":"2025-12-07T19:57:08.483841-08:00","closed_at":"2025-12-07T19:57:08.483841-08:00"}
1609
1782
  {"id":"opencode-swarm-plugin-t5oc9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:41.581841-08:00","updated_at":"2025-12-13T11:18:45.906988-08:00","closed_at":"2025-12-13T11:18:45.906988-08:00"}
1610
1783
  {"id":"opencode-swarm-plugin-t5p7","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.143856-08:00","updated_at":"2025-12-07T19:57:08.387342-08:00","closed_at":"2025-12-07T19:57:08.387342-08:00"}
@@ -1640,6 +1813,7 @@
1640
1813
  {"id":"opencode-swarm-plugin-tnz9","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:24.885382-08:00","updated_at":"2025-12-08T11:11:25.083688-08:00","closed_at":"2025-12-08T11:11:25.083688-08:00"}
1641
1814
  {"id":"opencode-swarm-plugin-tnz9.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.920391-08:00","updated_at":"2025-12-08T11:11:25.008828-08:00","closed_at":"2025-12-08T11:11:25.008828-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-tnz9.1","depends_on_id":"opencode-swarm-plugin-tnz9","type":"parent-child","created_at":"2025-12-08T11:11:24.920745-08:00","created_by":"daemon"}]}
1642
1815
  {"id":"opencode-swarm-plugin-tnz9.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.956371-08:00","updated_at":"2025-12-08T11:11:25.059063-08:00","closed_at":"2025-12-08T11:11:25.059063-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-tnz9.2","depends_on_id":"opencode-swarm-plugin-tnz9","type":"parent-child","created_at":"2025-12-08T11:11:24.956743-08:00","created_by":"daemon"}]}
1816
+ {"id":"opencode-swarm-plugin-to2ui","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T13:58:52.031043-08:00","updated_at":"2025-12-14T13:58:55.652452-08:00","closed_at":"2025-12-14T13:58:55.652452-08:00"}
1643
1817
  {"id":"opencode-swarm-plugin-tpem","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.229302-08:00","updated_at":"2025-12-08T08:21:29.926869-08:00","closed_at":"2025-12-08T08:21:29.926869-08:00"}
1644
1818
  {"id":"opencode-swarm-plugin-tqbww","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T14:48:43.978217-08:00","updated_at":"2025-12-13T14:48:44.314847-08:00","closed_at":"2025-12-13T14:48:44.314847-08:00"}
1645
1819
  {"id":"opencode-swarm-plugin-tqbww.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T14:48:44.031769-08:00","updated_at":"2025-12-13T14:48:44.174383-08:00","closed_at":"2025-12-13T14:48:44.174383-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-tqbww.1","depends_on_id":"opencode-swarm-plugin-tqbww","type":"parent-child","created_at":"2025-12-13T14:48:44.032827-08:00","created_by":"daemon"}]}
@@ -1654,6 +1828,7 @@
1654
1828
  {"id":"opencode-swarm-plugin-ts1b","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.500016-08:00","updated_at":"2025-12-08T08:22:20.009621-08:00","closed_at":"2025-12-08T08:22:20.009621-08:00"}
1655
1829
  {"id":"opencode-swarm-plugin-ts3","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.362915-08:00","updated_at":"2025-12-07T19:39:20.482638-08:00","closed_at":"2025-12-07T19:39:20.482638-08:00"}
1656
1830
  {"id":"opencode-swarm-plugin-tuf","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-07T19:34:52.899792-08:00","updated_at":"2025-12-07T19:34:54.852639-08:00","closed_at":"2025-12-07T19:34:54.852639-08:00"}
1831
+ {"id":"opencode-swarm-plugin-tw5bn","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.595779-08:00","updated_at":"2025-12-13T18:18:38.137266-08:00","closed_at":"2025-12-13T18:18:38.137266-08:00"}
1657
1832
  {"id":"opencode-swarm-plugin-twoql","title":"Bug: Remove all agentmail references - replace with swarmmail","description":"## Problem\nCurrent version still has agentmail_init references that cause errors. We removed agentmail from exports in v0.14.0 but prompts/docs still reference it.\n\n## Task\nFind and replace ALL agentmail references with swarmmail equivalents:\n- agentmail_init → swarmmail_init\n- agentmail_send → swarmmail_send\n- agentmail_inbox → swarmmail_inbox\n- agentmail_read_message → swarmmail_read_message\n- agentmail_reserve → swarmmail_reserve\n- agentmail_release → swarmmail_release\n\n## Files to Check\n- src/swarm.ts (SUBTASK_PROMPT_V2 and other prompts)\n- examples/commands/*.md\n- global-skills/**/*.md\n- Any other prompt templates\n\n## Verification\nAfter fix: grep -r \"agentmail\" should return 0 results (except maybe comments explaining the migration)","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-13T14:18:28.580449-08:00","updated_at":"2025-12-13T14:21:45.26748-08:00","closed_at":"2025-12-13T14:21:45.26748-08:00"}
1658
1833
  {"id":"opencode-swarm-plugin-txep","title":"Epic with file references","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:11:40.264723-08:00","updated_at":"2025-12-08T08:11:42.28708-08:00","closed_at":"2025-12-08T08:11:42.28708-08:00"}
1659
1834
  {"id":"opencode-swarm-plugin-txep.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:40.329538-08:00","updated_at":"2025-12-08T08:11:42.337696-08:00","closed_at":"2025-12-08T08:11:42.337696-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-txep.2","depends_on_id":"opencode-swarm-plugin-txep","type":"parent-child","created_at":"2025-12-08T08:11:40.329857-08:00","created_by":"daemon"}]}
@@ -1669,6 +1844,7 @@
1669
1844
  {"id":"opencode-swarm-plugin-u11z.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:55.245648-08:00","updated_at":"2025-12-08T11:10:55.331822-08:00","closed_at":"2025-12-08T11:10:55.331822-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u11z.1","depends_on_id":"opencode-swarm-plugin-u11z","type":"parent-child","created_at":"2025-12-08T11:10:55.245978-08:00","created_by":"daemon"}]}
1670
1845
  {"id":"opencode-swarm-plugin-u11z.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:55.280239-08:00","updated_at":"2025-12-08T11:10:55.38192-08:00","closed_at":"2025-12-08T11:10:55.38192-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u11z.2","depends_on_id":"opencode-swarm-plugin-u11z","type":"parent-child","created_at":"2025-12-08T11:10:55.280541-08:00","created_by":"daemon"}]}
1671
1846
  {"id":"opencode-swarm-plugin-u1m9","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.804446-08:00","updated_at":"2025-12-08T11:11:10.316778-08:00","closed_at":"2025-12-08T11:11:10.316778-08:00"}
1847
+ {"id":"opencode-swarm-plugin-u203n","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.84164-08:00","updated_at":"2025-12-13T18:18:38.24816-08:00","closed_at":"2025-12-13T18:18:38.24816-08:00"}
1672
1848
  {"id":"opencode-swarm-plugin-u33l","title":"Ordered subtasks epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.971493-08:00","updated_at":"2025-12-08T09:09:33.730575-08:00","closed_at":"2025-12-08T09:09:33.730575-08:00"}
1673
1849
  {"id":"opencode-swarm-plugin-u33l.1","title":"First","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.002048-08:00","updated_at":"2025-12-08T09:09:33.755227-08:00","closed_at":"2025-12-08T09:09:33.755227-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u33l.1","depends_on_id":"opencode-swarm-plugin-u33l","type":"parent-child","created_at":"2025-12-08T09:09:32.002347-08:00","created_by":"daemon"}]}
1674
1850
  {"id":"opencode-swarm-plugin-u33l.2","title":"Second","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.034741-08:00","updated_at":"2025-12-08T09:09:33.780515-08:00","closed_at":"2025-12-08T09:09:33.780515-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u33l.2","depends_on_id":"opencode-swarm-plugin-u33l","type":"parent-child","created_at":"2025-12-08T09:09:32.035068-08:00","created_by":"daemon"}]}
@@ -1683,6 +1859,7 @@
1683
1859
  {"id":"opencode-swarm-plugin-u3q34.5","title":"Update tool-availability.ts and supporting modules","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T10:46:25.897832-08:00","updated_at":"2025-12-13T11:07:53.974396-08:00","closed_at":"2025-12-13T11:07:53.974396-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.5","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.898654-08:00","created_by":"daemon"}]}
1684
1860
  {"id":"opencode-swarm-plugin-u3q34.6","title":"Migrate tests from agent-mail to swarm-mail","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T10:46:25.947081-08:00","updated_at":"2025-12-13T11:07:54.960497-08:00","closed_at":"2025-12-13T11:07:54.960497-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-u3q34.6","depends_on_id":"opencode-swarm-plugin-u3q34","type":"parent-child","created_at":"2025-12-13T10:46:25.94776-08:00","created_by":"daemon"}]}
1685
1861
  {"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"}]}
1862
+ {"id":"opencode-swarm-plugin-u3wwo","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.449617-08:00","updated_at":"2025-12-14T13:58:55.056313-08:00","closed_at":"2025-12-14T13:58:55.056313-08:00"}
1686
1863
  {"id":"opencode-swarm-plugin-u4cv","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:05.799579-08:00","updated_at":"2025-12-07T19:57:08.192357-08:00","closed_at":"2025-12-07T19:57:08.192357-08:00"}
1687
1864
  {"id":"opencode-swarm-plugin-u4w6a","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-08T11:12:55.402022-08:00","updated_at":"2025-12-08T11:12:57.960131-08:00","closed_at":"2025-12-08T11:12:57.960131-08:00"}
1688
1865
  {"id":"opencode-swarm-plugin-u5lz","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.831249-08:00","updated_at":"2025-12-08T07:49:12.197825-08:00","closed_at":"2025-12-08T07:49:12.197825-08:00"}
@@ -1696,6 +1873,7 @@
1696
1873
  {"id":"opencode-swarm-plugin-uboo.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:12:26.806466-08:00","updated_at":"2025-12-08T11:12:28.609201-08:00","closed_at":"2025-12-08T11:12:28.609201-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-uboo.1","depends_on_id":"opencode-swarm-plugin-uboo","type":"parent-child","created_at":"2025-12-08T11:12:26.806791-08:00","created_by":"daemon"}]}
1697
1874
  {"id":"opencode-swarm-plugin-ubp6h","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:42.983106-08:00","updated_at":"2025-12-13T11:18:43.023852-08:00","closed_at":"2025-12-13T11:18:43.023852-08:00"}
1698
1875
  {"id":"opencode-swarm-plugin-ubx49","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:50.061416-08:00","updated_at":"2025-12-13T11:20:50.203366-08:00","closed_at":"2025-12-13T11:20:50.203366-08:00"}
1876
+ {"id":"opencode-swarm-plugin-ugqsn","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:51.01196-08:00","updated_at":"2025-12-14T13:58:55.374092-08:00","closed_at":"2025-12-14T13:58:55.374092-08:00"}
1699
1877
  {"id":"opencode-swarm-plugin-ugx8","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:36:17.879155-08:00","updated_at":"2025-12-08T08:36:19.711988-08:00","closed_at":"2025-12-08T08:36:19.711988-08:00"}
1700
1878
  {"id":"opencode-swarm-plugin-uila","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.009374-08:00","updated_at":"2025-12-07T19:57:08.312771-08:00","closed_at":"2025-12-07T19:57:08.312771-08:00"}
1701
1879
  {"id":"opencode-swarm-plugin-uiw73","title":"Fix critical audit findings from swarm review","description":"Address critical bugs, race conditions, and quick wins identified by the 5-agent audit of opencode-swarm-plugin","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-10T08:55:18.929554-08:00","updated_at":"2025-12-10T09:00:56.759764-08:00","closed_at":"2025-12-10T09:00:56.759764-08:00"}
@@ -1739,11 +1917,15 @@
1739
1917
  {"id":"opencode-swarm-plugin-uvjz.4","title":"Fourth","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:18.12605-08:00","updated_at":"2025-12-08T08:22:19.907489-08:00","closed_at":"2025-12-08T08:22:19.907489-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-uvjz.4","depends_on_id":"opencode-swarm-plugin-uvjz","type":"parent-child","created_at":"2025-12-08T08:22:18.126351-08:00","created_by":"daemon"}]}
1740
1918
  {"id":"opencode-swarm-plugin-uvwx","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.796571-08:00","updated_at":"2025-12-08T08:11:42.109197-08:00","closed_at":"2025-12-08T08:11:42.109197-08:00"}
1741
1919
  {"id":"opencode-swarm-plugin-uw97d","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:07:24.37411-08:00","updated_at":"2025-12-10T09:07:26.700598-08:00","closed_at":"2025-12-10T09:07:26.700598-08:00"}
1920
+ {"id":"opencode-swarm-plugin-uz0gg","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T18:18:37.329385-08:00","updated_at":"2025-12-13T18:18:37.614413-08:00","closed_at":"2025-12-13T18:18:37.614413-08:00"}
1921
+ {"id":"opencode-swarm-plugin-uz0gg.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:37.375555-08:00","updated_at":"2025-12-13T18:18:37.499499-08:00","closed_at":"2025-12-13T18:18:37.499499-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-uz0gg.1","depends_on_id":"opencode-swarm-plugin-uz0gg","type":"parent-child","created_at":"2025-12-13T18:18:37.376306-08:00","created_by":"daemon"}]}
1922
+ {"id":"opencode-swarm-plugin-uz0gg.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:37.422893-08:00","updated_at":"2025-12-13T18:18:37.577954-08:00","closed_at":"2025-12-13T18:18:37.577954-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-uz0gg.2","depends_on_id":"opencode-swarm-plugin-uz0gg","type":"parent-child","created_at":"2025-12-13T18:18:37.423542-08:00","created_by":"daemon"}]}
1742
1923
  {"id":"opencode-swarm-plugin-uzp","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.238171-08:00","updated_at":"2025-12-07T19:39:20.391173-08:00","closed_at":"2025-12-07T19:39:20.391173-08:00"}
1743
1924
  {"id":"opencode-swarm-plugin-uzv8r","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-13T11:16:35.268224-08:00","updated_at":"2025-12-13T11:16:39.605244-08:00","closed_at":"2025-12-13T11:16:39.605244-08:00"}
1744
1925
  {"id":"opencode-swarm-plugin-uzz7","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.254618-08:00","updated_at":"2025-12-07T19:57:08.91203-08:00","closed_at":"2025-12-07T19:57:08.91203-08:00"}
1745
1926
  {"id":"opencode-swarm-plugin-v155u","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T10:00:22.357052-08:00","updated_at":"2025-12-09T10:00:25.675146-08:00","closed_at":"2025-12-09T10:00:25.675146-08:00"}
1746
1927
  {"id":"opencode-swarm-plugin-v1gu","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.25204-08:00","updated_at":"2025-12-08T11:11:10.802916-08:00","closed_at":"2025-12-08T11:11:10.802916-08:00"}
1928
+ {"id":"opencode-swarm-plugin-v3zt5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.360578-08:00","updated_at":"2025-12-13T18:18:37.991482-08:00","closed_at":"2025-12-13T18:18:37.991482-08:00"}
1747
1929
  {"id":"opencode-swarm-plugin-v4bf","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:10.087446-08:00","updated_at":"2025-12-08T08:25:12.460472-08:00","closed_at":"2025-12-08T08:25:12.460472-08:00"}
1748
1930
  {"id":"opencode-swarm-plugin-v4g4","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:14:30.587378-08:00","updated_at":"2025-12-08T08:14:30.768869-08:00","closed_at":"2025-12-08T08:14:30.768869-08:00"}
1749
1931
  {"id":"opencode-swarm-plugin-v4g4.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:30.618692-08:00","updated_at":"2025-12-08T08:14:30.698262-08:00","closed_at":"2025-12-08T08:14:30.698262-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-v4g4.1","depends_on_id":"opencode-swarm-plugin-v4g4","type":"parent-child","created_at":"2025-12-08T08:14:30.618992-08:00","created_by":"daemon"}]}
@@ -1763,15 +1945,21 @@
1763
1945
  {"id":"opencode-swarm-plugin-v8oa","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:50.951289-08:00","updated_at":"2025-12-08T07:46:51.033444-08:00","closed_at":"2025-12-08T07:46:51.033444-08:00"}
1764
1946
  {"id":"opencode-swarm-plugin-v8rf","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-07T19:39:28.865894-08:00","updated_at":"2025-12-07T19:39:31.084269-08:00","closed_at":"2025-12-07T19:39:31.084269-08:00"}
1765
1947
  {"id":"opencode-swarm-plugin-v8wf","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T11:11:22.658761-08:00","updated_at":"2025-12-08T11:11:25.414717-08:00","closed_at":"2025-12-08T11:11:25.414717-08:00"}
1948
+ {"id":"opencode-swarm-plugin-v99vd","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:30:20.558136-08:00","updated_at":"2025-12-14T09:30:23.950652-08:00","closed_at":"2025-12-14T09:30:23.950652-08:00"}
1949
+ {"id":"opencode-swarm-plugin-v99vd.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:30:20.635312-08:00","updated_at":"2025-12-14T09:30:23.99255-08:00","closed_at":"2025-12-14T09:30:23.99255-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-v99vd.1","depends_on_id":"opencode-swarm-plugin-v99vd","type":"parent-child","created_at":"2025-12-14T09:30:20.636933-08:00","created_by":"daemon"}]}
1950
+ {"id":"opencode-swarm-plugin-v9vw0","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.346089-08:00","updated_at":"2025-12-13T18:16:34.146288-08:00","closed_at":"2025-12-13T18:16:34.146288-08:00"}
1766
1951
  {"id":"opencode-swarm-plugin-v9xpe","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:35.985168-08:00","updated_at":"2025-12-13T11:16:40.021286-08:00","closed_at":"2025-12-13T11:16:40.021286-08:00"}
1767
1952
  {"id":"opencode-swarm-plugin-vbd0","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.223902-08:00","updated_at":"2025-12-08T11:10:27.572571-08:00","closed_at":"2025-12-08T11:10:27.572571-08:00"}
1768
1953
  {"id":"opencode-swarm-plugin-vbhx","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:31.902467-08:00","updated_at":"2025-12-08T09:09:33.682198-08:00","closed_at":"2025-12-08T09:09:33.682198-08:00"}
1769
1954
  {"id":"opencode-swarm-plugin-vc5","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:53.895729-08:00","updated_at":"2025-12-07T19:34:55.311453-08:00","closed_at":"2025-12-07T19:34:55.311453-08:00"}
1770
1955
  {"id":"opencode-swarm-plugin-vd03","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.740823-08:00","updated_at":"2025-12-07T19:56:44.871695-08:00","closed_at":"2025-12-07T19:56:44.871695-08:00"}
1956
+ {"id":"opencode-swarm-plugin-vddr6","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.728942-08:00","updated_at":"2025-12-13T18:16:34.31488-08:00","closed_at":"2025-12-13T18:16:34.31488-08:00"}
1771
1957
  {"id":"opencode-swarm-plugin-vesg","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.014761-08:00","updated_at":"2025-12-08T11:11:25.56871-08:00","closed_at":"2025-12-08T11:11:25.56871-08:00"}
1958
+ {"id":"opencode-swarm-plugin-vg7fi","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.350667-08:00","updated_at":"2025-12-14T13:58:55.015406-08:00","closed_at":"2025-12-14T13:58:55.015406-08:00"}
1772
1959
  {"id":"opencode-swarm-plugin-vh4o","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:29.103901-08:00","updated_at":"2025-12-08T08:21:30.778313-08:00","closed_at":"2025-12-08T08:21:30.778313-08:00"}
1773
1960
  {"id":"opencode-swarm-plugin-vheb","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:39:28.899385-08:00","updated_at":"2025-12-07T19:39:31.107581-08:00","closed_at":"2025-12-07T19:39:31.107581-08:00"}
1774
1961
  {"id":"opencode-swarm-plugin-vi4c4","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:21.7884-08:00","updated_at":"2025-12-10T09:07:25.423117-08:00","closed_at":"2025-12-10T09:07:25.423117-08:00"}
1962
+ {"id":"opencode-swarm-plugin-vj2op","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.558731-08:00","updated_at":"2025-12-14T13:58:55.151966-08:00","closed_at":"2025-12-14T13:58:55.151966-08:00"}
1775
1963
  {"id":"opencode-swarm-plugin-vjdh","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.713488-08:00","updated_at":"2025-12-08T08:23:20.038693-08:00","closed_at":"2025-12-08T08:23:20.038693-08:00"}
1776
1964
  {"id":"opencode-swarm-plugin-vkiq","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:57:07.791999-08:00","updated_at":"2025-12-07T19:57:07.982208-08:00","closed_at":"2025-12-07T19:57:07.982208-08:00"}
1777
1965
  {"id":"opencode-swarm-plugin-vkiq.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:07.82266-08:00","updated_at":"2025-12-07T19:57:07.909754-08:00","closed_at":"2025-12-07T19:57:07.909754-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-vkiq.1","depends_on_id":"opencode-swarm-plugin-vkiq","type":"parent-child","created_at":"2025-12-07T19:57:07.822947-08:00","created_by":"daemon"}]}
@@ -1784,6 +1972,7 @@
1784
1972
  {"id":"opencode-swarm-plugin-vpe.2","title":"Edit src/b.ts","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:35.044865-08:00","updated_at":"2025-12-07T19:37:36.581991-08:00","closed_at":"2025-12-07T19:37:36.581991-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-vpe.2","depends_on_id":"opencode-swarm-plugin-vpe","type":"parent-child","created_at":"2025-12-07T19:37:35.045183-08:00","created_by":"daemon"}]}
1785
1973
  {"id":"opencode-swarm-plugin-vtmu3","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-10T09:08:31.455316-08:00","updated_at":"2025-12-10T09:08:35.111369-08:00","closed_at":"2025-12-10T09:08:35.111369-08:00"}
1786
1974
  {"id":"opencode-swarm-plugin-vtoh","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.383534-08:00","updated_at":"2025-12-07T19:39:31.380788-08:00","closed_at":"2025-12-07T19:39:31.380788-08:00"}
1975
+ {"id":"opencode-swarm-plugin-vtovb","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T18:16:31.203735-08:00","updated_at":"2025-12-13T18:16:34.399095-08:00","closed_at":"2025-12-13T18:16:34.399095-08:00"}
1787
1976
  {"id":"opencode-swarm-plugin-vvg","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.744475-08:00","updated_at":"2025-12-07T19:36:08.742363-08:00","closed_at":"2025-12-07T19:36:08.742363-08:00"}
1788
1977
  {"id":"opencode-swarm-plugin-vvqd","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.451235-08:00","updated_at":"2025-12-08T08:56:57.976108-08:00","closed_at":"2025-12-08T08:56:57.976108-08:00"}
1789
1978
  {"id":"opencode-swarm-plugin-vvwj","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.570734-08:00","updated_at":"2025-12-08T08:23:19.968321-08:00","closed_at":"2025-12-08T08:23:19.968321-08:00"}
@@ -1875,12 +2064,17 @@
1875
2064
  {"id":"opencode-swarm-plugin-xcavl.9","title":"Fix CI to run integration tests","description":"## Changes Made\n\nAdded integration test step to CI workflow (.github/workflows/ci.yml):\n\n**Before:**\n- Only ran unit tests (`bun run test`)\n\n**After:**\n- Runs unit tests (step: \"Run unit tests\")\n- Runs integration tests (step: \"Run integration tests\") with 10-minute timeout\n\n## Implementation Details\n\n1. **Single job approach:** Both unit and integration tests run in the same job sequentially\n2. **Timeout:** Integration tests have `timeout-minutes: 10` to prevent hanging\n3. **Fail fast:** If either test suite fails, the build fails (default behavior)\n4. **Verified:** \n - 10 integration test files exist in src/\n - `test:integration` script exists in package.json\n - Script uses vitest with proper config (vitest.integration.config.ts)\n - Tests run serially to avoid race conditions\n\n## Success Criteria Met\n- ✅ CI runs both unit and integration tests\n- ✅ Build fails if either test suite fails (continue-on-error is false by default)\n- ✅ Integration tests have reasonable timeout (10 min)\n\n## Workflow Structure\n```yaml\n- Run unit tests (bun run test)\n- Run integration tests (bun run test:integration, timeout: 10 min)\n```\n\nBoth steps must pass for CI to succeed.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T16:57:58.429642-08:00","updated_at":"2025-12-13T17:05:49.697088-08:00","closed_at":"2025-12-13T17:05:49.697088-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xcavl.9","depends_on_id":"opencode-swarm-plugin-xcavl","type":"parent-child","created_at":"2025-12-13T16:57:58.430689-08:00","created_by":"daemon"}]}
1876
2065
  {"id":"opencode-swarm-plugin-xdstu","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:18:44.585559-08:00","updated_at":"2025-12-13T11:18:47.343607-08:00","closed_at":"2025-12-13T11:18:47.343607-08:00"}
1877
2066
  {"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"}
2067
+ {"id":"opencode-swarm-plugin-xgtvf","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:35.525659-08:00","updated_at":"2025-12-13T18:18:38.467998-08:00","closed_at":"2025-12-13T18:18:38.467998-08:00"}
1878
2068
  {"id":"opencode-swarm-plugin-xid","title":"Limit test bead 3","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.617824-08:00","updated_at":"2025-12-07T19:34:54.705834-08:00","closed_at":"2025-12-07T19:34:54.705834-08:00"}
1879
2069
  {"id":"opencode-swarm-plugin-xk86","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.306947-08:00","updated_at":"2025-12-08T11:11:40.806621-08:00","closed_at":"2025-12-08T11:11:40.806621-08:00"}
1880
2070
  {"id":"opencode-swarm-plugin-xmh7","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:11:08.182543-08:00","updated_at":"2025-12-08T11:11:10.468898-08:00","closed_at":"2025-12-08T11:11:10.468898-08:00"}
1881
2071
  {"id":"opencode-swarm-plugin-xmkj","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:25:09.617346-08:00","updated_at":"2025-12-08T08:25:12.246871-08:00","closed_at":"2025-12-08T08:25:12.246871-08:00"}
1882
2072
  {"id":"opencode-swarm-plugin-xn742","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:32.216046-08:00","updated_at":"2025-12-10T09:08:35.570565-08:00","closed_at":"2025-12-10T09:08:35.570565-08:00"}
2073
+ {"id":"opencode-swarm-plugin-xo3f8","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:54.196181-08:00","updated_at":"2025-12-14T13:58:54.577673-08:00","closed_at":"2025-12-14T13:58:54.577673-08:00"}
2074
+ {"id":"opencode-swarm-plugin-xo3f8.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:54.253459-08:00","updated_at":"2025-12-14T13:58:54.439901-08:00","closed_at":"2025-12-14T13:58:54.439901-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xo3f8.1","depends_on_id":"opencode-swarm-plugin-xo3f8","type":"parent-child","created_at":"2025-12-14T13:58:54.26703-08:00","created_by":"daemon"}]}
2075
+ {"id":"opencode-swarm-plugin-xo3f8.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:54.343123-08:00","updated_at":"2025-12-14T13:58:54.526419-08:00","closed_at":"2025-12-14T13:58:54.526419-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-xo3f8.2","depends_on_id":"opencode-swarm-plugin-xo3f8","type":"parent-child","created_at":"2025-12-14T13:58:54.343738-08:00","created_by":"daemon"}]}
1883
2076
  {"id":"opencode-swarm-plugin-xoki","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:33.488887-08:00","updated_at":"2025-12-08T08:05:33.516474-08:00","closed_at":"2025-12-08T08:05:33.516474-08:00"}
2077
+ {"id":"opencode-swarm-plugin-xp7rp","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T18:18:35.089873-08:00","updated_at":"2025-12-13T18:18:38.354925-08:00","closed_at":"2025-12-13T18:18:38.354925-08:00"}
1884
2078
  {"id":"opencode-swarm-plugin-xpau","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:56:42.988097-08:00","updated_at":"2025-12-07T19:56:44.986299-08:00","closed_at":"2025-12-07T19:56:44.986299-08:00"}
1885
2079
  {"id":"opencode-swarm-plugin-xpd","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.397472-08:00","updated_at":"2025-12-07T19:34:54.56087-08:00","closed_at":"2025-12-07T19:34:54.56087-08:00"}
1886
2080
  {"id":"opencode-swarm-plugin-xppp","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:36:16.916625-08:00","updated_at":"2025-12-08T08:36:19.337744-08:00","closed_at":"2025-12-08T08:36:19.337744-08:00"}
@@ -1896,10 +2090,12 @@
1896
2090
  {"id":"opencode-swarm-plugin-xwlda","title":"Pattern: Socratic Planner - Transform Ideas into Executable Plans","description":"## Socratic Planner Pattern (from obra/superpowers)\n\nTwo-phase workflow that transforms rough ideas into executable implementation plans:\n\n### Phase 1: Brainstorming (Socratic Refinement)\n- **One question at a time** - Never overwhelm with multiple questions\n- **Multiple choice preferred** - Easier to answer than open-ended\n- **Project context first** - Check files/docs/commits before asking\n- **2-3 alternatives with trade-offs** - Lead with recommendation + reasoning\n- **Incremental validation (200-300 words)** - Present design in digestible sections\n- **YAGNI ruthlessly** - Remove unnecessary features\n\n### Phase 2: Writing Plans (Zero-Context Execution)\n- **Bite-sized tasks (2-5 min each)** - Each step is ONE action\n- **Zero context assumption** - Write for \"junior engineer with poor taste, no judgment, no project context\"\n- **Exact file paths always** - `src/auth/login.py:45-67` not \"update the auth flow\"\n- **Complete code in plans** - Don't say \"add validation\" - show the exact code\n- **DRY, YAGNI, TDD** - Enforce in every task\n- **Frequent commits** - Every task ends with a commit\n\n### Integration\nBrainstorming → Design Doc → Git Worktree → Writing Plans → Execution (subagent-driven OR batch)\n\n### Key Insight\nThe two-phase split serves context preservation: brainstorming keeps context lean (200-300 word checkpoints), plans are context-free and reusable across agents/sessions.\n\n**Full analysis:** docs/analysis-socratic-planner-pattern.md","status":"closed","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:08.183656-08:00","updated_at":"2025-12-13T15:50:52.088177-08:00","closed_at":"2025-12-13T15:50:52.088177-08:00"}
1897
2091
  {"id":"opencode-swarm-plugin-xwz1","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:26.372159-08:00","updated_at":"2025-12-08T11:12:28.359777-08:00","closed_at":"2025-12-08T11:12:28.359777-08:00"}
1898
2092
  {"id":"opencode-swarm-plugin-xx0","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.643828-08:00","updated_at":"2025-12-07T19:36:08.701265-08:00","closed_at":"2025-12-07T19:36:08.701265-08:00"}
2093
+ {"id":"opencode-swarm-plugin-xymhv","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:36.811605-08:00","updated_at":"2025-12-13T18:18:39.147447-08:00","closed_at":"2025-12-13T18:18:39.147447-08:00"}
1899
2094
  {"id":"opencode-swarm-plugin-y0gg","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.967823-08:00","updated_at":"2025-12-08T11:11:10.647724-08:00","closed_at":"2025-12-08T11:11:10.647724-08:00"}
1900
2095
  {"id":"opencode-swarm-plugin-y0i","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:39:19.054837-08:00","updated_at":"2025-12-07T19:39:20.706972-08:00","closed_at":"2025-12-07T19:39:20.706972-08:00"}
1901
2096
  {"id":"opencode-swarm-plugin-y0i.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:19.084608-08:00","updated_at":"2025-12-07T19:39:20.729108-08:00","closed_at":"2025-12-07T19:39:20.729108-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-y0i.1","depends_on_id":"opencode-swarm-plugin-y0i","type":"parent-child","created_at":"2025-12-07T19:39:19.084903-08:00","created_by":"daemon"}]}
1902
2097
  {"id":"opencode-swarm-plugin-y0i.2","title":"Subtask 2","description":"","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-07T19:39:19.116352-08:00","updated_at":"2025-12-07T19:39:20.751727-08:00","closed_at":"2025-12-07T19:39:20.751727-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-y0i.2","depends_on_id":"opencode-swarm-plugin-y0i","type":"parent-child","created_at":"2025-12-07T19:39:19.116677-08:00","created_by":"daemon"}]}
2098
+ {"id":"opencode-swarm-plugin-y1fqh","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.438438-08:00","updated_at":"2025-12-13T18:16:34.186235-08:00","closed_at":"2025-12-13T18:16:34.186235-08:00"}
1903
2099
  {"id":"opencode-swarm-plugin-y1y9","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.052657-08:00","updated_at":"2025-12-08T08:21:29.831991-08:00","closed_at":"2025-12-08T08:21:29.831991-08:00"}
1904
2100
  {"id":"opencode-swarm-plugin-y45t","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:25:09.965003-08:00","updated_at":"2025-12-08T08:25:12.410416-08:00","closed_at":"2025-12-08T08:25:12.410416-08:00"}
1905
2101
  {"id":"opencode-swarm-plugin-y5ot","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:44.428191-08:00","updated_at":"2025-12-08T07:53:44.454576-08:00","closed_at":"2025-12-08T07:53:44.454576-08:00"}
@@ -1918,6 +2114,7 @@
1918
2114
  {"id":"opencode-swarm-plugin-ycioz.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-10T09:06:07.77857-08:00","updated_at":"2025-12-10T09:06:10.62676-08:00","closed_at":"2025-12-10T09:06:10.62676-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ycioz.1","depends_on_id":"opencode-swarm-plugin-ycioz","type":"parent-child","created_at":"2025-12-10T09:06:07.779528-08:00","created_by":"daemon"}]}
1919
2115
  {"id":"opencode-swarm-plugin-ycmf","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.567442-08:00","updated_at":"2025-12-08T07:49:12.064719-08:00","closed_at":"2025-12-08T07:49:12.064719-08:00"}
1920
2116
  {"id":"opencode-swarm-plugin-ye1s","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.807149-08:00","updated_at":"2025-12-08T11:11:25.410867-08:00","closed_at":"2025-12-08T11:11:25.410867-08:00"}
2117
+ {"id":"opencode-swarm-plugin-ye49x","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-13T18:18:34.00161-08:00","updated_at":"2025-12-13T18:18:37.810025-08:00","closed_at":"2025-12-13T18:18:37.810025-08:00"}
1921
2118
  {"id":"opencode-swarm-plugin-ygl","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:18.568621-08:00","updated_at":"2025-12-07T19:39:20.574381-08:00","closed_at":"2025-12-07T19:39:20.574381-08:00"}
1922
2119
  {"id":"opencode-swarm-plugin-ygpl","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:26.265071-08:00","updated_at":"2025-12-08T11:12:26.289606-08:00","closed_at":"2025-12-08T11:12:26.289606-08:00"}
1923
2120
  {"id":"opencode-swarm-plugin-ygpma","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:38.610431-08:00","updated_at":"2025-12-13T11:16:41.177098-08:00","closed_at":"2025-12-13T11:16:41.177098-08:00"}
@@ -1925,6 +2122,10 @@
1925
2122
  {"id":"opencode-swarm-plugin-yi3ke","title":"Document warnMissingTool deduplication strategy","description":"src/tool-availability.ts:301-310 - warnMissingTool uses Set for deduplication but comment doesn't explain why. Add JSDoc: \"/** Logs warning once per tool per session. Uses Set to prevent spam when tool is checked repeatedly. */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:07:11.393397-08:00","updated_at":"2025-12-13T16:41:52.798405-08:00","closed_at":"2025-12-13T16:41:52.798405-08:00"}
1926
2123
  {"id":"opencode-swarm-plugin-yih","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:06.525069-08:00","updated_at":"2025-12-07T19:36:08.634794-08:00","closed_at":"2025-12-07T19:36:08.634794-08:00"}
1927
2124
  {"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"}
2125
+ {"id":"opencode-swarm-plugin-yjexv","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:32.290908-08:00","updated_at":"2025-12-13T18:16:35.089159-08:00","closed_at":"2025-12-13T18:16:35.089159-08:00"}
2126
+ {"id":"opencode-swarm-plugin-ymqsl","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T13:58:52.546127-08:00","updated_at":"2025-12-14T13:58:56.03996-08:00","closed_at":"2025-12-14T13:58:56.03996-08:00"}
2127
+ {"id":"opencode-swarm-plugin-ymqsl.1","title":"Only task","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T13:58:52.59933-08:00","updated_at":"2025-12-14T13:58:56.085015-08:00","closed_at":"2025-12-14T13:58:56.085015-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ymqsl.1","depends_on_id":"opencode-swarm-plugin-ymqsl","type":"parent-child","created_at":"2025-12-14T13:58:52.600056-08:00","created_by":"daemon"}]}
2128
+ {"id":"opencode-swarm-plugin-yn9e3","title":"Swarm-aware beads with durable recovery context","description":"## Problem\n\nSwarms die when context compacts. Coordinator state lives in ephemeral context - when OpenCode compacts or session ends, swarm recovery requires manual reconstruction.\n\n## Solution: Beads as Durable Swarm State\n\nExtend beads to carry swarm execution context that survives compaction:\n\n```typescript\ninterface SwarmBeadContext {\n epic_id: string;\n strategy: \"file-based\" | \"feature-based\" | \"risk-based\";\n files: string[]; // Reserved files\n dependencies: string[]; // Bead IDs this depends on\n \n // Directives for agent pickup\n directives: {\n shared_context: string; // Synthesized knowledge\n skills_to_load: string[];\n coordinator_notes: string;\n };\n \n // Recovery checkpoint\n recovery: {\n last_checkpoint: string; // ISO timestamp\n files_modified: string[];\n progress_percent: number;\n last_message: string;\n error_context?: string; // If blocked/failed\n };\n}\n```\n\n## Implementation\n\n1. **Store swarm context in PGlite** - New `swarm_beads` table linked to bead ID\n2. **Checkpoint on compaction** - Hook into OpenCode's compaction (if available) or periodic save\n3. **Recovery on session start** - `beads_ready()` returns swarm context, agent can resume\n4. **Event sourcing** - Use existing durable streams for swarm state changes\n\n## Integration Points\n\n- `beads_create_epic` - Initialize swarm context for epic + subtasks\n- `swarm_progress` - Update recovery checkpoint\n- `swarm_complete` - Finalize and archive swarm context\n- New: `swarm_recover(epic_id)` - Reconstruct coordinator state from PGlite\n\n## Benefits\n\n- Swarms survive context compaction\n- Any agent can pick up mid-flight work\n- Full audit trail via event sourcing\n- Enables \"swarm handoff\" between sessions\n\n## Related\n\n- PR #6: Durable Streams primitives (DurableCursor, DurableDeferred, etc.)\n- Kyle Mathews actor primitives analysis (bead gde33)\n- Existing swarm-mail coordination layer","status":"closed","priority":2,"issue_type":"feature","created_at":"2025-12-14T09:16:47.670546-08:00","updated_at":"2025-12-14T09:42:33.092759-08:00","closed_at":"2025-12-14T09:42:33.092759-08:00"}
1928
2129
  {"id":"opencode-swarm-plugin-yo4","title":"New feature request","description":"","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-07T19:36:06.212343-08:00","updated_at":"2025-12-07T19:36:08.45342-08:00","closed_at":"2025-12-07T19:36:08.45342-08:00"}
1929
2130
  {"id":"opencode-swarm-plugin-yrcu","title":"Swarm Plugin Intelligence Upgrade","description":"Add learning and validation capabilities from cass-memory, ubs, and cass patterns: confidence decay, outcome scoring, anti-patterns, conflict detection, maturity tracking, UBS scanning, CASS history","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T07:37:04.64051-08:00","updated_at":"2025-12-08T07:47:04.718697-08:00","closed_at":"2025-12-08T07:47:04.718697-08:00"}
1930
2131
  {"id":"opencode-swarm-plugin-yrcu.1","title":"Add confidence decay to evaluation criteria","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:37:04.680246-08:00","updated_at":"2025-12-08T07:39:13.801147-08:00","closed_at":"2025-12-08T07:39:13.801147-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-yrcu.1","depends_on_id":"opencode-swarm-plugin-yrcu","type":"parent-child","created_at":"2025-12-08T07:37:04.680563-08:00","created_by":"daemon"}]}
@@ -1934,6 +2135,7 @@
1934
2135
  {"id":"opencode-swarm-plugin-yrcu.5","title":"Add pattern maturity tracking","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:37:04.819413-08:00","updated_at":"2025-12-08T07:44:35.925234-08:00","closed_at":"2025-12-08T07:44:35.925234-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-yrcu.5","depends_on_id":"opencode-swarm-plugin-yrcu","type":"parent-child","created_at":"2025-12-08T07:37:04.819785-08:00","created_by":"daemon"}]}
1935
2136
  {"id":"opencode-swarm-plugin-yrcu.6","title":"Add UBS pre-completion scan","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T07:37:04.853068-08:00","updated_at":"2025-12-08T07:45:45.058166-08:00","closed_at":"2025-12-08T07:45:45.058166-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-yrcu.6","depends_on_id":"opencode-swarm-plugin-yrcu","type":"parent-child","created_at":"2025-12-08T07:37:04.853376-08:00","created_by":"daemon"}]}
1936
2137
  {"id":"opencode-swarm-plugin-yrcu.7","title":"Add CASS history context","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:37:04.888083-08:00","updated_at":"2025-12-08T07:46:57.562984-08:00","closed_at":"2025-12-08T07:46:57.562984-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-yrcu.7","depends_on_id":"opencode-swarm-plugin-yrcu","type":"parent-child","created_at":"2025-12-08T07:37:04.888396-08:00","created_by":"daemon"}]}
2138
+ {"id":"opencode-swarm-plugin-ytgek","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:16:30.013503-08:00","updated_at":"2025-12-13T18:16:33.978373-08:00","closed_at":"2025-12-13T18:16:33.978373-08:00"}
1937
2139
  {"id":"opencode-swarm-plugin-yunl","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:53.033023-08:00","updated_at":"2025-12-08T11:10:55.63671-08:00","closed_at":"2025-12-08T11:10:55.63671-08:00"}
1938
2140
  {"id":"opencode-swarm-plugin-yv05j","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:34.46505-08:00","updated_at":"2025-12-10T09:08:34.576054-08:00","closed_at":"2025-12-10T09:08:34.576054-08:00"}
1939
2141
  {"id":"opencode-swarm-plugin-yvag","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:11.117366-08:00","updated_at":"2025-12-08T07:49:12.774248-08:00","closed_at":"2025-12-08T07:49:12.774248-08:00"}
@@ -1945,18 +2147,27 @@
1945
2147
  {"id":"opencode-swarm-plugin-z3j5","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:38.156441-08:00","updated_at":"2025-12-08T11:11:40.752804-08:00","closed_at":"2025-12-08T11:11:40.752804-08:00"}
1946
2148
  {"id":"opencode-swarm-plugin-z41xe","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:35.211913-08:00","updated_at":"2025-12-13T11:16:39.567258-08:00","closed_at":"2025-12-13T11:16:39.567258-08:00"}
1947
2149
  {"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"}
2150
+ {"id":"opencode-swarm-plugin-z4bmf","title":"Swarm-aware beads with durable recovery context","description":"Extend beads to carry swarm execution context that survives context compaction. When OpenCode compacts or session ends, swarms can recover coordinator state from durable storage.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-14T09:42:27.61346-08:00","updated_at":"2025-12-14T09:47:48.901952-08:00","closed_at":"2025-12-14T09:47:48.901952-08:00"}
2151
+ {"id":"opencode-swarm-plugin-z4bmf.1","title":"Schema and migration for swarm_contexts table","description":"Completed: Added migration v4 for swarm_contexts table and SwarmBeadContext Zod schemas. Migration follows existing patterns (v1-v3) with proper indexes. Schemas exported from index.ts. All type checks passing.","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-14T09:42:27.668076-08:00","updated_at":"2025-12-14T09:47:41.858044-08:00","closed_at":"2025-12-14T09:47:41.858044-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-z4bmf.1","depends_on_id":"opencode-swarm-plugin-z4bmf","type":"parent-child","created_at":"2025-12-14T09:42:27.668846-08:00","created_by":"daemon"}]}
2152
+ {"id":"opencode-swarm-plugin-z4bmf.2","title":"Event types for swarm checkpoint and recovery","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:42:27.721299-08:00","updated_at":"2025-12-14T09:47:42.496735-08:00","closed_at":"2025-12-14T09:47:42.496735-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-z4bmf.2","depends_on_id":"opencode-swarm-plugin-z4bmf","type":"parent-child","created_at":"2025-12-14T09:42:27.722112-08:00","created_by":"daemon"}]}
2153
+ {"id":"opencode-swarm-plugin-z4bmf.3","title":"swarm_checkpoint and swarm_recover tools","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-14T09:42:27.770156-08:00","updated_at":"2025-12-14T09:47:43.212016-08:00","closed_at":"2025-12-14T09:47:43.212016-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-z4bmf.3","depends_on_id":"opencode-swarm-plugin-z4bmf","type":"parent-child","created_at":"2025-12-14T09:42:27.770839-08:00","created_by":"daemon"}]}
2154
+ {"id":"opencode-swarm-plugin-z4bmf.4","title":"Beads and prompts integration for recovery context","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:42:27.818298-08:00","updated_at":"2025-12-14T09:47:43.854612-08:00","closed_at":"2025-12-14T09:47:43.854612-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-z4bmf.4","depends_on_id":"opencode-swarm-plugin-z4bmf","type":"parent-child","created_at":"2025-12-14T09:42:27.819819-08:00","created_by":"daemon"}]}
1948
2155
  {"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"}
2156
+ {"id":"opencode-swarm-plugin-z80p3","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:21.177482-08:00","updated_at":"2025-12-14T09:30:24.302585-08:00","closed_at":"2025-12-14T09:30:24.302585-08:00"}
1949
2157
  {"id":"opencode-swarm-plugin-z8rkb","title":"Add validation for SpawnedAgent.agent_name format","description":"src/schemas/task.ts:81 - `agent_name` is plain string but Agent Mail uses specific format (e.g., \"BlueLake\"). Add regex validation or comment: \"/** Agent Mail name (e.g., 'BlueLake', 'CrimsonRiver') */\"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:30.499386-08:00","updated_at":"2025-12-13T16:45:50.112928-08:00","closed_at":"2025-12-13T16:45:50.112928-08:00"}
1950
2158
  {"id":"opencode-swarm-plugin-z8td","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:22:17.11505-08:00","updated_at":"2025-12-08T08:22:19.411331-08:00","closed_at":"2025-12-08T08:22:19.411331-08:00"}
1951
2159
  {"id":"opencode-swarm-plugin-z9yl","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:28.946829-08:00","updated_at":"2025-12-08T08:21:30.752391-08:00","closed_at":"2025-12-08T08:21:30.752391-08:00"}
1952
2160
  {"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"}
2161
+ {"id":"opencode-swarm-plugin-zbbjj","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T18:18:34.688484-08:00","updated_at":"2025-12-13T18:18:38.210915-08:00","closed_at":"2025-12-13T18:18:38.210915-08:00"}
1953
2162
  {"id":"opencode-swarm-plugin-zd49","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:39:29.637086-08:00","updated_at":"2025-12-07T19:39:29.661321-08:00","closed_at":"2025-12-07T19:39:29.661321-08:00"}
1954
2163
  {"id":"opencode-swarm-plugin-zdaf4","title":"Limit test bead 4","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:20:47.060691-08:00","updated_at":"2025-12-13T11:20:51.444037-08:00","closed_at":"2025-12-13T11:20:51.444037-08:00"}
1955
2164
  {"id":"opencode-swarm-plugin-zfmmy","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:56.046223-08:00","updated_at":"2025-12-08T11:12:58.320343-08:00","closed_at":"2025-12-08T11:12:58.320343-08:00"}
2165
+ {"id":"opencode-swarm-plugin-zhpak","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T09:30:21.634003-08:00","updated_at":"2025-12-14T09:30:24.399155-08:00","closed_at":"2025-12-14T09:30:24.399155-08:00"}
1956
2166
  {"id":"opencode-swarm-plugin-zhs6","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.030431-08:00","updated_at":"2025-12-08T11:11:25.512594-08:00","closed_at":"2025-12-08T11:11:25.512594-08:00"}
1957
2167
  {"id":"opencode-swarm-plugin-zi40","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:57:06.602461-08:00","updated_at":"2025-12-07T19:57:08.530817-08:00","closed_at":"2025-12-07T19:57:08.530817-08:00"}
1958
2168
  {"id":"opencode-swarm-plugin-zi7n","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:36:16.30257-08:00","updated_at":"2025-12-08T08:36:19.014772-08:00","closed_at":"2025-12-08T08:36:19.014772-08:00"}
1959
2169
  {"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"}
2170
+ {"id":"opencode-swarm-plugin-zjhns","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-14T13:58:50.912506-08:00","updated_at":"2025-12-14T13:58:55.331109-08:00","closed_at":"2025-12-14T13:58:55.331109-08:00"}
1960
2171
  {"id":"opencode-swarm-plugin-zjku","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:29.199507-08:00","updated_at":"2025-12-08T08:14:31.307698-08:00","closed_at":"2025-12-08T08:14:31.307698-08:00"}
1961
2172
  {"id":"opencode-swarm-plugin-zmzuw","title":"Gap: N+1 query in handleMessageSent","description":"src/streams/store.ts:360-395 - handleMessageSent() loops through recipients and inserts one-by-one with separate queries. For messages with many recipients, this is N+1 pattern. Should use bulk INSERT with VALUES (...), (...), (...) or INSERT ... SELECT. Similar issue in handleFileReserved (lines 398-416) which loops through paths.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:14.000433-08:00","updated_at":"2025-12-13T16:06:33.70323-08:00","closed_at":"2025-12-13T16:06:33.70323-08:00"}
1962
2173
  {"id":"opencode-swarm-plugin-zn4of","title":"Review skill-builder PR branch","description":"Analyze skill-builder PR branch for errors, omissions, improvements, oversights, gaps, and ideas. READ-ONLY code review - no modifications.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-12T21:05:18.645731-08:00","updated_at":"2025-12-12T21:17:59.05899-08:00","closed_at":"2025-12-12T21:17:59.05899-08:00"}
@@ -1970,9 +2181,11 @@
1970
2181
  {"id":"opencode-swarm-plugin-zp1h","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:10:25.748023-08:00","updated_at":"2025-12-08T11:10:27.732005-08:00","closed_at":"2025-12-08T11:10:27.732005-08:00"}
1971
2182
  {"id":"opencode-swarm-plugin-zp9","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:08.055038-08:00","updated_at":"2025-12-07T19:36:08.128158-08:00","closed_at":"2025-12-07T19:36:08.128158-08:00"}
1972
2183
  {"id":"opencode-swarm-plugin-zrof","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:10.22112-08:00","updated_at":"2025-12-08T11:11:10.295789-08:00","closed_at":"2025-12-08T11:11:10.295789-08:00"}
2184
+ {"id":"opencode-swarm-plugin-zt3re","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T18:16:30.532077-08:00","updated_at":"2025-12-13T18:16:34.234428-08:00","closed_at":"2025-12-13T18:16:34.234428-08:00"}
1973
2185
  {"id":"opencode-swarm-plugin-ztg7","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-08T11:10:53.675624-08:00","updated_at":"2025-12-08T11:10:55.958409-08:00","closed_at":"2025-12-08T11:10:55.958409-08:00"}
1974
2186
  {"id":"opencode-swarm-plugin-zw3b","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T07:49:09.23617-08:00","updated_at":"2025-12-08T07:49:11.88343-08:00","closed_at":"2025-12-08T07:49:11.88343-08:00"}
1975
2187
  {"id":"opencode-swarm-plugin-zwgf","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:11:08.122483-08:00","updated_at":"2025-12-08T11:11:10.443356-08:00","closed_at":"2025-12-08T11:11:10.443356-08:00"}
2188
+ {"id":"opencode-swarm-plugin-zwng0","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-13T18:18:34.096277-08:00","updated_at":"2025-12-13T18:18:37.883439-08:00","closed_at":"2025-12-13T18:18:37.883439-08:00"}
1976
2189
  {"id":"opencode-swarm-plugin-zx8r","title":"Limit test bead 0","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.681528-08:00","updated_at":"2025-12-08T11:12:28.06447-08:00","closed_at":"2025-12-08T11:12:28.06447-08:00"}
1977
2190
  {"id":"opencode-swarm-plugin-zxbnz","title":"Test bead minimal","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:08:31.413371-08:00","updated_at":"2025-12-10T09:08:35.075122-08:00","closed_at":"2025-12-10T09:08:35.075122-08:00"}
1978
2191
  {"id":"opencode-swarm-plugin-zxic","title":"Thread link test bead","description":"Important context here\n\n[thread:test-thread-789]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.336447-08:00","updated_at":"2025-12-08T09:09:33.91114-08:00","closed_at":"2025-12-08T09:09:33.91114-08:00"}