opencode-swarm-plugin 0.44.0 → 0.44.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/bin/swarm.serve.test.ts +6 -4
- package/bin/swarm.ts +16 -10
- package/dist/compaction-prompt-scoring.js +139 -0
- package/dist/eval-capture.js +12811 -0
- package/dist/hive.d.ts.map +1 -1
- package/dist/index.js +7644 -62599
- package/dist/plugin.js +23766 -78721
- package/dist/swarm-orchestrate.d.ts.map +1 -1
- package/dist/swarm-prompts.d.ts.map +1 -1
- package/dist/swarm-review.d.ts.map +1 -1
- package/package.json +17 -5
- package/.changeset/swarm-insights-data-layer.md +0 -63
- package/.hive/analysis/eval-failure-analysis-2025-12-25.md +0 -331
- package/.hive/analysis/session-data-quality-audit.md +0 -320
- package/.hive/eval-results.json +0 -483
- package/.hive/issues.jsonl +0 -138
- package/.hive/memories.jsonl +0 -729
- package/.opencode/eval-history.jsonl +0 -327
- package/.turbo/turbo-build.log +0 -9
- package/CHANGELOG.md +0 -2286
- package/SCORER-ANALYSIS.md +0 -598
- package/docs/analysis/subagent-coordination-patterns.md +0 -902
- package/docs/analysis-socratic-planner-pattern.md +0 -504
- package/docs/planning/ADR-001-monorepo-structure.md +0 -171
- package/docs/planning/ADR-002-package-extraction.md +0 -393
- package/docs/planning/ADR-003-performance-improvements.md +0 -451
- package/docs/planning/ADR-004-message-queue-features.md +0 -187
- package/docs/planning/ADR-005-devtools-observability.md +0 -202
- package/docs/planning/ADR-007-swarm-enhancements-worktree-review.md +0 -168
- package/docs/planning/ADR-008-worker-handoff-protocol.md +0 -293
- package/docs/planning/ADR-009-oh-my-opencode-patterns.md +0 -353
- package/docs/planning/ADR-010-cass-inhousing.md +0 -1215
- package/docs/planning/ROADMAP.md +0 -368
- package/docs/semantic-memory-cli-syntax.md +0 -123
- package/docs/swarm-mail-architecture.md +0 -1147
- package/docs/testing/context-recovery-test.md +0 -470
- package/evals/ARCHITECTURE.md +0 -1189
- package/evals/README.md +0 -768
- package/evals/compaction-prompt.eval.ts +0 -149
- package/evals/compaction-resumption.eval.ts +0 -289
- package/evals/coordinator-behavior.eval.ts +0 -307
- package/evals/coordinator-session.eval.ts +0 -154
- package/evals/evalite.config.ts.bak +0 -15
- package/evals/example.eval.ts +0 -31
- package/evals/fixtures/cass-baseline.ts +0 -217
- package/evals/fixtures/compaction-cases.ts +0 -350
- package/evals/fixtures/compaction-prompt-cases.ts +0 -311
- package/evals/fixtures/coordinator-sessions.ts +0 -328
- package/evals/fixtures/decomposition-cases.ts +0 -105
- package/evals/lib/compaction-loader.test.ts +0 -248
- package/evals/lib/compaction-loader.ts +0 -320
- package/evals/lib/data-loader.evalite-test.ts +0 -289
- package/evals/lib/data-loader.test.ts +0 -345
- package/evals/lib/data-loader.ts +0 -281
- package/evals/lib/llm.ts +0 -115
- package/evals/scorers/compaction-prompt-scorers.ts +0 -145
- package/evals/scorers/compaction-scorers.ts +0 -305
- package/evals/scorers/coordinator-discipline.evalite-test.ts +0 -539
- package/evals/scorers/coordinator-discipline.ts +0 -325
- package/evals/scorers/index.test.ts +0 -146
- package/evals/scorers/index.ts +0 -328
- package/evals/scorers/outcome-scorers.evalite-test.ts +0 -27
- package/evals/scorers/outcome-scorers.ts +0 -349
- package/evals/swarm-decomposition.eval.ts +0 -121
- package/examples/commands/swarm.md +0 -745
- package/examples/plugin-wrapper-template.ts +0 -2515
- package/examples/skills/hive-workflow/SKILL.md +0 -212
- package/examples/skills/skill-creator/SKILL.md +0 -223
- package/examples/skills/swarm-coordination/SKILL.md +0 -292
- package/global-skills/cli-builder/SKILL.md +0 -344
- package/global-skills/cli-builder/references/advanced-patterns.md +0 -244
- package/global-skills/learning-systems/SKILL.md +0 -644
- package/global-skills/skill-creator/LICENSE.txt +0 -202
- package/global-skills/skill-creator/SKILL.md +0 -352
- package/global-skills/skill-creator/references/output-patterns.md +0 -82
- package/global-skills/skill-creator/references/workflows.md +0 -28
- package/global-skills/swarm-coordination/SKILL.md +0 -995
- package/global-skills/swarm-coordination/references/coordinator-patterns.md +0 -235
- package/global-skills/swarm-coordination/references/strategies.md +0 -138
- package/global-skills/system-design/SKILL.md +0 -213
- package/global-skills/testing-patterns/SKILL.md +0 -430
- package/global-skills/testing-patterns/references/dependency-breaking-catalog.md +0 -586
- package/opencode-swarm-plugin-0.30.7.tgz +0 -0
- package/opencode-swarm-plugin-0.31.0.tgz +0 -0
- package/scripts/cleanup-test-memories.ts +0 -346
- package/scripts/init-skill.ts +0 -222
- package/scripts/migrate-unknown-sessions.ts +0 -349
- package/scripts/validate-skill.ts +0 -204
- package/src/agent-mail.ts +0 -1724
- package/src/anti-patterns.test.ts +0 -1167
- package/src/anti-patterns.ts +0 -448
- package/src/compaction-capture.integration.test.ts +0 -257
- package/src/compaction-hook.test.ts +0 -838
- package/src/compaction-hook.ts +0 -1204
- package/src/compaction-observability.integration.test.ts +0 -139
- package/src/compaction-observability.test.ts +0 -187
- package/src/compaction-observability.ts +0 -324
- package/src/compaction-prompt-scorers.test.ts +0 -475
- package/src/compaction-prompt-scoring.ts +0 -300
- package/src/contributor-tools.test.ts +0 -133
- package/src/contributor-tools.ts +0 -201
- package/src/dashboard.test.ts +0 -611
- package/src/dashboard.ts +0 -462
- package/src/error-enrichment.test.ts +0 -403
- package/src/error-enrichment.ts +0 -219
- package/src/eval-capture.test.ts +0 -1015
- package/src/eval-capture.ts +0 -929
- package/src/eval-gates.test.ts +0 -306
- package/src/eval-gates.ts +0 -218
- package/src/eval-history.test.ts +0 -508
- package/src/eval-history.ts +0 -214
- package/src/eval-learning.test.ts +0 -378
- package/src/eval-learning.ts +0 -360
- package/src/eval-runner.test.ts +0 -223
- package/src/eval-runner.ts +0 -402
- package/src/export-tools.test.ts +0 -476
- package/src/export-tools.ts +0 -257
- package/src/hive.integration.test.ts +0 -2241
- package/src/hive.ts +0 -1628
- package/src/index.ts +0 -940
- package/src/learning.integration.test.ts +0 -1815
- package/src/learning.ts +0 -1079
- package/src/logger.test.ts +0 -189
- package/src/logger.ts +0 -135
- package/src/mandate-promotion.test.ts +0 -473
- package/src/mandate-promotion.ts +0 -239
- package/src/mandate-storage.integration.test.ts +0 -601
- package/src/mandate-storage.test.ts +0 -578
- package/src/mandate-storage.ts +0 -794
- package/src/mandates.ts +0 -540
- package/src/memory-tools.test.ts +0 -195
- package/src/memory-tools.ts +0 -344
- package/src/memory.integration.test.ts +0 -334
- package/src/memory.test.ts +0 -158
- package/src/memory.ts +0 -527
- package/src/model-selection.test.ts +0 -188
- package/src/model-selection.ts +0 -68
- package/src/observability-tools.test.ts +0 -359
- package/src/observability-tools.ts +0 -871
- package/src/output-guardrails.test.ts +0 -438
- package/src/output-guardrails.ts +0 -381
- package/src/pattern-maturity.test.ts +0 -1160
- package/src/pattern-maturity.ts +0 -525
- package/src/planning-guardrails.test.ts +0 -491
- package/src/planning-guardrails.ts +0 -438
- package/src/plugin.ts +0 -23
- package/src/post-compaction-tracker.test.ts +0 -251
- package/src/post-compaction-tracker.ts +0 -237
- package/src/query-tools.test.ts +0 -636
- package/src/query-tools.ts +0 -324
- package/src/rate-limiter.integration.test.ts +0 -466
- package/src/rate-limiter.ts +0 -774
- package/src/replay-tools.test.ts +0 -496
- package/src/replay-tools.ts +0 -240
- package/src/repo-crawl.integration.test.ts +0 -441
- package/src/repo-crawl.ts +0 -610
- package/src/schemas/cell-events.test.ts +0 -347
- package/src/schemas/cell-events.ts +0 -807
- package/src/schemas/cell.ts +0 -257
- package/src/schemas/evaluation.ts +0 -166
- package/src/schemas/index.test.ts +0 -199
- package/src/schemas/index.ts +0 -286
- package/src/schemas/mandate.ts +0 -232
- package/src/schemas/swarm-context.ts +0 -115
- package/src/schemas/task.ts +0 -161
- package/src/schemas/worker-handoff.test.ts +0 -302
- package/src/schemas/worker-handoff.ts +0 -131
- package/src/sessions/agent-discovery.test.ts +0 -137
- package/src/sessions/agent-discovery.ts +0 -112
- package/src/sessions/index.ts +0 -15
- package/src/skills.integration.test.ts +0 -1192
- package/src/skills.test.ts +0 -643
- package/src/skills.ts +0 -1549
- package/src/storage.integration.test.ts +0 -341
- package/src/storage.ts +0 -884
- package/src/structured.integration.test.ts +0 -817
- package/src/structured.test.ts +0 -1046
- package/src/structured.ts +0 -762
- package/src/swarm-decompose.test.ts +0 -188
- package/src/swarm-decompose.ts +0 -1302
- package/src/swarm-deferred.integration.test.ts +0 -157
- package/src/swarm-deferred.test.ts +0 -38
- package/src/swarm-insights.test.ts +0 -214
- package/src/swarm-insights.ts +0 -459
- package/src/swarm-mail.integration.test.ts +0 -970
- package/src/swarm-mail.ts +0 -739
- package/src/swarm-orchestrate.integration.test.ts +0 -282
- package/src/swarm-orchestrate.test.ts +0 -548
- package/src/swarm-orchestrate.ts +0 -3084
- package/src/swarm-prompts.test.ts +0 -1270
- package/src/swarm-prompts.ts +0 -2077
- package/src/swarm-research.integration.test.ts +0 -701
- package/src/swarm-research.test.ts +0 -698
- package/src/swarm-research.ts +0 -472
- package/src/swarm-review.integration.test.ts +0 -285
- package/src/swarm-review.test.ts +0 -879
- package/src/swarm-review.ts +0 -709
- package/src/swarm-strategies.ts +0 -407
- package/src/swarm-worktree.test.ts +0 -501
- package/src/swarm-worktree.ts +0 -575
- package/src/swarm.integration.test.ts +0 -2377
- package/src/swarm.ts +0 -38
- package/src/tool-adapter.integration.test.ts +0 -1221
- package/src/tool-availability.ts +0 -461
- package/tsconfig.json +0 -28
package/docs/planning/ROADMAP.md
DELETED
|
@@ -1,368 +0,0 @@
|
|
|
1
|
-
# Implementation Roadmap
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
This roadmap implements all 5 ADRs in phased releases over 12 weeks. Each phase delivers incremental value and can ship independently.
|
|
6
|
-
|
|
7
|
-
## Phase 0: Preparation (Week 0)
|
|
8
|
-
|
|
9
|
-
**Goal:** Set up monorepo infrastructure and validate all ADRs
|
|
10
|
-
|
|
11
|
-
**Tasks:**
|
|
12
|
-
|
|
13
|
-
- [ ] Install Turborepo + configure turbo.json
|
|
14
|
-
- [ ] Set up Changesets for versioning
|
|
15
|
-
- [ ] Configure dependency-cruiser for circular dep detection
|
|
16
|
-
- [ ] Create packages/swarm-mail and packages/opencode-swarm-plugin directories
|
|
17
|
-
- [ ] Set up TypeScript project references
|
|
18
|
-
- [ ] Configure CI/CD with Turborepo caching
|
|
19
|
-
|
|
20
|
-
**Deliverables:**
|
|
21
|
-
|
|
22
|
-
- Working monorepo build (`turbo run build`)
|
|
23
|
-
- Published ADRs in docs/planning/
|
|
24
|
-
- CI pipeline running tests for both packages
|
|
25
|
-
|
|
26
|
-
**Success Criteria:**
|
|
27
|
-
|
|
28
|
-
- `bun run build` builds both packages in correct order
|
|
29
|
-
- No circular dependencies detected
|
|
30
|
-
- CI completes in <2 minutes (with caching)
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Phase 1: Package Extraction (Weeks 1-2)
|
|
35
|
-
|
|
36
|
-
**Goal:** Extract swarm-mail package and publish to npm
|
|
37
|
-
|
|
38
|
-
**ADRs:** ADR-001, ADR-002
|
|
39
|
-
|
|
40
|
-
**Tasks:**
|
|
41
|
-
|
|
42
|
-
- [ ] Move src/streams/\* to packages/swarm-mail/src/streams/
|
|
43
|
-
- [ ] Move agent-mail.ts, swarm-mail.ts to swarm-mail
|
|
44
|
-
- [ ] Update imports in opencode-swarm-plugin to use swarm-mail
|
|
45
|
-
- [ ] Migrate integration tests
|
|
46
|
-
- [ ] Write swarm-mail README with examples
|
|
47
|
-
- [ ] Add deprecation warnings in opencode-swarm-plugin
|
|
48
|
-
- [ ] Publish swarm-mail@0.1.0 to npm
|
|
49
|
-
|
|
50
|
-
**Deliverables:**
|
|
51
|
-
|
|
52
|
-
- swarm-mail published on npm
|
|
53
|
-
- opencode-swarm-plugin depends on swarm-mail
|
|
54
|
-
- Migration guide for existing users
|
|
55
|
-
- TypeDoc API documentation
|
|
56
|
-
|
|
57
|
-
**Success Criteria:**
|
|
58
|
-
|
|
59
|
-
- All tests pass in both packages
|
|
60
|
-
- swarm-mail works in standalone project
|
|
61
|
-
- No circular dependencies
|
|
62
|
-
- Published tarball <500KB
|
|
63
|
-
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
## Phase 2: Performance Optimizations (Weeks 3-4)
|
|
67
|
-
|
|
68
|
-
**Goal:** Replace polling with live queries and add batch operations
|
|
69
|
-
|
|
70
|
-
**ADRs:** ADR-003
|
|
71
|
-
|
|
72
|
-
**Tasks:**
|
|
73
|
-
|
|
74
|
-
- [ ] Create live query wrapper (src/streams/live-query.ts)
|
|
75
|
-
- [ ] Add subscription cleanup tracking
|
|
76
|
-
- [ ] Replace polling in watchInbox()
|
|
77
|
-
- [ ] Replace polling in watchEvents()
|
|
78
|
-
- [ ] Add batch message send API
|
|
79
|
-
- [ ] Add batch event append API
|
|
80
|
-
- [ ] Write integration tests for live queries
|
|
81
|
-
- [ ] Run performance benchmarks (latency, CPU, memory)
|
|
82
|
-
|
|
83
|
-
**Deliverables:**
|
|
84
|
-
|
|
85
|
-
- Live queries for inbox, events, file reservations
|
|
86
|
-
- Batch APIs for messages and events
|
|
87
|
-
- Performance benchmarks showing improvements
|
|
88
|
-
- Feature flag for gradual rollout
|
|
89
|
-
|
|
90
|
-
**Success Criteria:**
|
|
91
|
-
|
|
92
|
-
- Notification latency <50ms (99th percentile)
|
|
93
|
-
- CPU usage <1% in idle state
|
|
94
|
-
- Batch operations 10x faster than individual
|
|
95
|
-
- Memory usage increase <20%
|
|
96
|
-
|
|
97
|
-
**Metrics (Before → After):**
|
|
98
|
-
|
|
99
|
-
- Latency: 250-500ms → <10ms (25-50x improvement)
|
|
100
|
-
- CPU: 5-10% → <1% (5-10x reduction)
|
|
101
|
-
- Queries/sec: 2-4 → 0 (eliminated)
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Phase 3: Message Queue Features (Weeks 5-7)
|
|
106
|
-
|
|
107
|
-
**Goal:** Add priority queues, DLQ, TTL, pub/sub
|
|
108
|
-
|
|
109
|
-
**ADRs:** ADR-004
|
|
110
|
-
|
|
111
|
-
**Tasks:**
|
|
112
|
-
|
|
113
|
-
**Week 5: Priority Queues + DLQ**
|
|
114
|
-
|
|
115
|
-
- [ ] Add priority column to messages table
|
|
116
|
-
- [ ] Update getInbox() to ORDER BY priority DESC
|
|
117
|
-
- [ ] Create failed_messages table
|
|
118
|
-
- [ ] Implement retry logic with exponential backoff
|
|
119
|
-
- [ ] Add DLQ viewer to CLI
|
|
120
|
-
|
|
121
|
-
**Week 6: TTL + Pub/Sub**
|
|
122
|
-
|
|
123
|
-
- [ ] Add expires_at column to messages
|
|
124
|
-
- [ ] Implement background TTL cleanup job
|
|
125
|
-
- [ ] Add topic column to messages
|
|
126
|
-
- [ ] Implement subscribeToTopic() using live queries
|
|
127
|
-
- [ ] Support wildcard topic subscriptions
|
|
128
|
-
|
|
129
|
-
**Week 7: Testing + Documentation**
|
|
130
|
-
|
|
131
|
-
- [ ] Write integration tests for all features
|
|
132
|
-
- [ ] Add examples to README
|
|
133
|
-
- [ ] Document retry/DLQ behavior
|
|
134
|
-
- [ ] Document pub/sub patterns
|
|
135
|
-
|
|
136
|
-
**Deliverables:**
|
|
137
|
-
|
|
138
|
-
- Priority queues (4 levels: 0=urgent, 3=low)
|
|
139
|
-
- DLQ with retry tracking
|
|
140
|
-
- TTL with background cleanup
|
|
141
|
-
- Pub/sub with wildcard topics
|
|
142
|
-
|
|
143
|
-
**Success Criteria:**
|
|
144
|
-
|
|
145
|
-
- Priority messages processed first
|
|
146
|
-
- Failed messages retry 3x before DLQ
|
|
147
|
-
- Expired messages cleaned up within 5 minutes
|
|
148
|
-
- Topic subscriptions work with wildcards
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## Phase 4: DevTools + CLI (Weeks 8-10)
|
|
153
|
-
|
|
154
|
-
**Goal:** Build DevTools UI and CLI for observability
|
|
155
|
-
|
|
156
|
-
**ADRs:** ADR-005
|
|
157
|
-
|
|
158
|
-
**Tasks:**
|
|
159
|
-
|
|
160
|
-
**Week 8: CLI**
|
|
161
|
-
|
|
162
|
-
- [ ] Add @effect/cli dependency
|
|
163
|
-
- [ ] Implement `swarm events` command
|
|
164
|
-
- [ ] Implement `swarm messages` command
|
|
165
|
-
- [ ] Implement `swarm locks` command
|
|
166
|
-
- [ ] Implement `swarm replay` command
|
|
167
|
-
- [ ] Add `--tail` mode for real-time updates
|
|
168
|
-
|
|
169
|
-
**Week 9: DevTools UI**
|
|
170
|
-
|
|
171
|
-
- [ ] Scaffold SvelteKit app in apps/devtools
|
|
172
|
-
- [ ] Build event stream viewer
|
|
173
|
-
- [ ] Build message inbox/outbox viewer
|
|
174
|
-
- [ ] Build file reservation timeline
|
|
175
|
-
- [ ] Add SSE endpoint for real-time updates
|
|
176
|
-
|
|
177
|
-
**Week 10: Integration + Polish**
|
|
178
|
-
|
|
179
|
-
- [ ] Static export of DevTools UI
|
|
180
|
-
- [ ] Embed UI in plugin (serve at /\_swarm/devtools)
|
|
181
|
-
- [ ] Add screenshots to README
|
|
182
|
-
- [ ] Write user guide
|
|
183
|
-
|
|
184
|
-
**Deliverables:**
|
|
185
|
-
|
|
186
|
-
- CLI with 5 commands (events, messages, locks, replay, metrics)
|
|
187
|
-
- DevTools UI (embeddable SvelteKit app)
|
|
188
|
-
- Real-time updates via SSE
|
|
189
|
-
- User guide with screenshots
|
|
190
|
-
|
|
191
|
-
**Success Criteria:**
|
|
192
|
-
|
|
193
|
-
- CLI can tail events in real-time
|
|
194
|
-
- DevTools UI shows live message stream
|
|
195
|
-
- UI works offline (static export)
|
|
196
|
-
- Documentation covers all CLI commands
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## Phase 5: Metrics + Tracing (Weeks 11-12)
|
|
201
|
-
|
|
202
|
-
**Goal:** Add Prometheus metrics and OpenTelemetry tracing
|
|
203
|
-
|
|
204
|
-
**ADRs:** ADR-005
|
|
205
|
-
|
|
206
|
-
**Tasks:**
|
|
207
|
-
|
|
208
|
-
**Week 11: Metrics**
|
|
209
|
-
|
|
210
|
-
- [ ] Add prom-client dependency
|
|
211
|
-
- [ ] Instrument message send/receive latency
|
|
212
|
-
- [ ] Add lock contention histogram
|
|
213
|
-
- [ ] Add queue depth gauge
|
|
214
|
-
- [ ] Expose /metrics endpoint
|
|
215
|
-
- [ ] Add Grafana dashboard template
|
|
216
|
-
|
|
217
|
-
**Week 12: Tracing**
|
|
218
|
-
|
|
219
|
-
- [ ] Add @effect/opentelemetry dependency
|
|
220
|
-
- [ ] Instrument message send/receive spans
|
|
221
|
-
- [ ] Propagate trace context in messages
|
|
222
|
-
- [ ] Add trace_id to message metadata
|
|
223
|
-
- [ ] Test with Jaeger/Zipkin
|
|
224
|
-
- [ ] Write tracing guide
|
|
225
|
-
|
|
226
|
-
**Deliverables:**
|
|
227
|
-
|
|
228
|
-
- Prometheus metrics at /metrics endpoint
|
|
229
|
-
- OpenTelemetry tracing integration
|
|
230
|
-
- Grafana dashboard template
|
|
231
|
-
- Tracing guide with Jaeger setup
|
|
232
|
-
|
|
233
|
-
**Success Criteria:**
|
|
234
|
-
|
|
235
|
-
- Metrics exposed and scrapeable by Prometheus
|
|
236
|
-
- Traces visible in Jaeger UI
|
|
237
|
-
- Trace propagation across agents works
|
|
238
|
-
- Documentation for all observability tools
|
|
239
|
-
|
|
240
|
-
---
|
|
241
|
-
|
|
242
|
-
## Phase 6: Saga Pattern (Future)
|
|
243
|
-
|
|
244
|
-
**Goal:** Implement saga orchestration for long-running workflows
|
|
245
|
-
|
|
246
|
-
**ADRs:** ADR-004 (Phase 5)
|
|
247
|
-
|
|
248
|
-
**Status:** Deferred to v2.0
|
|
249
|
-
|
|
250
|
-
**Tasks:**
|
|
251
|
-
|
|
252
|
-
- [ ] Create saga_instances and saga_steps tables
|
|
253
|
-
- [ ] Add saga coordinator logic
|
|
254
|
-
- [ ] Implement compensation pattern
|
|
255
|
-
- [ ] Add saga viewer to DevTools UI
|
|
256
|
-
- [ ] Write saga pattern examples
|
|
257
|
-
|
|
258
|
-
**Deliverables:**
|
|
259
|
-
|
|
260
|
-
- Saga orchestration pattern
|
|
261
|
-
- Compensation (undo) support
|
|
262
|
-
- Saga viewer in DevTools
|
|
263
|
-
- 3+ example saga workflows
|
|
264
|
-
|
|
265
|
-
---
|
|
266
|
-
|
|
267
|
-
## Release Schedule
|
|
268
|
-
|
|
269
|
-
| Version | Phase | Features | ETA |
|
|
270
|
-
| --------- | ----- | ------------------------------ | ------- |
|
|
271
|
-
| **0.1.0** | 1 | swarm-mail package extraction | Week 2 |
|
|
272
|
-
| **0.2.0** | 2 | Live queries, batch operations | Week 4 |
|
|
273
|
-
| **0.3.0** | 3 | Priority, DLQ, TTL, pub/sub | Week 7 |
|
|
274
|
-
| **0.4.0** | 4 | DevTools UI + CLI | Week 10 |
|
|
275
|
-
| **0.5.0** | 5 | Metrics + tracing | Week 12 |
|
|
276
|
-
| **1.0.0** | All | Stable release | Week 13 |
|
|
277
|
-
| **2.0.0** | 6 | Saga pattern (future) | TBD |
|
|
278
|
-
|
|
279
|
-
---
|
|
280
|
-
|
|
281
|
-
## Dependencies Between Phases
|
|
282
|
-
|
|
283
|
-
```
|
|
284
|
-
Phase 0 (Monorepo)
|
|
285
|
-
└──> Phase 1 (Package Extraction)
|
|
286
|
-
└──> Phase 2 (Performance)
|
|
287
|
-
├──> Phase 3 (Queue Features)
|
|
288
|
-
└──> Phase 4 (DevTools)
|
|
289
|
-
└──> Phase 5 (Metrics/Tracing)
|
|
290
|
-
└──> Phase 6 (Sagas, future)
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
**Critical Path:** Phases 0→1→2 are sequential. Phases 3-5 can partially overlap after Phase 2.
|
|
294
|
-
|
|
295
|
-
---
|
|
296
|
-
|
|
297
|
-
## Risk Mitigation
|
|
298
|
-
|
|
299
|
-
| Risk | Phase | Mitigation |
|
|
300
|
-
| ---------------------------------------- | ----- | --------------------------------------------------------- |
|
|
301
|
-
| Breaking changes during extraction | 1 | Feature branch, comprehensive tests, migration guide |
|
|
302
|
-
| Performance regression with live queries | 2 | Feature flag, benchmark before/after, fallback to polling |
|
|
303
|
-
| Complexity of saga pattern | 6 | Defer to v2.0, gather user feedback first |
|
|
304
|
-
| DevTools UI maintenance burden | 4 | Keep UI minimal, focus on CLI for power users |
|
|
305
|
-
| Metrics overhead | 5 | Make metrics opt-in, minimal instrumentation |
|
|
306
|
-
|
|
307
|
-
---
|
|
308
|
-
|
|
309
|
-
## Success Metrics
|
|
310
|
-
|
|
311
|
-
**Phase 1 (Package Extraction):**
|
|
312
|
-
|
|
313
|
-
- swarm-mail used in 3+ external projects within 3 months
|
|
314
|
-
- Zero breaking changes reported by users
|
|
315
|
-
|
|
316
|
-
**Phase 2 (Performance):**
|
|
317
|
-
|
|
318
|
-
- 25x faster notification latency (500ms → <10ms)
|
|
319
|
-
- 5x lower CPU usage (10% → <2%)
|
|
320
|
-
|
|
321
|
-
**Phase 3 (Queue Features):**
|
|
322
|
-
|
|
323
|
-
- 95% of messages processed within priority SLA
|
|
324
|
-
- <1% messages fail to DLQ
|
|
325
|
-
|
|
326
|
-
**Phase 4 (DevTools):**
|
|
327
|
-
|
|
328
|
-
- 80% of developers use DevTools UI for debugging
|
|
329
|
-
- CLI used in 50%+ of support cases
|
|
330
|
-
|
|
331
|
-
**Phase 5 (Metrics/Tracing):**
|
|
332
|
-
|
|
333
|
-
- Metrics dashboard used in production monitoring
|
|
334
|
-
- Distributed traces reduce debugging time by 50%
|
|
335
|
-
|
|
336
|
-
---
|
|
337
|
-
|
|
338
|
-
## Post-1.0 Backlog (v2.0+)
|
|
339
|
-
|
|
340
|
-
**Saga Pattern** (ADR-004 Phase 5)
|
|
341
|
-
|
|
342
|
-
- Long-running multi-agent workflows
|
|
343
|
-
- Compensation (undo) support
|
|
344
|
-
- Saga state visualization
|
|
345
|
-
|
|
346
|
-
**Advanced Pub/Sub**
|
|
347
|
-
|
|
348
|
-
- Message routing rules
|
|
349
|
-
- Filter expressions (SQL-like WHERE clauses)
|
|
350
|
-
- At-least-once vs exactly-once delivery guarantees
|
|
351
|
-
|
|
352
|
-
**Multi-Project Support**
|
|
353
|
-
|
|
354
|
-
- Cross-project message routing
|
|
355
|
-
- Project-level isolation
|
|
356
|
-
- Shared infra for mono repos
|
|
357
|
-
|
|
358
|
-
**Performance Tier 2**
|
|
359
|
-
|
|
360
|
-
- Connection pooling for multi-DB scenarios
|
|
361
|
-
- Message batching optimizations
|
|
362
|
-
- SKIP LOCKED for exactly-once semantics
|
|
363
|
-
|
|
364
|
-
**Security**
|
|
365
|
-
|
|
366
|
-
- Message encryption at rest
|
|
367
|
-
- Agent authentication/authorization
|
|
368
|
-
- Audit logging
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
# Semantic Memory CLI Syntax Reference
|
|
2
|
-
|
|
3
|
-
**CRITICAL: The semantic-memory CLI has specific JSON requirements that will fail silently if violated.**
|
|
4
|
-
|
|
5
|
-
## Working Syntax
|
|
6
|
-
|
|
7
|
-
### Store Memory (via Bash)
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
semantic-memory store \
|
|
11
|
-
--information "Your learning here with full context" \
|
|
12
|
-
--metadata '{"tags": ["tag1", "tag2", "tag3"]}'
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
**Key Rules:**
|
|
16
|
-
|
|
17
|
-
- `--metadata` MUST be valid JSON with single quotes wrapping the object
|
|
18
|
-
- Use `{"tags": [...]}` structure, NOT comma-separated strings
|
|
19
|
-
- Information can be plain text (no quotes needed in bash)
|
|
20
|
-
|
|
21
|
-
### Store Memory (via MCP tool - PREFERRED)
|
|
22
|
-
|
|
23
|
-
The MCP tool `semantic-memory_store` has different syntax:
|
|
24
|
-
|
|
25
|
-
```typescript
|
|
26
|
-
semantic-memory_store(
|
|
27
|
-
information: "Your learning here",
|
|
28
|
-
metadata: "tag1, tag2, tag3" // Comma-separated string, NOT JSON
|
|
29
|
-
)
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**Use the MCP tool when available - it handles JSON serialization for you.**
|
|
33
|
-
|
|
34
|
-
## Common Mistakes
|
|
35
|
-
|
|
36
|
-
### ❌ WRONG - Comma-separated string in CLI
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
semantic-memory store \
|
|
40
|
-
--metadata "swarm,edge-case,workaround"
|
|
41
|
-
# Error: Invalid JSON in --metadata
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### ❌ WRONG - Double quotes wrapping JSON
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
semantic-memory store \
|
|
48
|
-
--metadata "{"tags": ["swarm"]}"
|
|
49
|
-
# Error: Shell parsing breaks on nested quotes
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### ❌ WRONG - No tags wrapper
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
semantic-memory store \
|
|
56
|
-
--metadata '["swarm", "edge-case"]'
|
|
57
|
-
# Error: Expected object with "tags" key
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
### ✅ CORRECT - JSON object with single quotes
|
|
61
|
-
|
|
62
|
-
```bash
|
|
63
|
-
semantic-memory store \
|
|
64
|
-
--information "swarm_complete fails when files outside project_key" \
|
|
65
|
-
--metadata '{"tags": ["swarm", "edge-case", "workaround"]}'
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## When to Use Which
|
|
69
|
-
|
|
70
|
-
| Context | Tool | Metadata Format |
|
|
71
|
-
| --------------------------- | ---------------------------------- | ------------------------------------- |
|
|
72
|
-
| **Inside OpenCode session** | `semantic-memory_store()` MCP tool | `"tag1, tag2, tag3"` (string) |
|
|
73
|
-
| **Direct CLI / Bash tool** | `semantic-memory store` command | `'{"tags": ["tag1", "tag2"]}'` (JSON) |
|
|
74
|
-
| **Scripts / automation** | CLI command | JSON object |
|
|
75
|
-
|
|
76
|
-
## Other Commands
|
|
77
|
-
|
|
78
|
-
### Find Memories
|
|
79
|
-
|
|
80
|
-
```bash
|
|
81
|
-
# CLI
|
|
82
|
-
semantic-memory find --query "search terms" --limit 5
|
|
83
|
-
|
|
84
|
-
# MCP tool (preferred)
|
|
85
|
-
semantic-memory_find(query="search terms", limit=5)
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### Validate Memory (reset decay)
|
|
89
|
-
|
|
90
|
-
```bash
|
|
91
|
-
# CLI
|
|
92
|
-
semantic-memory validate --id "mem-uuid"
|
|
93
|
-
|
|
94
|
-
# MCP tool (preferred)
|
|
95
|
-
semantic-memory_validate(id="mem-uuid")
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### List All
|
|
99
|
-
|
|
100
|
-
```bash
|
|
101
|
-
# CLI
|
|
102
|
-
semantic-memory list
|
|
103
|
-
|
|
104
|
-
# MCP tool (preferred)
|
|
105
|
-
semantic-memory_list()
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
## Pro Tips
|
|
109
|
-
|
|
110
|
-
1. **Prefer MCP tools in OpenCode sessions** - they handle serialization
|
|
111
|
-
2. **Use CLI for scripts** - more control, but requires JSON knowledge
|
|
112
|
-
3. **Test metadata syntax** - run `semantic-memory list` to verify storage
|
|
113
|
-
4. **Keep tags focused** - 3-5 tags max, use domain/tech/pattern structure
|
|
114
|
-
5. **Include error messages verbatim** - makes search more effective
|
|
115
|
-
|
|
116
|
-
## Debugging
|
|
117
|
-
|
|
118
|
-
If storage fails:
|
|
119
|
-
|
|
120
|
-
1. Check `--metadata` is valid JSON: `echo '{"tags": ["test"]}' | jq`
|
|
121
|
-
2. Verify single quotes wrap the JSON object
|
|
122
|
-
3. Ensure no shell escaping issues with information text
|
|
123
|
-
4. Try MCP tool instead of CLI if in OpenCode session
|