opencode-swarm-plugin 0.40.0 → 0.42.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.hive/analysis/eval-failure-analysis-2025-12-25.md +331 -0
- package/.hive/analysis/session-data-quality-audit.md +320 -0
- package/.hive/eval-results.json +481 -24
- package/.hive/issues.jsonl +67 -16
- package/.hive/memories.jsonl +159 -1
- package/.opencode/eval-history.jsonl +315 -0
- package/.turbo/turbo-build.log +5 -5
- package/CHANGELOG.md +165 -0
- package/README.md +2 -0
- package/SCORER-ANALYSIS.md +598 -0
- package/bin/eval-gate.test.ts +158 -0
- package/bin/eval-gate.ts +74 -0
- package/bin/swarm.serve.test.ts +46 -0
- package/bin/swarm.test.ts +661 -732
- package/bin/swarm.ts +335 -0
- package/dist/compaction-hook.d.ts +7 -5
- package/dist/compaction-hook.d.ts.map +1 -1
- package/dist/compaction-prompt-scoring.d.ts +1 -0
- package/dist/compaction-prompt-scoring.d.ts.map +1 -1
- package/dist/eval-runner.d.ts +134 -0
- package/dist/eval-runner.d.ts.map +1 -0
- package/dist/hive.d.ts.map +1 -1
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99741 -58858
- package/dist/memory-tools.d.ts +70 -2
- package/dist/memory-tools.d.ts.map +1 -1
- package/dist/memory.d.ts +37 -0
- package/dist/memory.d.ts.map +1 -1
- package/dist/observability-tools.d.ts +64 -0
- package/dist/observability-tools.d.ts.map +1 -1
- package/dist/plugin.js +99356 -58318
- package/dist/swarm-orchestrate.d.ts.map +1 -1
- package/dist/swarm-prompts.d.ts +32 -1
- package/dist/swarm-prompts.d.ts.map +1 -1
- package/docs/planning/ADR-009-oh-my-opencode-patterns.md +353 -0
- package/evals/ARCHITECTURE.md +1189 -0
- package/evals/example.eval.ts +3 -4
- package/evals/fixtures/compaction-prompt-cases.ts +6 -0
- package/evals/scorers/coordinator-discipline.evalite-test.ts +1 -162
- package/evals/scorers/coordinator-discipline.ts +0 -323
- package/evals/swarm-decomposition.eval.ts +4 -2
- package/package.json +4 -3
- package/src/compaction-prompt-scorers.test.ts +185 -9
- package/src/compaction-prompt-scoring.ts +7 -5
- package/src/eval-runner.test.ts +128 -1
- package/src/eval-runner.ts +46 -0
- package/src/hive.ts +43 -42
- package/src/memory-tools.test.ts +84 -0
- package/src/memory-tools.ts +68 -3
- package/src/memory.test.ts +2 -112
- package/src/memory.ts +88 -49
- package/src/observability-tools.test.ts +13 -0
- package/src/observability-tools.ts +277 -0
- package/src/swarm-orchestrate.test.ts +162 -0
- package/src/swarm-orchestrate.ts +7 -5
- package/src/swarm-prompts.test.ts +168 -4
- package/src/swarm-prompts.ts +228 -7
- package/.env +0 -2
- package/.turbo/turbo-test.log +0 -481
- package/.turbo/turbo-typecheck.log +0 -1
package/.hive/issues.jsonl
CHANGED
|
@@ -10,18 +10,7 @@
|
|
|
10
10
|
{"id":"opencode-swarm-plugin--ys7z8-mjk9797bp4t","title":"DurableStreamAdapter core implementation","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-24T16:54:13.079Z","updated_at":"2025-12-24T20:49:50.930Z","closed_at":"2025-12-24T20:49:50.930Z","parent_id":"opencode-swarm-plugin--ys7z8-mjk979715dp","dependencies":[],"labels":[],"comments":[]}
|
|
11
11
|
{"id":"opencode-swarm-plugin--ys7z8-mjk9797g8pe","title":"Durable Streams HTTP server with SSE","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T16:54:13.084Z","updated_at":"2025-12-24T20:49:52.235Z","closed_at":"2025-12-24T20:49:52.235Z","parent_id":"opencode-swarm-plugin--ys7z8-mjk979715dp","dependencies":[],"labels":[],"comments":[]}
|
|
12
12
|
{"id":"opencode-swarm-plugin--ys7z8-mjk9797i98d","title":"Export Durable Streams from swarm-mail index","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T16:54:13.086Z","updated_at":"2025-12-24T20:52:09.153Z","closed_at":"2025-12-24T20:52:09.153Z","parent_id":"opencode-swarm-plugin--ys7z8-mjk979715dp","dependencies":[],"labels":[],"comments":[]}
|
|
13
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","title":"Hive TUI - Terminal Visualizer for Swarm Activity","description":"Phase 2 of Hive Visualizer: Terminal-based dashboard using OpenTUI showing real-time swarm activity.\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│ HIVE TUI │\n├─────────────────────────────────────────────────────────────┤\n│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │\n│ │ AGENTS │ │ EVENTS │ │ CELLS │ │\n│ │ PANE │ │ PANE │ │ PANE │ │\n│ │ │ │ │ │ │ │\n│ │ SwiftStone │ │ agent_reg │ │ ● Epic-123 │ │\n│ │ BlueLake ● │ │ task_start │ │ ├─ Task-1 ✓ │ │\n│ │ IronPeak │ │ msg_sent │ │ ├─ Task-2 ◐ │ │\n│ │ │ │ ... │ │ └─ Task-3 ○ │ │\n│ └─────────────┘ └─────────────┘ └─────────────────┘ │\n└─────────────────────────────────────────────────────────────┘\n ▲\n │ SSE\n ┌─────────┴─────────┐\n │ DurableStreamServer│\n │ (from Phase 1) │\n └───────────────────┘\n```\n\n## Tech Stack\n- OpenTUI (@opentui/core) - TUI framework from SST\n- Durable Streams SSE client - consumes Phase 1 server\n- New package: packages/hive-tui/\n\n## Execution Order\n1. Package scaffold (first - creates structure)\n2. Data layer, Agents pane, Events pane, Cells pane (parallel after 1)\n3. Main layout + CLI (last - composes everything)\n\n## Success Criteria\n- `hive-tui` command launches dashboard\n- Live updates via SSE from DurableStreamServer\n- Keyboard navigation between panes\n- Shows: active agents, event stream, cell tree with status","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-24T23:21:42.322Z","updated_at":"2025-12-24T23:21:42.322Z","dependencies":[],"labels":[],"comments":[]}
|
|
14
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kfwppx","title":"Package scaffold (packages/hive-tui/)","status":"open","priority":0,"issue_type":"task","created_at":"2025-12-24T23:21:42.332Z","updated_at":"2025-12-24T23:21:42.332Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
15
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kfzpxp","title":"SSE data layer connecting to DurableStreamServer","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-24T23:21:42.335Z","updated_at":"2025-12-24T23:21:42.335Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
16
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kg44fk","title":"Agents pane component","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-24T23:21:42.340Z","updated_at":"2025-12-24T23:21:42.340Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
17
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kg8qrn","title":"Events pane component with live tail","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-24T23:21:42.344Z","updated_at":"2025-12-24T23:21:42.344Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
18
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kga43j","title":"Cells pane component with tree view","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-24T23:21:42.346Z","updated_at":"2025-12-24T23:21:42.346Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
19
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kgcjpl","title":"Main layout + CLI entry point","status":"open","priority":3,"issue_type":"task","created_at":"2025-12-24T23:21:42.348Z","updated_at":"2025-12-24T23:21:42.348Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
20
13
|
{"id":"opencode-swarm-plugin--ys7z8-mjkn5xozcd6","title":"Wire captureDecomposition() into swarm_decompose","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-24T23:25:06.131Z","updated_at":"2025-12-24T23:34:22.895Z","closed_at":"2025-12-24T23:34:22.895Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn5xocowf","dependencies":[],"labels":[],"comments":[]}
|
|
21
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjknrr4aqj0","title":"Add OAuth","description":"Implement OAuth authentication","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-24T23:42:04.042Z","updated_at":"2025-12-24T23:42:04.042Z","dependencies":[],"labels":[],"comments":[]}
|
|
22
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjknrr4ghia","title":"Add auth service","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-24T23:42:04.048Z","updated_at":"2025-12-24T23:42:04.048Z","parent_id":"opencode-swarm-plugin--ys7z8-mjknrr4aqj0","dependencies":[],"labels":[],"comments":[]}
|
|
23
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjknrr4ssue","title":"Fix bug","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-24T23:42:04.060Z","updated_at":"2025-12-24T23:42:04.060Z","dependencies":[],"labels":[],"comments":[]}
|
|
24
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjknrr4uw8i","title":"Fix auth bug","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-24T23:42:04.062Z","updated_at":"2025-12-24T23:42:04.062Z","parent_id":"opencode-swarm-plugin--ys7z8-mjknrr4ssue","dependencies":[],"labels":[],"comments":[]}
|
|
25
14
|
{"id":"opencode-swarm-plugin--ys7z8-mjkn5xocowf","title":"Wire Up Decomposition Eval Capture Pipeline","description":"Connect the existing eval-capture.ts functions to the swarm execution path so decomposition outcomes are recorded for evaluation.\n\n## Problem\nThe eval-capture.ts file has capture functions that are never called:\n- `captureDecomposition()` - not called from swarm_decompose\n- `captureSubtaskOutcome()` - not called from swarm_complete \n- `finalizeEvalRecord()` - not called from swarm_record_outcome\n\nCompare to coordinator events which ARE captured via `captureCoordinatorEvent()`.\n\n## Solution\nWire up the three capture functions to their respective tools:\n\n1. **swarm_decompose** → `captureDecomposition()`\n2. **swarm_complete** → `captureSubtaskOutcome()`\n3. **swarm_record_outcome** → `finalizeEvalRecord()`\n\n## Deliverables\n- Integration code in swarm tools\n- Tests verifying capture works\n- Updated README with eval workflow\n- Easy-to-run scripts in package.json\n\n## Success Criteria\n- `bunx evalite run evals/swarm-decomposition.eval.ts` passes (no missing table error)\n- After running a swarm, eval_records table has data\n- `pnpm eval:run` script works","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-24T23:25:06.108Z","updated_at":"2025-12-24T23:52:10.847Z","closed_at":"2025-12-24T23:52:10.847Z","dependencies":[],"labels":[],"comments":[]}
|
|
26
15
|
{"id":"opencode-swarm-plugin--ys7z8-mjkn5xp1blq","title":"Wire captureSubtaskOutcome() into swarm_complete","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-24T23:25:06.133Z","updated_at":"2025-12-24T23:52:01.496Z","closed_at":"2025-12-24T23:52:01.496Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn5xocowf","dependencies":[],"labels":[],"comments":[]}
|
|
27
16
|
{"id":"opencode-swarm-plugin--ys7z8-mjkn5xp41f2","title":"Wire finalizeEvalRecord() into swarm_record_outcome","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-24T23:25:06.136Z","updated_at":"2025-12-24T23:52:02.719Z","closed_at":"2025-12-24T23:52:02.719Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn5xocowf","dependencies":[],"labels":[],"comments":[]}
|
|
@@ -37,19 +26,81 @@
|
|
|
37
26
|
{"id":"opencode-swarm-plugin--ys7z8-mjkwt9s6xoa","title":"Run migration and verify data integrity","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T03:55:11.430Z","updated_at":"2025-12-25T04:14:16.676Z","closed_at":"2025-12-25T04:14:16.676Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkwt9rqf2s","dependencies":[],"labels":[],"comments":[]}
|
|
38
27
|
{"id":"opencode-swarm-plugin--ys7z8-mjkyhrqmecc","title":"Add quality gate filters to eval session loader","description":"Filter eval sessions by quality signals: minEvents >= 3, hasWorkerSpawn, hasReviewCompleted. Currently 67 of 82 sessions are noise (<3 events). Quality gate will keep ~15 high-signal sessions.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T04:42:14.062Z","updated_at":"2025-12-25T04:49:40.809Z","closed_at":"2025-12-25T04:49:40.809Z","dependencies":[],"labels":[],"comments":[]}
|
|
39
28
|
{"id":"opencode-swarm-plugin--ys7z8-mjkyhrr2qm7","title":"Add quality filter options to loadCapturedSessions with TDD","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-25T04:42:14.078Z","updated_at":"2025-12-25T04:49:39.904Z","closed_at":"2025-12-25T04:49:39.904Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkyhrqmecc","dependencies":[],"labels":[],"comments":[]}
|
|
40
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","title":"Eval System Improvements: Tool + Event Capture + Scorers","description":"Improve eval system with:\n1. Plugin tool for running evals (eval_run)\n2. Capture decomposition_complete events\n3. Capture VIOLATION events\n4. Improve compaction prompt structure\n5. Add review efficiency scorer\n6. Enforce knowledge gathering validation\n\nTarget: 70% → 85% overall eval score","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-25T05:28:16.999Z","updated_at":"2025-12-25T05:28:16.999Z","dependencies":[],"labels":[],"comments":[]}
|
|
41
29
|
{"id":"opencode-swarm-plugin--ys7z8-mjl04zn4u31","title":"Add eval_run plugin tool","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T05:28:17.008Z","updated_at":"2025-12-25T05:28:17.008Z","parent_id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","dependencies":[],"labels":[],"comments":[]}
|
|
42
30
|
{"id":"opencode-swarm-plugin--ys7z8-mjl04znglws","title":"Capture VIOLATION events for coordinator discipline","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T05:28:17.020Z","updated_at":"2025-12-25T05:28:17.020Z","parent_id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","dependencies":[],"labels":[],"comments":[]}
|
|
43
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjl04znlxzw","title":"Improve compaction prompt structure","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-25T05:28:17.025Z","updated_at":"2025-12-25T05:28:17.025Z","parent_id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","dependencies":[],"labels":[],"comments":[]}
|
|
44
31
|
{"id":"opencode-swarm-plugin--ys7z8-mjl04zn8by5","title":"Capture decomposition_complete event","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T05:28:17.012Z","updated_at":"2025-12-25T05:38:07.026Z","closed_at":"2025-12-25T05:38:07.026Z","parent_id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","dependencies":[],"labels":[],"comments":[]}
|
|
45
32
|
{"id":"opencode-swarm-plugin--ys7z8-mjl04znn0uk","title":"Add review efficiency scorer","status":"in_progress","priority":2,"issue_type":"task","created_at":"2025-12-25T05:28:17.027Z","updated_at":"2025-12-25T05:37:03.084Z","parent_id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","dependencies":[],"labels":[],"comments":[]}
|
|
46
33
|
{"id":"opencode-swarm-plugin--ys7z8-mjl04znqie9","title":"Update spawnEfficiency scorer fallback","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T05:28:17.030Z","updated_at":"2025-12-25T05:29:34.561Z","closed_at":"2025-12-25T05:29:34.561Z","parent_id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","dependencies":[],"labels":[],"comments":[]}
|
|
47
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","title":"ADR-009: Pattern Catalog and Innovation Documentation","description":"Comprehensive analysis of opencode-swarm-plugin to document all patterns, innovations, and ideas. Each research worker analyzes a specific domain, then a synthesis worker consolidates findings into ADR-009.","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-25T14:24:21.120Z","updated_at":"2025-12-25T14:24:21.120Z","dependencies":[],"labels":[],"comments":[]}
|
|
48
34
|
{"id":"opencode-swarm-plugin--ys7z8-mjljadmu3bx","title":"Research: Learning Systems (confidence decay, pattern maturity, anti-patterns)","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.126Z","updated_at":"2025-12-25T14:24:21.126Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
49
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjljadmw66u","title":"Research: Swarm Coordination (decomposition, orchestration, review, worktree)","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.128Z","updated_at":"2025-12-25T14:24:21.128Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
50
35
|
{"id":"opencode-swarm-plugin--ys7z8-mjljadmyadr","title":"Research: Memory & Context Preservation (compaction, semantic memory)","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.130Z","updated_at":"2025-12-25T14:24:21.130Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
51
36
|
{"id":"opencode-swarm-plugin--ys7z8-mjljadn06xp","title":"Research: Observability & Evaluation (logging, eval capture, gates)","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.132Z","updated_at":"2025-12-25T14:24:21.132Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
52
37
|
{"id":"opencode-swarm-plugin--ys7z8-mjljadn1c2k","title":"Research: Skills System & Knowledge Injection","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.133Z","updated_at":"2025-12-25T14:24:21.133Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
53
|
-
{"id":"opencode-swarm-plugin--ys7z8-mjljadn7knk","title":"Research: Mandates, Guardrails & Structured Output","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.139Z","updated_at":"2025-12-25T14:24:21.139Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
54
38
|
{"id":"opencode-swarm-plugin--ys7z8-mjljadn8e6u","title":"Research: Existing ADRs & Documentation Gaps","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.140Z","updated_at":"2025-12-25T14:24:21.140Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
55
39
|
{"id":"opencode-swarm-plugin--ys7z8-mjljadnaj6o","title":"Synthesize: Write ADR-009 Pattern Catalog","status":"open","priority":0,"issue_type":"task","created_at":"2025-12-25T14:24:21.142Z","updated_at":"2025-12-25T14:24:21.142Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
40
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","title":"ADR-009: Pattern Catalog and Innovation Documentation","description":"## ADR-009: Patterns from oh-my-opencode\n\nResearch complete. ADR written at `docs/planning/ADR-009-oh-my-opencode-patterns.md`\n\n### Patterns to Adopt (from code-yeongyu/oh-my-opencode)\n\n**HIGH PRIORITY:**\n1. 7-Section Delegation Protocol - structured coordinator → worker prompts\n2. Compaction Context Injection - preserve decomposition strategy through compaction\n3. Preemptive Compaction - compact at 80% threshold, not 100% overflow\n4. Event + Polling Hybrid - faster completion detection\n5. Parallel Execution Minimums - force 3+ parallel tool calls for researchers\n6. Context-Safe Tool Limits - hard caps on repo-autopsy, cass, find-exports\n\n**MEDIUM PRIORITY:**\n7. Todo-Aware Completion - check for unfinished work before marking done\n8. Think Mode Auto-Switching - extended thinking for complex decomposition\n\n### Implementation Phases\n- Phase 1: Delegation Protocol + Context Injection\n- Phase 2: Preemptive Compaction + Event Hybrid\n- Phase 3: Tool Limits + Parallel Enforcement\n- Phase 4: Bonus Features\n\n### Attribution\nAll patterns credited to code-yeongyu/oh-my-opencode (2961★)","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T14:24:21.120Z","updated_at":"2025-12-25T14:43:59.615Z","closed_at":"2025-12-25T14:43:59.615Z","dependencies":[],"labels":[],"comments":[]}
|
|
41
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlk7js9bt1","title":"Eval System Full Audit","description":"Comprehensive audit of the evalite-based eval system. Investigate infrastructure, data sources, scorers, session logs, and identify improvement opportunities. Current scores: compaction-prompt 53%, coordinator-behavior 77%, example 0%, compaction-resumption 93%, swarm-decomposition 70%, coordinator-session 66%.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T14:50:08.745Z","updated_at":"2025-12-25T15:04:48.646Z","closed_at":"2025-12-25T15:04:48.646Z","dependencies":[],"labels":[],"comments":[]}
|
|
42
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlk7jsilk9","title":"Audit eval infrastructure and architecture","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T14:50:08.754Z","updated_at":"2025-12-25T14:59:50.106Z","closed_at":"2025-12-25T14:59:50.106Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlk7js9bt1","dependencies":[],"labels":[],"comments":[]}
|
|
43
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlk7jsl4tt","title":"Analyze failing evals - example.eval.ts (0%) and compaction-prompt (53%)","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-25T14:50:08.757Z","updated_at":"2025-12-25T14:59:51.856Z","closed_at":"2025-12-25T14:59:51.856Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlk7js9bt1","dependencies":[],"labels":[],"comments":[]}
|
|
44
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlk7jspacf","title":"Audit session data quality and filtering","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T14:50:08.761Z","updated_at":"2025-12-25T14:59:53.284Z","closed_at":"2025-12-25T14:59:53.284Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlk7js9bt1","dependencies":[],"labels":[],"comments":[]}
|
|
45
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlk7jsrvls","title":"Analyze scorer implementations and scoring patterns","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T14:50:08.763Z","updated_at":"2025-12-25T14:59:54.612Z","closed_at":"2025-12-25T14:59:54.612Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlk7js9bt1","dependencies":[],"labels":[],"comments":[]}
|
|
46
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlk7jstvch","title":"Synthesize findings and propose improvements","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T14:50:08.765Z","updated_at":"2025-12-25T15:04:46.898Z","closed_at":"2025-12-25T15:04:46.898Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlk7js9bt1","dependencies":[],"labels":[],"comments":[]}
|
|
47
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","title":"Eval System Improvements: Tool + Event Capture + Scorers","description":"Improve eval system with:\n1. Plugin tool for running evals (eval_run)\n2. Capture decomposition_complete events\n3. Capture VIOLATION events\n4. Improve compaction prompt structure\n5. Add review efficiency scorer\n6. Enforce knowledge gathering validation\n\nTarget: 70% → 85% overall eval score","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T05:28:16.999Z","updated_at":"2025-12-25T16:06:41.043Z","closed_at":"2025-12-25T16:06:41.043Z","dependencies":[],"labels":[],"comments":[]}
|
|
48
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjl04znlxzw","title":"Improve compaction prompt structure","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T05:28:17.025Z","updated_at":"2025-12-25T16:06:31.435Z","closed_at":"2025-12-25T16:06:31.435Z","parent_id":"opencode-swarm-plugin--ys7z8-mjl04zmvv7c","dependencies":[],"labels":[],"comments":[]}
|
|
49
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlnn93f5t1","title":"Eval-Driven Improvement Flywheel","description":"Wire up the complete eval improvement feedback loop:\n1. Connect eval-runner to eval-history (recordEvalRun)\n2. Add checkGate + learnFromEvalFailure integration\n3. Add eval:gate script for CI\n4. Inject failures into coordinator prompts\n5. Add GitHub Actions workflow\n\nGoal: Evals drive real improvement over time via automated regression detection and learning.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T16:26:20.235Z","updated_at":"2025-12-25T16:49:21.513Z","closed_at":"2025-12-25T16:49:21.513Z","dependencies":[],"labels":[],"comments":[]}
|
|
50
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlnn93leeb","title":"Wire recordEvalRun into eval-runner","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T16:26:20.241Z","updated_at":"2025-12-25T16:33:02.253Z","closed_at":"2025-12-25T16:33:02.253Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlnn93f5t1","dependencies":[],"labels":[],"comments":[]}
|
|
51
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlnn93ux01","title":"Add checkGate + learnFromEvalFailure to eval-runner","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T16:26:20.250Z","updated_at":"2025-12-25T16:40:50.736Z","closed_at":"2025-12-25T16:40:50.736Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlnn93f5t1","dependencies":[],"labels":[],"comments":[]}
|
|
52
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlnn93vdrq","title":"Add eval:gate script for CI","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T16:26:20.251Z","updated_at":"2025-12-25T16:46:33.480Z","closed_at":"2025-12-25T16:46:33.480Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlnn93f5t1","dependencies":[],"labels":[],"comments":[]}
|
|
53
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlnn93xd5t","title":"Inject eval failures into coordinator prompts","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T16:26:20.253Z","updated_at":"2025-12-25T16:46:35.136Z","closed_at":"2025-12-25T16:46:35.136Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlnn93f5t1","dependencies":[],"labels":[],"comments":[]}
|
|
54
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlnn9412oc","title":"Add GitHub Actions eval workflow","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T16:26:20.257Z","updated_at":"2025-12-25T16:49:12.694Z","closed_at":"2025-12-25T16:49:12.694Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlnn93f5t1","dependencies":[],"labels":[],"comments":[]}
|
|
55
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjljadmw66u","title":"Research: Swarm Coordination (decomposition, orchestration, review, worktree)","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.128Z","updated_at":"2025-12-25T16:50:12.242Z","closed_at":"2025-12-25T16:50:12.242Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
56
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjljadn7knk","title":"Research: Mandates, Guardrails & Structured Output","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T14:24:21.139Z","updated_at":"2025-12-25T16:50:13.275Z","closed_at":"2025-12-25T16:50:13.275Z","parent_id":"opencode-swarm-plugin--ys7z8-mjljadmo9mg","dependencies":[],"labels":[],"comments":[]}
|
|
57
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjltv0j8x4n","title":"Audit & fix data capture gaps","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-25T19:20:20.084Z","updated_at":"2025-12-25T19:30:57.891Z","closed_at":"2025-12-25T19:30:57.891Z","parent_id":"opencode-swarm-plugin--ys7z8-mjltv0ievr0","dependencies":[],"labels":[],"comments":[]}
|
|
58
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjltv0jcpjx","title":"Add swarm stats CLI command","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T19:20:20.088Z","updated_at":"2025-12-25T19:30:59.853Z","closed_at":"2025-12-25T19:30:59.853Z","parent_id":"opencode-swarm-plugin--ys7z8-mjltv0ievr0","dependencies":[],"labels":[],"comments":[]}
|
|
59
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjltv0jhsd6","title":"Add swarm history CLI command","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T19:20:20.093Z","updated_at":"2025-12-25T19:31:01.913Z","closed_at":"2025-12-25T19:31:01.913Z","parent_id":"opencode-swarm-plugin--ys7z8-mjltv0ievr0","dependencies":[],"labels":[],"comments":[]}
|
|
60
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjltv0jlqz3","title":"Add prompt injection of insights","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:20:20.097Z","updated_at":"2025-12-25T19:41:22.866Z","closed_at":"2025-12-25T19:41:22.866Z","parent_id":"opencode-swarm-plugin--ys7z8-mjltv0ievr0","dependencies":[],"labels":[],"comments":[]}
|
|
61
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjltv0jn9mo","title":"Create TanStack Start dashboard scaffold","description":"BLOCKED: TanStack version conflict. @tanstack/start-config@1.120.20 expects CONSTANTS export missing from @tanstack/router-generator@1.120.4. Scaffold created but dev server fails. Options: downgrade to 1.91.x, migrate to Vite, or await patch.","status":"blocked","priority":2,"issue_type":"task","created_at":"2025-12-25T19:20:20.099Z","updated_at":"2025-12-25T19:41:25.571Z","parent_id":"opencode-swarm-plugin--ys7z8-mjltv0ievr0","dependencies":[],"labels":[],"comments":[]}
|
|
62
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjltv0jqpc4","title":"Add real-time streaming to dashboard","description":"BLOCKED: Depends on dashboard scaffold (mjltv0jn9mo) which is blocked by TanStack version conflict.","status":"blocked","priority":3,"issue_type":"task","created_at":"2025-12-25T19:20:20.102Z","updated_at":"2025-12-25T19:41:27.255Z","parent_id":"opencode-swarm-plugin--ys7z8-mjltv0ievr0","dependencies":[],"labels":[],"comments":[]}
|
|
63
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlu8vf4cir","title":"handleSubtaskOutcomeDrizzle is a stub - outcomes not persisted","description":"Found during O11y epic: packages/swarm-mail/src/streams/store-drizzle.ts has handleSubtaskOutcomeDrizzle() as a stub. This means subtask_outcome events are emitted but eval_records.outcomes array never gets populated.\n\nImpact: swarm history shows empty, success rates always 0%.\n\nLocation: packages/swarm-mail/src/streams/store-drizzle.ts\nRelated: handleSubtaskOutcome in store.ts (PGlite version) has the full implementation.","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-25T19:31:06.640Z","updated_at":"2025-12-25T19:44:30.687Z","closed_at":"2025-12-25T19:44:30.687Z","dependencies":[],"labels":[],"comments":[]}
|
|
64
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","title":"Hive TUI - Terminal Visualizer for Swarm Activity","description":"Phase 2 of Hive Visualizer: Terminal-based dashboard using OpenTUI showing real-time swarm activity.\n\n## Architecture\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│ HIVE TUI │\n├─────────────────────────────────────────────────────────────┤\n│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │\n│ │ AGENTS │ │ EVENTS │ │ CELLS │ │\n│ │ PANE │ │ PANE │ │ PANE │ │\n│ │ │ │ │ │ │ │\n│ │ SwiftStone │ │ agent_reg │ │ ● Epic-123 │ │\n│ │ BlueLake ● │ │ task_start │ │ ├─ Task-1 ✓ │ │\n│ │ IronPeak │ │ msg_sent │ │ ├─ Task-2 ◐ │ │\n│ │ │ │ ... │ │ └─ Task-3 ○ │ │\n│ └─────────────┘ └─────────────┘ └─────────────────┘ │\n└─────────────────────────────────────────────────────────────┘\n ▲\n │ SSE\n ┌─────────┴─────────┐\n │ DurableStreamServer│\n │ (from Phase 1) │\n └───────────────────┘\n```\n\n## Tech Stack\n- OpenTUI (@opentui/core) - TUI framework from SST\n- Durable Streams SSE client - consumes Phase 1 server\n- New package: packages/hive-tui/\n\n## Execution Order\n1. Package scaffold (first - creates structure)\n2. Data layer, Agents pane, Events pane, Cells pane (parallel after 1)\n3. Main layout + CLI (last - composes everything)\n\n## Success Criteria\n- `hive-tui` command launches dashboard\n- Live updates via SSE from DurableStreamServer\n- Keyboard navigation between panes\n- Shows: active agents, event stream, cell tree with status","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-24T23:21:42.322Z","updated_at":"2025-12-25T20:26:24.190Z","closed_at":"2025-12-25T20:26:24.190Z","dependencies":[],"labels":[],"comments":[]}
|
|
65
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kfwppx","title":"Package scaffold (packages/hive-tui/)","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-24T23:21:42.332Z","updated_at":"2025-12-25T20:26:43.234Z","closed_at":"2025-12-25T20:26:43.234Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
66
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kfzpxp","title":"SSE data layer connecting to DurableStreamServer","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-24T23:21:42.335Z","updated_at":"2025-12-25T20:26:25.511Z","closed_at":"2025-12-25T20:26:25.511Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
67
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kg44fk","title":"Agents pane component","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T23:21:42.340Z","updated_at":"2025-12-25T20:25:55.030Z","closed_at":"2025-12-25T20:25:55.030Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
68
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kg8qrn","title":"Events pane component with live tail","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T23:21:42.344Z","updated_at":"2025-12-25T20:25:56.299Z","closed_at":"2025-12-25T20:25:56.299Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
69
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kga43j","title":"Cells pane component with tree view","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T23:21:42.346Z","updated_at":"2025-12-25T20:25:57.454Z","closed_at":"2025-12-25T20:25:57.454Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
70
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjkn1kgcjpl","title":"Main layout + CLI entry point","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-24T23:21:42.348Z","updated_at":"2025-12-25T20:25:53.869Z","closed_at":"2025-12-25T20:25:53.869Z","parent_id":"opencode-swarm-plugin--ys7z8-mjkn1kfmt00","dependencies":[],"labels":[],"comments":[]}
|
|
71
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjknrr4aqj0","title":"Add OAuth","description":"Implement OAuth authentication","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-24T23:42:04.042Z","updated_at":"2025-12-25T20:26:26.832Z","closed_at":"2025-12-25T20:26:26.832Z","dependencies":[],"labels":[],"comments":[]}
|
|
72
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjknrr4ghia","title":"Add auth service","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-24T23:42:04.048Z","updated_at":"2025-12-25T20:25:58.588Z","closed_at":"2025-12-25T20:25:58.588Z","parent_id":"opencode-swarm-plugin--ys7z8-mjknrr4aqj0","dependencies":[],"labels":[],"comments":[]}
|
|
73
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjknrr4ssue","title":"Fix bug","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-24T23:42:04.060Z","updated_at":"2025-12-25T20:26:27.586Z","closed_at":"2025-12-25T20:26:27.586Z","dependencies":[],"labels":[],"comments":[]}
|
|
74
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjknrr4uw8i","title":"Fix auth bug","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-24T23:42:04.062Z","updated_at":"2025-12-25T20:26:28.581Z","closed_at":"2025-12-25T20:26:28.581Z","parent_id":"opencode-swarm-plugin--ys7z8-mjknrr4ssue","dependencies":[],"labels":[],"comments":[]}
|
|
75
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt2jmpqns","title":"Test Epic for Eval Pipeline","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T18:58:11.809Z","updated_at":"2025-12-25T20:26:29.651Z","closed_at":"2025-12-25T20:26:29.651Z","dependencies":[],"labels":[],"comments":[]}
|
|
76
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt2jmvwt3","title":"Subtask 1","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T18:58:11.815Z","updated_at":"2025-12-25T20:25:59.350Z","closed_at":"2025-12-25T20:25:59.350Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt2jmpqns","dependencies":[],"labels":[],"comments":[]}
|
|
77
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt2jmx81f","title":"Subtask 2","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T18:58:11.817Z","updated_at":"2025-12-25T20:26:00.139Z","closed_at":"2025-12-25T20:26:00.139Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt2jmpqns","dependencies":[],"labels":[],"comments":[]}
|
|
78
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58qq9m4","title":"Test Epic 1","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T19:00:17.666Z","updated_at":"2025-12-25T20:26:30.477Z","closed_at":"2025-12-25T20:26:30.477Z","dependencies":[],"labels":[],"comments":[]}
|
|
79
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58qxi13","title":"Subtask 0.1","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.673Z","updated_at":"2025-12-25T20:26:01.006Z","closed_at":"2025-12-25T20:26:01.006Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58qq9m4","dependencies":[],"labels":[],"comments":[]}
|
|
80
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58r3din","title":"Subtask 0.2","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.679Z","updated_at":"2025-12-25T20:26:01.782Z","closed_at":"2025-12-25T20:26:01.782Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58qq9m4","dependencies":[],"labels":[],"comments":[]}
|
|
81
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58rnyoo","title":"Test Epic 2","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T19:00:17.699Z","updated_at":"2025-12-25T20:26:31.288Z","closed_at":"2025-12-25T20:26:31.288Z","dependencies":[],"labels":[],"comments":[]}
|
|
82
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58rpj98","title":"Subtask 1.1","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.701Z","updated_at":"2025-12-25T20:26:02.519Z","closed_at":"2025-12-25T20:26:02.519Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58rnyoo","dependencies":[],"labels":[],"comments":[]}
|
|
83
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58rrg2w","title":"Subtask 1.2","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.703Z","updated_at":"2025-12-25T20:26:16.942Z","closed_at":"2025-12-25T20:26:16.942Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58rnyoo","dependencies":[],"labels":[],"comments":[]}
|
|
84
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58s4r63","title":"Test Epic 3","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T19:00:17.716Z","updated_at":"2025-12-25T20:26:32.137Z","closed_at":"2025-12-25T20:26:32.137Z","dependencies":[],"labels":[],"comments":[]}
|
|
85
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58s6xsl","title":"Subtask 2.1","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.718Z","updated_at":"2025-12-25T20:26:17.878Z","closed_at":"2025-12-25T20:26:17.878Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58s4r63","dependencies":[],"labels":[],"comments":[]}
|
|
86
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58s8wgu","title":"Subtask 2.2","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.720Z","updated_at":"2025-12-25T20:26:18.708Z","closed_at":"2025-12-25T20:26:18.708Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58s4r63","dependencies":[],"labels":[],"comments":[]}
|
|
87
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58sdhmg","title":"Test Epic 4","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T19:00:17.725Z","updated_at":"2025-12-25T20:26:33.048Z","closed_at":"2025-12-25T20:26:33.048Z","dependencies":[],"labels":[],"comments":[]}
|
|
88
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58sggac","title":"Subtask 3.1","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.728Z","updated_at":"2025-12-25T20:26:20.429Z","closed_at":"2025-12-25T20:26:20.429Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58sdhmg","dependencies":[],"labels":[],"comments":[]}
|
|
89
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58sih1z","title":"Subtask 3.2","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.730Z","updated_at":"2025-12-25T20:26:20.607Z","closed_at":"2025-12-25T20:26:20.607Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58sdhmg","dependencies":[],"labels":[],"comments":[]}
|
|
90
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58srqht","title":"Test Epic 5","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T19:00:17.739Z","updated_at":"2025-12-25T20:26:33.601Z","closed_at":"2025-12-25T20:26:33.601Z","dependencies":[],"labels":[],"comments":[]}
|
|
91
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58st6u2","title":"Subtask 4.1","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.741Z","updated_at":"2025-12-25T20:26:21.379Z","closed_at":"2025-12-25T20:26:21.379Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58srqht","dependencies":[],"labels":[],"comments":[]}
|
|
92
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlt58svjte","title":"Subtask 4.2","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:00:17.743Z","updated_at":"2025-12-25T20:26:22.297Z","closed_at":"2025-12-25T20:26:22.297Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlt58srqht","dependencies":[],"labels":[],"comments":[]}
|
|
93
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlv8hy1tzf","title":"Vite + React Dashboard (replacing TanStack Start)","description":"Fresh Vite + React dashboard replacing blocked TanStack Start package. Preserves reusable components (StatsGrid, SwarmCard, api.ts). Provides real-time visualization of swarm activity via SSE.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T19:58:48.793Z","updated_at":"2025-12-25T20:27:23.720Z","closed_at":"2025-12-25T20:27:23.720Z","dependencies":[],"labels":[],"comments":[]}
|
|
94
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlv8hylexw","title":"Package scaffold: Delete TanStack, create Vite + React","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-25T19:58:48.813Z","updated_at":"2025-12-25T20:26:45.183Z","closed_at":"2025-12-25T20:26:45.183Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlv8hy1tzf","dependencies":[],"labels":[],"comments":[]}
|
|
95
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlv8hz0mpf","title":"SSE data layer with EventSource hook","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:58:48.828Z","updated_at":"2025-12-25T20:08:52.360Z","closed_at":"2025-12-25T20:08:52.360Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlv8hy1tzf","dependencies":[],"labels":[],"comments":[]}
|
|
96
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlv8hz9ovm","title":"Agents pane component","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:58:48.837Z","updated_at":"2025-12-25T20:18:32.293Z","closed_at":"2025-12-25T20:18:32.293Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlv8hy1tzf","dependencies":[],"labels":[],"comments":[]}
|
|
97
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlv8hzdnf2","title":"Events pane with live tail","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:58:48.841Z","updated_at":"2025-12-25T20:18:33.574Z","closed_at":"2025-12-25T20:18:33.574Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlv8hy1tzf","dependencies":[],"labels":[],"comments":[]}
|
|
98
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlv8hzi0bv","title":"Cells pane with tree view","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T19:58:48.846Z","updated_at":"2025-12-25T20:18:34.562Z","closed_at":"2025-12-25T20:18:34.562Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlv8hy1tzf","dependencies":[],"labels":[],"comments":[]}
|
|
99
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlv8hzxyee","title":"Main layout with keyboard navigation","status":"closed","priority":3,"issue_type":"task","created_at":"2025-12-25T19:58:48.861Z","updated_at":"2025-12-25T20:24:43.227Z","closed_at":"2025-12-25T20:24:43.227Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlv8hy1tzf","dependencies":[],"labels":[],"comments":[]}
|
|
100
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlm2nmf2hw","title":"P0 Eval Fixes","description":"Immediate fixes from eval audit. Target: restore eval health (0%→100%, 53%→70%), remove 250 LOC dead code.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-25T15:42:19.671Z","updated_at":"2025-12-25T20:40:14.672Z","closed_at":"2025-12-25T20:40:14.672Z","dependencies":[],"labels":[],"comments":[]}
|
|
101
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlm2nmlu3m","title":"Fix example.eval.ts data/task mismatch","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-25T15:42:19.677Z","updated_at":"2025-12-25T20:40:00.437Z","closed_at":"2025-12-25T20:40:00.437Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlm2nmf2hw","dependencies":[],"labels":[],"comments":[]}
|
|
102
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlm2nmont1","title":"Fix compaction-prompt case-sensitive regex and missing tools","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-25T15:42:19.680Z","updated_at":"2025-12-25T20:40:02.213Z","closed_at":"2025-12-25T20:40:02.213Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlm2nmf2hw","dependencies":[],"labels":[],"comments":[]}
|
|
103
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlm2nmt1kq","title":"Remove 4 unused coordinator scorers","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-25T15:42:19.685Z","updated_at":"2025-12-25T20:40:03.974Z","closed_at":"2025-12-25T20:40:03.974Z","parent_id":"opencode-swarm-plugin--ys7z8-mjlm2nmf2hw","dependencies":[],"labels":[],"comments":[]}
|
|
104
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjltv0ievr0","title":"Swarm O11y & Eval Insights Pipeline","description":"Comprehensive observability and eval insights for swarm coordination.\n\nCOMPLETED:\n1. ✅ `swarm serve` command - starts SSE server on configurable port\n2. ✅ Dashboard panes wired to real data (CellsPane, AgentsPane)\n3. ✅ Vite + React dashboard with SSE hooks\n\nREMAINING:\n- GET /cells endpoint on server (dashboard blocked on this)\n- Fix dashboard test fixtures for mock server\n- CLI commands: `swarm stats`, `swarm history`\n- Prompt injection for insights","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-25T19:20:20.054Z","updated_at":"2025-12-25T20:40:19.433Z","dependencies":[],"labels":[],"comments":[]}
|
|
105
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlwcoh8ut2","title":"Add `swarm serve` command to start SSE server","description":"Add a `serve` subcommand to bin/swarm.ts that starts the DurableStreamServer on a configurable port (default 3001).\n\nFiles: bin/swarm.ts\n\nImplementation:\n1. Add `serve` case to the switch statement\n2. Import createDurableStreamServer from swarm-mail\n3. Start server with adapter from getSwarmMailLibSQL()\n4. Print URL to console\n5. Keep process alive\n\nExample usage: `swarm serve --port 3001`\n\nThe dashboard at localhost:5173 will connect to this SSE endpoint.","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T20:30:03.500Z","updated_at":"2025-12-25T20:40:05.728Z","closed_at":"2025-12-25T20:40:05.728Z","dependencies":[],"labels":[],"comments":[]}
|
|
106
|
+
{"id":"opencode-swarm-plugin--ys7z8-mjlwcslohuv","title":"Wire dashboard panes to real swarm-mail data","description":"Connect CellsPane and AgentsPane to real data from the SSE server.\n\nFiles: \n- packages/swarm-dashboard/src/lib/api.ts\n- packages/swarm-dashboard/src/components/CellsPane.tsx\n- packages/swarm-dashboard/src/components/AgentsPane.tsx\n- packages/swarm-dashboard/src/hooks/useSwarmEvents.ts\n\nImplementation:\n1. Update api.ts to fetch cells from hive (can use REST endpoint or derive from events)\n2. Update CellsPane to use real cell data instead of mock\n3. Update AgentsPane to derive agent list from SSE events (agent_registered events)\n4. Ensure useSwarmEvents properly accumulates agent state\n\nThe SSE server runs at localhost:3001 (from `swarm serve` command).","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-25T20:30:08.844Z","updated_at":"2025-12-25T20:40:07.548Z","closed_at":"2025-12-25T20:40:07.548Z","dependencies":[],"labels":[],"comments":[]}
|