opencode-swarm-plugin 0.17.1 → 0.18.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.
@@ -64,7 +64,7 @@
64
64
  {"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"}]}
65
65
  {"id":"opencode-swarm-plugin-1fga","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:11.347823-08:00","updated_at":"2025-12-08T07:49:11.427718-08:00","closed_at":"2025-12-08T07:49:11.427718-08:00"}
66
66
  {"id":"opencode-swarm-plugin-1fj","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:33.890179-08:00","updated_at":"2025-12-07T19:37:36.077012-08:00","closed_at":"2025-12-07T19:37:36.077012-08:00"}
67
- {"id":"opencode-swarm-plugin-1fskr","title":"Feature: Coordinator delegates planning to swarm/planner subagent","description":"## Problem\nCoordinators currently do planning inline, which:\n- Consumes main thread context with decomposition reasoning\n- Pollutes coordinator context with file contents, analysis, etc.\n- Makes long swarms hit context limits faster\n\n## Solution\nAdd a `swarm_delegate_planning` tool that:\n1. Creates a planning bead with full task context\n2. Spawns swarm/planner subagent with the bead\n3. Subagent returns ONLY structured BeadTree JSON\n4. Coordinator validates and creates beads from response\n\n## Implementation\n\n### New Tool: swarm_delegate_planning\n```typescript\ninterface DelegatePlanningArgs {\n task: string\n context?: string // Additional context to include\n max_subtasks?: number\n strategy?: \"auto\" | \"file-based\" | \"feature-based\" | \"risk-based\" | \"socratic\"\n}\n\ninterface DelegatePlanningResult {\n bead_tree: BeadTree // Validated decomposition\n planning_bead_id: string // For reference\n strategy_used: string\n}\n```\n\n### Workflow Change\n**Before (context-heavy):**\n```\nCoordinator:\n → swarm_select_strategy (inline)\n → swarm_plan_prompt (inline, dumps context)\n → Agent reasons about decomposition (inline)\n → swarm_validate_decomposition (inline)\n → beads_create_epic\n```\n\n**After (context-lean):**\n```\nCoordinator:\n → swarm_delegate_planning(task, context)\n └─ [Subagent does all planning work]\n └─ Returns only BeadTree JSON\n → beads_create_epic (from validated result)\n```\n\n### Benefits\n- Coordinator context stays lean (orchestration only)\n- Planning reasoning isolated in subagent\n- Subagent can use skills, search CASS, read files without polluting main thread\n- Failed planning doesn't corrupt coordinator state\n\n## Files to Modify\n- src/swarm.ts - Add swarm_delegate_planning tool\n- src/index.ts - Export new tool\n- examples/commands/swarm.md - Update coordinator workflow\n- global-skills/swarm-coordination/SKILL.md - Document pattern\n\n## Success Criteria\n- Coordinator can decompose complex tasks without context bloat\n- Planning failures don't crash coordinator\n- BeadTree validation happens before coordinator sees it\n- Backward compatible (existing tools still work)","status":"open","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:08:54.208003-08:00","updated_at":"2025-12-13T14:08:54.208003-08:00"}
67
+ {"id":"opencode-swarm-plugin-1fskr","title":"Feature: Coordinator delegates planning to swarm/planner subagent","description":"## Problem\nCoordinators currently do planning inline, which:\n- Consumes main thread context with decomposition reasoning\n- Pollutes coordinator context with file contents, analysis, etc.\n- Makes long swarms hit context limits faster\n\n## Solution\nAdd a `swarm_delegate_planning` tool that:\n1. Creates a planning bead with full task context\n2. Spawns swarm/planner subagent with the bead\n3. Subagent returns ONLY structured BeadTree JSON\n4. Coordinator validates and creates beads from response\n\n## Implementation\n\n### New Tool: swarm_delegate_planning\n```typescript\ninterface DelegatePlanningArgs {\n task: string\n context?: string // Additional context to include\n max_subtasks?: number\n strategy?: \"auto\" | \"file-based\" | \"feature-based\" | \"risk-based\" | \"socratic\"\n}\n\ninterface DelegatePlanningResult {\n bead_tree: BeadTree // Validated decomposition\n planning_bead_id: string // For reference\n strategy_used: string\n}\n```\n\n### Workflow Change\n**Before (context-heavy):**\n```\nCoordinator:\n → swarm_select_strategy (inline)\n → swarm_plan_prompt (inline, dumps context)\n → Agent reasons about decomposition (inline)\n → swarm_validate_decomposition (inline)\n → beads_create_epic\n```\n\n**After (context-lean):**\n```\nCoordinator:\n → swarm_delegate_planning(task, context)\n └─ [Subagent does all planning work]\n └─ Returns only BeadTree JSON\n → beads_create_epic (from validated result)\n```\n\n### Benefits\n- Coordinator context stays lean (orchestration only)\n- Planning reasoning isolated in subagent\n- Subagent can use skills, search CASS, read files without polluting main thread\n- Failed planning doesn't corrupt coordinator state\n\n## Files to Modify\n- src/swarm.ts - Add swarm_delegate_planning tool\n- src/index.ts - Export new tool\n- examples/commands/swarm.md - Update coordinator workflow\n- global-skills/swarm-coordination/SKILL.md - Document pattern\n\n## Success Criteria\n- Coordinator can decompose complex tasks without context bloat\n- Planning failures don't crash coordinator\n- BeadTree validation happens before coordinator sees it\n- Backward compatible (existing tools still work)","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:08:54.208003-08:00","updated_at":"2025-12-13T15:59:40.405459-08:00","closed_at":"2025-12-13T15:59:40.405459-08:00"}
68
68
  {"id":"opencode-swarm-plugin-1gtm","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.569462-08:00","updated_at":"2025-12-08T08:11:42.010151-08:00","closed_at":"2025-12-08T08:11:42.010151-08:00"}
69
69
  {"id":"opencode-swarm-plugin-1i8","title":"Test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:23:49.873224-08:00","updated_at":"2025-12-07T19:24:13.408304-08:00","closed_at":"2025-12-07T19:24:13.408304-08:00"}
70
70
  {"id":"opencode-swarm-plugin-1j0t","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:46:49.618076-08:00","updated_at":"2025-12-08T07:46:49.644609-08:00","closed_at":"2025-12-08T07:46:49.644609-08:00"}
@@ -130,7 +130,7 @@
130
130
  {"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"}
131
131
  {"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
132
  {"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
- {"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":"open","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:00:50.930936-08:00","updated_at":"2025-12-13T14:00:50.930936-08:00"}
133
+ {"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
134
  {"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
135
  {"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
136
  {"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"}
@@ -351,7 +351,7 @@
351
351
  {"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
352
  {"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"}]}
353
353
  {"id":"opencode-swarm-plugin-67l","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.107212-08:00","updated_at":"2025-12-07T19:37:36.183136-08:00","closed_at":"2025-12-07T19:37:36.183136-08:00"}
354
- {"id":"opencode-swarm-plugin-68y4o","title":"Epic: Superpowers Pattern Integration - Verification, CSO, 3-Strike, Socratic","description":"## Goal\nIntegrate the best patterns from obra/superpowers analysis into opencode-swarm-plugin.\n\n## Features to Implement\n\n### 1. Verification Gate in swarm_complete\nAdd the Gate Function (IDENTIFY → RUN → READ → VERIFY → CLAIM) to swarm_complete:\n- Run UBS scan (already exists)\n- Run typecheck\n- Verify tests pass\n- Only then mark complete\n- Block completion if verification fails\n\n**Files:** src/swarm.ts (swarm_complete function)\n\n### 2. CSO Validation in skills_create\nAdd Claude Search Optimization validation when creating skills:\n- Description starts with \"Use when...\"\n- Description \u003c 500 chars (warn if \u003e 1024)\n- Third-person only (no \"I\", \"you\")\n- Contains trigger keywords\n- Name follows conventions (gerunds, verb-first)\n\n**Files:** src/skills.ts (skills_create function)\n\n### 3. 3-Strike Detection in debug-plus\nTrack fix attempts per issue. After 3 failures:\n- STOP and surface architecture question\n- Don't attempt Fix #4\n- Require human decision before continuing\n\n**Files:** examples/commands/debug-plus.md (or create if doesn't exist)\n\n### 4. Socratic Strategy for Swarm\nAdd \"socratic\" strategy to swarm decomposition:\n- Detect ambiguous tasks (no files, vague verbs, large scope)\n- One question at a time refinement\n- Multiple choice preferred\n- 200-300 word validation sections\n- Auto-transition to decomposition when validated\n\n**Files:** src/swarm.ts (swarm_select_strategy, swarm_plan_prompt)\n\n### 5. Coordinator Context Preservation Pattern\nUpdate swarm coordinator workflow to:\n- Create planning bead with full context FIRST\n- Delegate planning to subagent (not main thread)\n- Subagent returns structured BeadTree JSON\n- Coordinator validates and creates beads\n\n**Files:** examples/commands/swarm.md, global-skills/swarm-coordination/SKILL.md\n\n## Reference Documents\n- docs/analysis-socratic-planner-pattern.md\n- VERIFICATION_QUALITY_PATTERNS.md\n- docs/analysis/subagent-coordination-patterns.md\n- .beads/analysis/skill-architecture-meta-skills.md\n\n## Pattern Beads (for reference)\n- opencode-swarm-plugin-xwlda (Socratic Planner)\n- opencode-swarm-plugin-cyc8w (Verification Before Completion)\n- opencode-swarm-plugin-9lksy (3-Strike Architecture Rule)\n- opencode-swarm-plugin-2klp9 (CSO)\n\n## Success Criteria\n- swarm_complete blocks on failed verification\n- skills_create warns on poor CSO\n- debug-plus stops after 3 failed fixes\n- /swarm detects ambiguous tasks and refines them\n- Coordinator delegates planning to subagent","status":"open","priority":0,"issue_type":"epic","created_at":"2025-12-13T14:07:39.259162-08:00","updated_at":"2025-12-13T14:07:39.259162-08:00"}
354
+ {"id":"opencode-swarm-plugin-68y4o","title":"Epic: Superpowers Pattern Integration - Verification, CSO, 3-Strike, Socratic","description":"## Goal\nIntegrate the best patterns from obra/superpowers analysis into opencode-swarm-plugin.\n\n## Features to Implement\n\n### 1. Verification Gate in swarm_complete\nAdd the Gate Function (IDENTIFY → RUN → READ → VERIFY → CLAIM) to swarm_complete:\n- Run UBS scan (already exists)\n- Run typecheck\n- Verify tests pass\n- Only then mark complete\n- Block completion if verification fails\n\n**Files:** src/swarm.ts (swarm_complete function)\n\n### 2. CSO Validation in skills_create\nAdd Claude Search Optimization validation when creating skills:\n- Description starts with \"Use when...\"\n- Description \u003c 500 chars (warn if \u003e 1024)\n- Third-person only (no \"I\", \"you\")\n- Contains trigger keywords\n- Name follows conventions (gerunds, verb-first)\n\n**Files:** src/skills.ts (skills_create function)\n\n### 3. 3-Strike Detection in debug-plus\nTrack fix attempts per issue. After 3 failures:\n- STOP and surface architecture question\n- Don't attempt Fix #4\n- Require human decision before continuing\n\n**Files:** examples/commands/debug-plus.md (or create if doesn't exist)\n\n### 4. Socratic Strategy for Swarm\nAdd \"socratic\" strategy to swarm decomposition:\n- Detect ambiguous tasks (no files, vague verbs, large scope)\n- One question at a time refinement\n- Multiple choice preferred\n- 200-300 word validation sections\n- Auto-transition to decomposition when validated\n\n**Files:** src/swarm.ts (swarm_select_strategy, swarm_plan_prompt)\n\n### 5. Coordinator Context Preservation Pattern\nUpdate swarm coordinator workflow to:\n- Create planning bead with full context FIRST\n- Delegate planning to subagent (not main thread)\n- Subagent returns structured BeadTree JSON\n- Coordinator validates and creates beads\n\n**Files:** examples/commands/swarm.md, global-skills/swarm-coordination/SKILL.md\n\n## Reference Documents\n- docs/analysis-socratic-planner-pattern.md\n- VERIFICATION_QUALITY_PATTERNS.md\n- docs/analysis/subagent-coordination-patterns.md\n- .beads/analysis/skill-architecture-meta-skills.md\n\n## Pattern Beads (for reference)\n- opencode-swarm-plugin-xwlda (Socratic Planner)\n- opencode-swarm-plugin-cyc8w (Verification Before Completion)\n- opencode-swarm-plugin-9lksy (3-Strike Architecture Rule)\n- opencode-swarm-plugin-2klp9 (CSO)\n\n## Success Criteria\n- swarm_complete blocks on failed verification\n- skills_create warns on poor CSO\n- debug-plus stops after 3 failed fixes\n- /swarm detects ambiguous tasks and refines them\n- Coordinator delegates planning to subagent","status":"closed","priority":0,"issue_type":"epic","created_at":"2025-12-13T14:07:39.259162-08:00","updated_at":"2025-12-13T15:51:02.161099-08:00","closed_at":"2025-12-13T15:51:02.161099-08:00"}
355
355
  {"id":"opencode-swarm-plugin-6ank","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:29.200873-08:00","updated_at":"2025-12-08T08:21:29.286191-08:00","closed_at":"2025-12-08T08:21:29.286191-08:00"}
356
356
  {"id":"opencode-swarm-plugin-6bf0","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:11:39.059587-08:00","updated_at":"2025-12-08T08:11:41.716689-08:00","closed_at":"2025-12-08T08:11:41.716689-08:00"}
357
357
  {"id":"opencode-swarm-plugin-6bq","title":"Test link","description":"[thread:test-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:36:39.895527-08:00","updated_at":"2025-12-08T08:36:25.487657-08:00","closed_at":"2025-12-08T08:36:25.487657-08:00"}
@@ -486,7 +486,7 @@
486
486
  {"id":"opencode-swarm-plugin-8kiel","title":"Gap: No migration strategy from MCP to event-sourced","description":"src/streams/agent-mail.ts - No migration path documented or implemented for users moving from MCP-based agent-mail to embedded PGLite. Need: migration tool to export MCP data and import as events, documentation on migration steps, backward compatibility layer, or at minimum clear upgrade guide. Consider: \"migrate-from-mcp\" command, schema version detection, auto-migration on first run.","status":"open","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:00.37956-08:00","updated_at":"2025-12-13T09:25:00.37956-08:00"}
487
487
  {"id":"opencode-swarm-plugin-8lig","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.517101-08:00","updated_at":"2025-12-08T11:12:27.978547-08:00","closed_at":"2025-12-08T11:12:27.978547-08:00"}
488
488
  {"id":"opencode-swarm-plugin-8noh","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:53:45.63765-08:00","updated_at":"2025-12-08T07:53:45.716599-08:00","closed_at":"2025-12-08T07:53:45.716599-08:00"}
489
- {"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":"open","priority":2,"issue_type":"chore","created_at":"2025-12-10T09:06:18.513101-08:00","updated_at":"2025-12-10T09:06:18.513101-08:00"}
489
+ {"id":"opencode-swarm-plugin-8npbb","title":"rate-limiter.ts:328 - Opportunistic cleanup without bounds","description":"rate-limiter.ts:328 - SqliteRateLimiter cleanup happens 1% of the time but could delete large datasets without limit or batching. On large DBs, this blocks recordRequest. Suggested fix: Add LIMIT clause or batch deletion.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-10T09:06:18.513101-08:00","updated_at":"2025-12-13T15:59:42.483297-08:00","closed_at":"2025-12-13T15:59:42.483297-08:00"}
490
490
  {"id":"opencode-swarm-plugin-8p4","title":"Update test bead","description":"Original description","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-07T19:39:10.060249-08:00","updated_at":"2025-12-07T19:39:12.022444-08:00","closed_at":"2025-12-07T19:39:12.022444-08:00"}
491
491
  {"id":"opencode-swarm-plugin-8pyb","title":"Thread link test bead","description":"[thread:test-thread-123]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:14:30.014902-08:00","updated_at":"2025-12-08T08:14:31.732051-08:00","closed_at":"2025-12-08T08:14:31.732051-08:00"}
492
492
  {"id":"opencode-swarm-plugin-8qe8e","title":"Add JSDoc examples to CriterionEvaluation","description":"src/schemas/evaluation.ts:19-24 - CriterionEvaluationSchema lacks usage example. Add JSDoc with example: `{ passed: true, feedback: \"All types validated\", score: 0.95 }`","status":"open","priority":3,"issue_type":"chore","created_at":"2025-12-10T09:06:13.139472-08:00","updated_at":"2025-12-10T09:06:13.139472-08:00"}
@@ -547,7 +547,7 @@
547
547
  {"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
548
  {"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
549
  {"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"}
550
- {"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":"open","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:30.082677-08:00","updated_at":"2025-12-13T14:00:30.082677-08:00"}
550
+ {"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
551
  {"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
552
  {"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"}
553
553
  {"id":"opencode-swarm-plugin-9mjt","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-07T19:56:44.363301-08:00","updated_at":"2025-12-07T19:56:44.53648-08:00","closed_at":"2025-12-07T19:56:44.53648-08:00"}
@@ -570,7 +570,7 @@
570
570
  {"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
571
  {"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
572
  {"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"}
573
- {"id":"opencode-swarm-plugin-9yo1u","title":"Pattern: TDD for Documentation - Test Skills Before Writing","description":"## TDD for Documentation (from obra/superpowers)\n\n**Core Insight:** If you didn't watch an agent fail without the skill, you don't know if the skill teaches the right thing.\n\n### TDD Mapping\n| TDD Concept | Skill Creation |\n|-------------|----------------|\n| Test case | Pressure scenario with subagent |\n| Production code | SKILL.md document |\n| Test fails (RED) | Agent violates rule without skill |\n| Test passes (GREEN) | Agent complies with skill present |\n| Refactor | Close loopholes while maintaining compliance |\n\n### The Iron Law\n```\nNO SKILL WITHOUT A FAILING TEST FIRST\n```\n\nApplies to NEW skills AND EDITS to existing skills.\n\n### RED-GREEN-REFACTOR for Skills\n**RED (Baseline):**\n1. Run pressure scenario WITHOUT skill\n2. Document exact rationalizations verbatim\n3. Note specific violations\n\n**GREEN (Write Skill):**\n1. Write skill addressing observed failures\n2. Run same scenario WITH skill\n3. Verify agent now complies\n\n**REFACTOR (Close Loopholes):**\n1. Find new rationalizations\n2. Add explicit counters\n3. Re-verify compliance\n\n### Testing by Skill Type\n- **Discipline-enforcing:** Academic questions + pressure scenarios + combined pressures\n- **Technique skills:** Application scenarios + variations + missing info tests\n- **Pattern skills:** Recognition + application + counter-examples\n- **Reference skills:** Retrieval + application + gap testing\n\n### Bulletproofing Against Rationalization\n- Close every loophole explicitly\n- Address \"spirit vs letter\" arguments early\n- Build rationalization table from baseline testing\n- Create red flags list for self-checking\n\n**Full analysis:** .beads/analysis/skill-architecture-meta-skills.md","status":"open","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:01:01.518288-08:00","updated_at":"2025-12-13T14:01:01.518288-08:00"}
573
+ {"id":"opencode-swarm-plugin-9yo1u","title":"Pattern: TDD for Documentation - Test Skills Before Writing","description":"## TDD for Documentation (from obra/superpowers)\n\n**Core Insight:** If you didn't watch an agent fail without the skill, you don't know if the skill teaches the right thing.\n\n### TDD Mapping\n| TDD Concept | Skill Creation |\n|-------------|----------------|\n| Test case | Pressure scenario with subagent |\n| Production code | SKILL.md document |\n| Test fails (RED) | Agent violates rule without skill |\n| Test passes (GREEN) | Agent complies with skill present |\n| Refactor | Close loopholes while maintaining compliance |\n\n### The Iron Law\n```\nNO SKILL WITHOUT A FAILING TEST FIRST\n```\n\nApplies to NEW skills AND EDITS to existing skills.\n\n### RED-GREEN-REFACTOR for Skills\n**RED (Baseline):**\n1. Run pressure scenario WITHOUT skill\n2. Document exact rationalizations verbatim\n3. Note specific violations\n\n**GREEN (Write Skill):**\n1. Write skill addressing observed failures\n2. Run same scenario WITH skill\n3. Verify agent now complies\n\n**REFACTOR (Close Loopholes):**\n1. Find new rationalizations\n2. Add explicit counters\n3. Re-verify compliance\n\n### Testing by Skill Type\n- **Discipline-enforcing:** Academic questions + pressure scenarios + combined pressures\n- **Technique skills:** Application scenarios + variations + missing info tests\n- **Pattern skills:** Recognition + application + counter-examples\n- **Reference skills:** Retrieval + application + gap testing\n\n### Bulletproofing Against Rationalization\n- Close every loophole explicitly\n- Address \"spirit vs letter\" arguments early\n- Build rationalization table from baseline testing\n- Create red flags list for self-checking\n\n**Full analysis:** .beads/analysis/skill-architecture-meta-skills.md","status":"closed","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:01:01.518288-08:00","updated_at":"2025-12-13T15:50:55.951299-08:00","closed_at":"2025-12-13T15:50:55.951299-08:00"}
574
574
  {"id":"opencode-swarm-plugin-9zy1","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:11:08.072584-08:00","updated_at":"2025-12-08T11:11:10.722977-08:00","closed_at":"2025-12-08T11:11:10.722977-08:00"}
575
575
  {"id":"opencode-swarm-plugin-a1j","title":"Bead to start","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:37:34.676752-08:00","updated_at":"2025-12-07T19:37:36.40688-08:00","closed_at":"2025-12-07T19:37:36.40688-08:00"}
576
576
  {"id":"opencode-swarm-plugin-a1q2","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.705459-08:00","updated_at":"2025-12-08T07:49:12.14698-08:00","closed_at":"2025-12-08T07:49:12.14698-08:00"}
@@ -582,12 +582,12 @@
582
582
  {"id":"opencode-swarm-plugin-a347","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:36:17.512906-08:00","updated_at":"2025-12-08T08:36:19.481274-08:00","closed_at":"2025-12-08T08:36:19.481274-08:00"}
583
583
  {"id":"opencode-swarm-plugin-a3fa","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:05:34.668388-08:00","updated_at":"2025-12-08T08:05:34.745926-08:00","closed_at":"2025-12-08T08:05:34.745926-08:00"}
584
584
  {"id":"opencode-swarm-plugin-a6lo","title":"Thread link test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:24.861491-08:00","updated_at":"2025-12-08T11:11:26.310192-08:00","closed_at":"2025-12-08T11:11:26.310192-08:00"}
585
- {"id":"opencode-swarm-plugin-a6rl7","title":"Mandate from Heaven: Agent Voting System","description":"Build a collective intelligence system where agents file and vote on ideas, tips, lore, snippets, and feature requests. High-consensus items become 'mandates' that influence future agent behavior via semantic memory.","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-13T14:56:58.000088-08:00","updated_at":"2025-12-13T14:56:58.000088-08:00"}
585
+ {"id":"opencode-swarm-plugin-a6rl7","title":"Mandate from Heaven: Agent Voting System","description":"Build a collective intelligence system where agents file and vote on ideas, tips, lore, snippets, and feature requests. High-consensus items become 'mandates' that influence future agent behavior via semantic memory.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T14:56:58.000088-08:00","updated_at":"2025-12-13T15:51:03.366671-08:00","closed_at":"2025-12-13T15:51:03.366671-08:00"}
586
586
  {"id":"opencode-swarm-plugin-a6rl7.1","title":"Core schemas and types for mandate system","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T14:56:58.053657-08:00","updated_at":"2025-12-13T14:59:07.218098-08:00","closed_at":"2025-12-13T14:59:07.218098-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a6rl7.1","depends_on_id":"opencode-swarm-plugin-a6rl7","type":"parent-child","created_at":"2025-12-13T14:56:58.055878-08:00","created_by":"daemon"}]}
587
587
  {"id":"opencode-swarm-plugin-a6rl7.2","title":"Mandate storage with semantic-memory backend","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:56:58.111874-08:00","updated_at":"2025-12-13T15:05:05.736212-08:00","closed_at":"2025-12-13T15:05:05.736212-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-a6rl7.2","depends_on_id":"opencode-swarm-plugin-a6rl7","type":"parent-child","created_at":"2025-12-13T14:56:58.112928-08:00","created_by":"daemon"}]}
588
588
  {"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"}]}
589
- {"id":"opencode-swarm-plugin-a6rl7.4","title":"Plugin tools for mandate operations","description":"","status":"in_progress","priority":1,"issue_type":"task","created_at":"2025-12-13T14:56:58.225915-08:00","updated_at":"2025-12-13T15:05:14.868024-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"}]}
590
- {"id":"opencode-swarm-plugin-a6rl7.5","title":"Integration tests and plugin export","description":"","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-13T14:56:58.282544-08:00","updated_at":"2025-12-13T14:56:58.282544-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"}]}
589
+ {"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"}]}
590
+ {"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"}]}
591
591
  {"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"}
592
592
  {"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"}
593
593
  {"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"}]}
@@ -627,7 +627,7 @@
627
627
  {"id":"opencode-swarm-plugin-b39i","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T11:11:38.123705-08:00","updated_at":"2025-12-08T11:11:40.7258-08:00","closed_at":"2025-12-08T11:11:40.7258-08:00"}
628
628
  {"id":"opencode-swarm-plugin-b3pr","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:23:17.77563-08:00","updated_at":"2025-12-08T08:23:20.062473-08:00","closed_at":"2025-12-08T08:23:20.062473-08:00"}
629
629
  {"id":"opencode-swarm-plugin-b40","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:34:52.696949-08:00","updated_at":"2025-12-07T19:34:54.75136-08:00","closed_at":"2025-12-07T19:34:54.75136-08:00"}
630
- {"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":"open","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:18:23.293815-08:00","updated_at":"2025-12-13T14:18:23.293815-08:00"}
630
+ {"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"}
631
631
  {"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"}
632
632
  {"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"}
633
633
  {"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"}
@@ -735,7 +735,7 @@
735
735
  {"id":"opencode-swarm-plugin-cxss9.2","title":"Rewrite bin/swarm.ts with clack - setup, doctor, init, version commands","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-09T09:26:03.400398-08:00","updated_at":"2025-12-09T09:31:15.343298-08:00","closed_at":"2025-12-09T09:31:15.343298-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-cxss9.2","depends_on_id":"opencode-swarm-plugin-cxss9","type":"parent-child","created_at":"2025-12-09T09:26:03.400797-08:00","created_by":"daemon"}]}
736
736
  {"id":"opencode-swarm-plugin-cxss9.3","title":"Update README with new CLI usage and screenshots","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-09T09:26:03.441881-08:00","updated_at":"2025-12-09T09:32:20.702615-08:00","closed_at":"2025-12-09T09:32:20.702615-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-cxss9.3","depends_on_id":"opencode-swarm-plugin-cxss9","type":"parent-child","created_at":"2025-12-09T09:26:03.442265-08:00","created_by":"daemon"}]}
737
737
  {"id":"opencode-swarm-plugin-cy71","title":"Bead to close","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:21:27.854814-08:00","updated_at":"2025-12-08T08:21:27.88217-08:00","closed_at":"2025-12-08T08:21:27.88217-08:00"}
738
- {"id":"opencode-swarm-plugin-cyc8w","title":"Pattern: Verification Before Completion - Evidence Before Claims","description":"## Verification Before Completion (from obra/superpowers)\n\n**Iron Law:** NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE\n\n### The Gate Function\nBEFORE claiming ANY status or expressing satisfaction:\n1. **IDENTIFY** - What command proves this claim?\n2. **RUN** - Execute the FULL command (fresh, complete)\n3. **READ** - Full output, check exit code, count failures\n4. **VERIFY** - Does output confirm the claim?\n5. **ONLY THEN** - Make the claim\n\n**Skip any step = lying, not verifying**\n\n### Red Flags (STOP IMMEDIATELY)\n- Using \"should\", \"probably\", \"seems to\"\n- Expressing satisfaction before verification (\"Great!\", \"Perfect!\", \"Done!\")\n- About to commit/push/PR without verification\n- Trusting agent success reports\n- Relying on partial verification\n- Thinking \"just this once\"\n- **ANY wording implying success without having run verification**\n\n### Common Failures Table\n| Claim | Requires | Not Sufficient |\n|-------|----------|----------------|\n| Tests pass | Test command output: 0 failures | Previous run, \"should pass\" |\n| Build succeeds | Build command: exit 0 | Linter passing |\n| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |\n| Agent completed | VCS diff shows changes | Agent reports \"success\" |\n\n### Key Quote\n\"Claiming work is complete without verification is dishonesty, not efficiency.\"\n\n**Full analysis:** VERIFICATION_QUALITY_PATTERNS.md","status":"open","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:18.604763-08:00","updated_at":"2025-12-13T14:00:18.604763-08:00"}
738
+ {"id":"opencode-swarm-plugin-cyc8w","title":"Pattern: Verification Before Completion - Evidence Before Claims","description":"## Verification Before Completion (from obra/superpowers)\n\n**Iron Law:** NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE\n\n### The Gate Function\nBEFORE claiming ANY status or expressing satisfaction:\n1. **IDENTIFY** - What command proves this claim?\n2. **RUN** - Execute the FULL command (fresh, complete)\n3. **READ** - Full output, check exit code, count failures\n4. **VERIFY** - Does output confirm the claim?\n5. **ONLY THEN** - Make the claim\n\n**Skip any step = lying, not verifying**\n\n### Red Flags (STOP IMMEDIATELY)\n- Using \"should\", \"probably\", \"seems to\"\n- Expressing satisfaction before verification (\"Great!\", \"Perfect!\", \"Done!\")\n- About to commit/push/PR without verification\n- Trusting agent success reports\n- Relying on partial verification\n- Thinking \"just this once\"\n- **ANY wording implying success without having run verification**\n\n### Common Failures Table\n| Claim | Requires | Not Sufficient |\n|-------|----------|----------------|\n| Tests pass | Test command output: 0 failures | Previous run, \"should pass\" |\n| Build succeeds | Build command: exit 0 | Linter passing |\n| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |\n| Agent completed | VCS diff shows changes | Agent reports \"success\" |\n\n### Key Quote\n\"Claiming work is complete without verification is dishonesty, not efficiency.\"\n\n**Full analysis:** VERIFICATION_QUALITY_PATTERNS.md","status":"closed","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:18.604763-08:00","updated_at":"2025-12-13T15:50:52.929605-08:00","closed_at":"2025-12-13T15:50:52.929605-08:00"}
739
739
  {"id":"opencode-swarm-plugin-cz40","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:23:17.156935-08:00","updated_at":"2025-12-08T08:23:19.744801-08:00","closed_at":"2025-12-08T08:23:19.744801-08:00"}
740
740
  {"id":"opencode-swarm-plugin-czxx","title":"Integration test epic","description":"Testing epic creation","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:11:39.285554-08:00","updated_at":"2025-12-08T11:11:41.20997-08:00","closed_at":"2025-12-08T11:11:41.20997-08:00"}
741
741
  {"id":"opencode-swarm-plugin-czxx.1","title":"Subtask 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:39.329633-08:00","updated_at":"2025-12-08T11:11:41.23602-08:00","closed_at":"2025-12-08T11:11:41.23602-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-czxx.1","depends_on_id":"opencode-swarm-plugin-czxx","type":"parent-child","created_at":"2025-12-08T11:11:39.329975-08:00","created_by":"daemon"}]}
@@ -900,7 +900,7 @@
900
900
  {"id":"opencode-swarm-plugin-fomf","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:25.714274-08:00","updated_at":"2025-12-08T11:12:28.097683-08:00","closed_at":"2025-12-08T11:12:28.097683-08:00"}
901
901
  {"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"}
902
902
  {"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"}
903
- {"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":"open","priority":1,"issue_type":"epic","created_at":"2025-12-13T08:47:30.814673-08:00","updated_at":"2025-12-13T08:52:50.231983-08:00"}
903
+ {"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"}
904
904
  {"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"}]}
905
905
  {"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"}]}
906
906
  {"id":"opencode-swarm-plugin-fst9c.3","title":"Projections Layer","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T08:47:30.97906-08:00","updated_at":"2025-12-13T09:01:38.193937-08:00","closed_at":"2025-12-13T09:01:38.193937-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-fst9c.3","depends_on_id":"opencode-swarm-plugin-fst9c","type":"parent-child","created_at":"2025-12-13T08:47:30.980628-08:00","created_by":"daemon"}]}
@@ -1002,7 +1002,7 @@
1002
1002
  {"id":"opencode-swarm-plugin-h6vwp","title":"Update test bead","description":"Blocked on dependency","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T11:18:42.779305-08:00","updated_at":"2025-12-13T11:18:46.484286-08:00","closed_at":"2025-12-13T11:18:46.484286-08:00"}
1003
1003
  {"id":"opencode-swarm-plugin-h7gn","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:08.376379-08:00","updated_at":"2025-12-08T11:11:10.883411-08:00","closed_at":"2025-12-08T11:11:10.883411-08:00"}
1004
1004
  {"id":"opencode-swarm-plugin-h7n9n","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-10T09:06:08.716598-08:00","updated_at":"2025-12-10T09:06:08.845582-08:00","closed_at":"2025-12-10T09:06:08.845582-08:00"}
1005
- {"id":"opencode-swarm-plugin-hbag9","title":"Gap: No schema version migration system","description":"src/streams/index.ts:131-211 - initializeSchema() uses CREATE TABLE IF NOT EXISTS but no version tracking or migration system. If schema changes in future (add column, change index), existing databases won't upgrade. Should: add schema_version table, track current version, run migrations on version mismatch, provide rollback capability. See tools like node-pg-migrate or implement simple version check.","status":"open","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:24.051926-08:00","updated_at":"2025-12-13T09:25:24.051926-08:00"}
1005
+ {"id":"opencode-swarm-plugin-hbag9","title":"Gap: No schema version migration system","description":"src/streams/index.ts:131-211 - initializeSchema() uses CREATE TABLE IF NOT EXISTS but no version tracking or migration system. If schema changes in future (add column, change index), existing databases won't upgrade. Should: add schema_version table, track current version, run migrations on version mismatch, provide rollback capability. See tools like node-pg-migrate or implement simple version check.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:24.051926-08:00","updated_at":"2025-12-13T15:51:25.795239-08:00","closed_at":"2025-12-13T15:51:25.795239-08:00"}
1006
1006
  {"id":"opencode-swarm-plugin-hbvv","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T11:10:26.909761-08:00","updated_at":"2025-12-08T11:10:27.107928-08:00","closed_at":"2025-12-08T11:10:27.107928-08:00"}
1007
1007
  {"id":"opencode-swarm-plugin-hbvv.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.944206-08:00","updated_at":"2025-12-08T11:10:27.030987-08:00","closed_at":"2025-12-08T11:10:27.030987-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-hbvv.1","depends_on_id":"opencode-swarm-plugin-hbvv","type":"parent-child","created_at":"2025-12-08T11:10:26.944752-08:00","created_by":"daemon"}]}
1008
1008
  {"id":"opencode-swarm-plugin-hbvv.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:26.977042-08:00","updated_at":"2025-12-08T11:10:27.082296-08:00","closed_at":"2025-12-08T11:10:27.082296-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-hbvv.2","depends_on_id":"opencode-swarm-plugin-hbvv","type":"parent-child","created_at":"2025-12-08T11:10:26.977472-08:00","created_by":"daemon"}]}
@@ -1152,8 +1152,8 @@
1152
1152
  {"id":"opencode-swarm-plugin-ke73t","title":"Thread link test bead","description":"[thread:test-thread-456]","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T11:16:38.210712-08:00","updated_at":"2025-12-13T11:16:41.094483-08:00","closed_at":"2025-12-13T11:16:41.094483-08:00"}
1153
1153
  {"id":"opencode-swarm-plugin-kg04n","title":"Production-Ready Swarm Mail + Skills Integration","description":"Fix 18 production readiness gaps in Swarm Mail (error handling, race conditions, logging, timeouts, pagination, cleanup) and update CLI prompts/templates to leverage global skills effectively","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-13T09:50:37.986193-08:00","updated_at":"2025-12-13T09:50:37.986193-08:00"}
1154
1154
  {"id":"opencode-swarm-plugin-kg04n.1","title":"Fix database singleton: error handling, race condition, process exit handlers","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T09:50:38.047239-08:00","updated_at":"2025-12-13T10:00:16.730133-08:00","closed_at":"2025-12-13T10:00:16.730133-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.1","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.048675-08:00","created_by":"daemon"}]}
1155
- {"id":"opencode-swarm-plugin-kg04n.2","title":"Fix store.ts: transaction rollback, N+1 queries, pagination","description":"","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-13T09:50:38.103935-08:00","updated_at":"2025-12-13T09:50:38.103935-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.2","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.105771-08:00","created_by":"daemon"}]}
1156
- {"id":"opencode-swarm-plugin-kg04n.3","title":"Add logging, timeouts, and reservation cleanup","description":"","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.162535-08:00","updated_at":"2025-12-13T09:50:38.162535-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.3","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.163973-08:00","created_by":"daemon"}]}
1155
+ {"id":"opencode-swarm-plugin-kg04n.2","title":"Fix store.ts: transaction rollback, N+1 queries, pagination","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T09:50:38.103935-08:00","updated_at":"2025-12-13T15:59:41.133577-08:00","closed_at":"2025-12-13T15:59:41.133577-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.2","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.105771-08:00","created_by":"daemon"}]}
1156
+ {"id":"opencode-swarm-plugin-kg04n.3","title":"Add logging, timeouts, and reservation cleanup","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.162535-08:00","updated_at":"2025-12-13T15:59:41.674936-08:00","closed_at":"2025-12-13T15:59:41.674936-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.3","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.163973-08:00","created_by":"daemon"}]}
1157
1157
  {"id":"opencode-swarm-plugin-kg04n.4","title":"Add schema migration system","description":"","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.223066-08:00","updated_at":"2025-12-13T09:50:38.223066-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.4","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.224391-08:00","created_by":"daemon"}]}
1158
1158
  {"id":"opencode-swarm-plugin-kg04n.5","title":"Add performance monitoring and thread safety docs","description":"","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.282357-08:00","updated_at":"2025-12-13T09:50:38.282357-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.5","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.283586-08:00","created_by":"daemon"}]}
1159
1159
  {"id":"opencode-swarm-plugin-kg04n.6","title":"Update CLI prompts to leverage global skills","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-13T09:50:38.335876-08:00","updated_at":"2025-12-13T09:54:29.523416-08:00","closed_at":"2025-12-13T09:54:29.523416-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-kg04n.6","depends_on_id":"opencode-swarm-plugin-kg04n","type":"parent-child","created_at":"2025-12-13T09:50:38.336793-08:00","created_by":"daemon"}]}
@@ -1182,7 +1182,7 @@
1182
1182
  {"id":"opencode-swarm-plugin-kuy2","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T09:09:31.591559-08:00","updated_at":"2025-12-08T09:09:33.474734-08:00","closed_at":"2025-12-08T09:09:33.474734-08:00"}
1183
1183
  {"id":"opencode-swarm-plugin-kxnv","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:23.357335-08:00","updated_at":"2025-12-08T11:11:25.755985-08:00","closed_at":"2025-12-08T11:11:25.755985-08:00"}
1184
1184
  {"id":"opencode-swarm-plugin-kyd8","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:22.571863-08:00","updated_at":"2025-12-08T11:11:25.310068-08:00","closed_at":"2025-12-08T11:11:25.310068-08:00"}
1185
- {"id":"opencode-swarm-plugin-kzs3m","title":"Gap: Reservation expiry not enforced on read","description":"src/streams/projections.ts:215-242 - getActiveReservations() filters by expires_at \u003e now, but expired reservations are never cleaned up from DB. Over time, reservations table grows with expired entries. Should: add cleanup job to DELETE expired reservations, or VACUUM old data. Consider: periodic cleanup on health check, TTL-based auto-deletion, or expose cleanup API.","status":"open","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:39.780369-08:00","updated_at":"2025-12-13T09:25:39.780369-08:00"}
1185
+ {"id":"opencode-swarm-plugin-kzs3m","title":"Gap: Reservation expiry not enforced on read","description":"src/streams/projections.ts:215-242 - getActiveReservations() filters by expires_at \u003e now, but expired reservations are never cleaned up from DB. Over time, reservations table grows with expired entries. Should: add cleanup job to DELETE expired reservations, or VACUUM old data. Consider: periodic cleanup on health check, TTL-based auto-deletion, or expose cleanup API.","status":"closed","priority":2,"issue_type":"chore","created_at":"2025-12-13T09:25:39.780369-08:00","updated_at":"2025-12-13T15:51:25.259688-08:00","closed_at":"2025-12-13T15:51:25.259688-08:00"}
1186
1186
  {"id":"opencode-swarm-plugin-kzyo","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:56:55.201159-08:00","updated_at":"2025-12-08T08:56:57.826934-08:00","closed_at":"2025-12-08T08:56:57.826934-08:00"}
1187
1187
  {"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"}
1188
1188
  {"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"}
@@ -1318,7 +1318,7 @@
1318
1318
  {"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"}
1319
1319
  {"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"}
1320
1320
  {"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"}
1321
- {"id":"opencode-swarm-plugin-ncmif","title":"Integrate superpowers verification \u0026 quality patterns","description":"Add Verification Gate to swarm_complete, CSO validation to skills_create, 3-Strike Detection, Socratic strategy for swarm decomposition, and coordinator context preservation pattern. Based on analysis of obra/superpowers repo.","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-13T14:09:25.492623-08:00","updated_at":"2025-12-13T14:09:25.492623-08:00"}
1321
+ {"id":"opencode-swarm-plugin-ncmif","title":"Integrate superpowers verification \u0026 quality patterns","description":"Add Verification Gate to swarm_complete, CSO validation to skills_create, 3-Strike Detection, Socratic strategy for swarm decomposition, and coordinator context preservation pattern. Based on analysis of obra/superpowers repo.","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T14:09:25.492623-08:00","updated_at":"2025-12-13T15:50:51.023656-08:00","closed_at":"2025-12-13T15:50:51.023656-08:00"}
1322
1322
  {"id":"opencode-swarm-plugin-ncmif.1","title":"Add CSO validation to skills_create","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:09:25.550394-08:00","updated_at":"2025-12-13T14:18:35.456019-08:00","closed_at":"2025-12-13T14:18:35.456019-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ncmif.1","depends_on_id":"opencode-swarm-plugin-ncmif","type":"parent-child","created_at":"2025-12-13T14:09:25.55131-08:00","created_by":"daemon"}]}
1323
1323
  {"id":"opencode-swarm-plugin-ncmif.2","title":"Add Verification Gate + Socratic strategy to swarm.ts","description":"COMPLETED: Added Verification Gate to swarm_complete.\n\nImplements the Gate Function (IDENTIFY → RUN → READ → VERIFY → CLAIM):\n1. UBS scan (existing)\n2. Typecheck verification (new) - runs tsc --noEmit\n3. Test verification (new) - runs tests for touched files\n\nAll steps must pass before bead can be closed. Adds skip_verification param for escape hatch.\n\nFiles modified:\n- src/swarm.ts: Added runTypecheckVerification(), runTestVerification(), runVerificationGate(), updated swarm_complete tool","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-13T14:09:25.600836-08:00","updated_at":"2025-12-13T14:49:56.515815-08:00","closed_at":"2025-12-13T14:49:56.515815-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ncmif.2","depends_on_id":"opencode-swarm-plugin-ncmif","type":"parent-child","created_at":"2025-12-13T14:09:25.601585-08:00","created_by":"daemon"}]}
1324
1324
  {"id":"opencode-swarm-plugin-ncmif.3","title":"Implement 3-Strike Detection","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T14:09:25.654605-08:00","updated_at":"2025-12-13T14:18:37.578898-08:00","closed_at":"2025-12-13T14:18:37.578898-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-ncmif.3","depends_on_id":"opencode-swarm-plugin-ncmif","type":"parent-child","created_at":"2025-12-13T14:09:25.655388-08:00","created_by":"daemon"}]}
@@ -1330,7 +1330,7 @@
1330
1330
  {"id":"opencode-swarm-plugin-nl35","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.450565-08:00","updated_at":"2025-12-07T19:56:44.715664-08:00","closed_at":"2025-12-07T19:56:44.715664-08:00"}
1331
1331
  {"id":"opencode-swarm-plugin-nl4d","title":"Limit test bead 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T07:49:09.534719-08:00","updated_at":"2025-12-08T07:49:12.03954-08:00","closed_at":"2025-12-08T07:49:12.03954-08:00"}
1332
1332
  {"id":"opencode-swarm-plugin-nncr","title":"Query test bead","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:11:07.94483-08:00","updated_at":"2025-12-08T11:11:10.366924-08:00","closed_at":"2025-12-08T11:11:10.366924-08:00"}
1333
- {"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":"open","priority":1,"issue_type":"feature","created_at":"2025-12-13T14:01:12.487844-08:00","updated_at":"2025-12-13T14:01:12.487844-08:00"}
1333
+ {"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"}
1334
1334
  {"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"}
1335
1335
  {"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"}
1336
1336
  {"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"}
@@ -1484,10 +1484,10 @@
1484
1484
  {"id":"opencode-swarm-plugin-qhj39.4","title":"Performance and Resource Management Analysis","description":"","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-13T13:46:33.692921-08:00","updated_at":"2025-12-13T13:46:33.692921-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qhj39.4","depends_on_id":"opencode-swarm-plugin-qhj39","type":"parent-child","created_at":"2025-12-13T13:46:33.693758-08:00","created_by":"daemon"}]}
1485
1485
  {"id":"opencode-swarm-plugin-qhj39.5","title":"Synthesis: Prioritized Improvement Roadmap","description":"","status":"open","priority":2,"issue_type":"task","created_at":"2025-12-13T13:46:33.748664-08:00","updated_at":"2025-12-13T13:46:33.748664-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qhj39.5","depends_on_id":"opencode-swarm-plugin-qhj39","type":"parent-child","created_at":"2025-12-13T13:46:33.749458-08:00","created_by":"daemon"}]}
1486
1486
  {"id":"opencode-swarm-plugin-qhr0","title":"Cleanup task","description":"","status":"closed","priority":3,"issue_type":"chore","created_at":"2025-12-08T08:22:16.521307-08:00","updated_at":"2025-12-08T08:22:19.112363-08:00","closed_at":"2025-12-08T08:22:19.112363-08:00"}
1487
- {"id":"opencode-swarm-plugin-qkscs","title":"Production Hardening: Logging, Cleanup, and N+1 Fixes","description":"Fix 3 production readiness gaps in Swarm Mail to improve reliability and debuggability","status":"open","priority":1,"issue_type":"epic","created_at":"2025-12-13T13:27:21.122378-08:00","updated_at":"2025-12-13T13:27:21.122378-08:00"}
1488
- {"id":"opencode-swarm-plugin-qkscs.1","title":"Fix N+1 queries in store.ts message and reservation handlers","description":"","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-13T13:27:21.179002-08:00","updated_at":"2025-12-13T13:27:21.179002-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qkscs.1","depends_on_id":"opencode-swarm-plugin-qkscs","type":"parent-child","created_at":"2025-12-13T13:27:21.180631-08:00","created_by":"daemon"}]}
1489
- {"id":"opencode-swarm-plugin-qkscs.2","title":"Implement expired reservation cleanup in projections.ts","description":"","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-13T13:27:21.234033-08:00","updated_at":"2025-12-13T13:27:21.234033-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qkscs.2","depends_on_id":"opencode-swarm-plugin-qkscs","type":"parent-child","created_at":"2025-12-13T13:27:21.235438-08:00","created_by":"daemon"}]}
1490
- {"id":"opencode-swarm-plugin-qkscs.3","title":"Add structured logging for critical operations","description":"","status":"open","priority":1,"issue_type":"task","created_at":"2025-12-13T13:27:21.287551-08:00","updated_at":"2025-12-13T13:27:21.287551-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qkscs.3","depends_on_id":"opencode-swarm-plugin-qkscs","type":"parent-child","created_at":"2025-12-13T13:27:21.288503-08:00","created_by":"daemon"}]}
1487
+ {"id":"opencode-swarm-plugin-qkscs","title":"Production Hardening: Logging, Cleanup, and N+1 Fixes","description":"Fix 3 production readiness gaps in Swarm Mail to improve reliability and debuggability","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-13T13:27:21.122378-08:00","updated_at":"2025-12-13T15:51:22.811521-08:00","closed_at":"2025-12-13T15:51:22.811521-08:00"}
1488
+ {"id":"opencode-swarm-plugin-qkscs.1","title":"Fix N+1 queries in store.ts message and reservation handlers","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T13:27:21.179002-08:00","updated_at":"2025-12-13T15:51:23.583961-08:00","closed_at":"2025-12-13T15:51:23.583961-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qkscs.1","depends_on_id":"opencode-swarm-plugin-qkscs","type":"parent-child","created_at":"2025-12-13T13:27:21.180631-08:00","created_by":"daemon"}]}
1489
+ {"id":"opencode-swarm-plugin-qkscs.2","title":"Implement expired reservation cleanup in projections.ts","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T13:27:21.234033-08:00","updated_at":"2025-12-13T15:51:24.090427-08:00","closed_at":"2025-12-13T15:51:24.090427-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qkscs.2","depends_on_id":"opencode-swarm-plugin-qkscs","type":"parent-child","created_at":"2025-12-13T13:27:21.235438-08:00","created_by":"daemon"}]}
1490
+ {"id":"opencode-swarm-plugin-qkscs.3","title":"Add structured logging for critical operations","description":"","status":"closed","priority":1,"issue_type":"task","created_at":"2025-12-13T13:27:21.287551-08:00","updated_at":"2025-12-13T15:51:24.600571-08:00","closed_at":"2025-12-13T15:51:24.600571-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-qkscs.3","depends_on_id":"opencode-swarm-plugin-qkscs","type":"parent-child","created_at":"2025-12-13T13:27:21.288503-08:00","created_by":"daemon"}]}
1491
1491
  {"id":"opencode-swarm-plugin-ql5z","title":"Test bug with priority","description":"This is a critical bug","status":"closed","priority":0,"issue_type":"bug","created_at":"2025-12-08T08:14:28.392972-08:00","updated_at":"2025-12-08T08:14:30.889299-08:00","closed_at":"2025-12-08T08:14:30.889299-08:00"}
1492
1492
  {"id":"opencode-swarm-plugin-qlrp","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:56:55.899992-08:00","updated_at":"2025-12-08T08:56:58.219456-08:00","closed_at":"2025-12-08T08:56:58.219456-08:00"}
1493
1493
  {"id":"opencode-swarm-plugin-qlzm","title":"Update test bead","description":"Updated description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:10:25.282262-08:00","updated_at":"2025-12-08T11:10:27.598379-08:00","closed_at":"2025-12-08T11:10:27.598379-08:00"}
@@ -1571,7 +1571,7 @@
1571
1571
  {"id":"opencode-swarm-plugin-shmi","title":"Workflow test epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T09:09:32.700868-08:00","updated_at":"2025-12-08T09:09:32.892363-08:00","closed_at":"2025-12-08T09:09:32.892363-08:00"}
1572
1572
  {"id":"opencode-swarm-plugin-shmi.1","title":"Step 1","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.732667-08:00","updated_at":"2025-12-08T09:09:32.8181-08:00","closed_at":"2025-12-08T09:09:32.8181-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-shmi.1","depends_on_id":"opencode-swarm-plugin-shmi","type":"parent-child","created_at":"2025-12-08T09:09:32.733006-08:00","created_by":"daemon"}]}
1573
1573
  {"id":"opencode-swarm-plugin-shmi.2","title":"Step 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T09:09:32.766428-08:00","updated_at":"2025-12-08T09:09:32.867989-08:00","closed_at":"2025-12-08T09:09:32.867989-08:00","dependencies":[{"issue_id":"opencode-swarm-plugin-shmi.2","depends_on_id":"opencode-swarm-plugin-shmi","type":"parent-child","created_at":"2025-12-08T09:09:32.768721-08:00","created_by":"daemon"}]}
1574
- {"id":"opencode-swarm-plugin-simya","title":"Pattern: Fresh Subagent Per Task - No Context Pollution","description":"## Fresh Subagent Per Task (from obra/superpowers)\n\n**Core Principle:** Each agent starts clean, reads requirements, executes, reports back. No context pollution.\n\n### Why Fresh Subagents\n- TDD comes naturally (no accumulated assumptions)\n- Parallel-safe (subagents don't interfere)\n- Catches issues early (code review after each task)\n- Cheaper than debugging cascading failures\n\n### Subagent-Driven Development Workflow\n1. Load plan, create TodoWrite\n2. For each task:\n - Dispatch implementation subagent\n - Dispatch code-reviewer subagent\n - Fix issues from review (dispatch fix subagent, NOT manual)\n - Mark complete\n3. Final review of entire implementation\n4. Use finishing-a-development-branch skill\n\n### Agent Prompt Best Practices\n**1. Focused** - One clear problem domain\n```\n❌ \"Fix all the tests\"\n✓ \"Fix agent-tool-abort.test.ts\"\n```\n\n**2. Self-contained** - All context needed\n```\n❌ \"Fix the race condition\"\n✓ \"Fix the 3 failing tests in src/agents/agent-tool-abort.test.ts:\n 1. 'should abort tool with partial output capture'...\"\n```\n\n**3. Specific about output**\n```\n❌ \"Fix it\"\n✓ \"Return: Summary of root cause and what you fixed\"\n```\n\n**4. Constraints** - Prevent scope creep\n```\n✓ \"Do NOT just increase timeouts - find the real issue\"\n✓ \"Don't refactor - minimal changes to make tests pass\"\n```\n\n### Red Flags\n- Skip code review between tasks\n- Proceed with unfixed Critical issues\n- Dispatch multiple implementation subagents in parallel (conflicts)\n- Fix subagent failures manually (context pollution)\n\n**Full analysis:** docs/analysis/subagent-coordination-patterns.md","status":"open","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:40.843556-08:00","updated_at":"2025-12-13T14:00:40.843556-08:00"}
1574
+ {"id":"opencode-swarm-plugin-simya","title":"Pattern: Fresh Subagent Per Task - No Context Pollution","description":"## Fresh Subagent Per Task (from obra/superpowers)\n\n**Core Principle:** Each agent starts clean, reads requirements, executes, reports back. No context pollution.\n\n### Why Fresh Subagents\n- TDD comes naturally (no accumulated assumptions)\n- Parallel-safe (subagents don't interfere)\n- Catches issues early (code review after each task)\n- Cheaper than debugging cascading failures\n\n### Subagent-Driven Development Workflow\n1. Load plan, create TodoWrite\n2. For each task:\n - Dispatch implementation subagent\n - Dispatch code-reviewer subagent\n - Fix issues from review (dispatch fix subagent, NOT manual)\n - Mark complete\n3. Final review of entire implementation\n4. Use finishing-a-development-branch skill\n\n### Agent Prompt Best Practices\n**1. Focused** - One clear problem domain\n```\n❌ \"Fix all the tests\"\n✓ \"Fix agent-tool-abort.test.ts\"\n```\n\n**2. Self-contained** - All context needed\n```\n❌ \"Fix the race condition\"\n✓ \"Fix the 3 failing tests in src/agents/agent-tool-abort.test.ts:\n 1. 'should abort tool with partial output capture'...\"\n```\n\n**3. Specific about output**\n```\n❌ \"Fix it\"\n✓ \"Return: Summary of root cause and what you fixed\"\n```\n\n**4. Constraints** - Prevent scope creep\n```\n✓ \"Do NOT just increase timeouts - find the real issue\"\n✓ \"Don't refactor - minimal changes to make tests pass\"\n```\n\n### Red Flags\n- Skip code review between tasks\n- Proceed with unfixed Critical issues\n- Dispatch multiple implementation subagents in parallel (conflicts)\n- Fix subagent failures manually (context pollution)\n\n**Full analysis:** docs/analysis/subagent-coordination-patterns.md","status":"closed","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:40.843556-08:00","updated_at":"2025-12-13T15:50:54.544856-08:00","closed_at":"2025-12-13T15:50:54.544856-08:00"}
1575
1575
  {"id":"opencode-swarm-plugin-sjl8","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T11:11:39.199339-08:00","updated_at":"2025-12-08T11:11:41.183854-08:00","closed_at":"2025-12-08T11:11:41.183854-08:00"}
1576
1576
  {"id":"opencode-swarm-plugin-sln6c","title":"Lifecycle test bead","description":"50% complete","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T11:12:43.027099-08:00","updated_at":"2025-12-08T11:12:43.100181-08:00","closed_at":"2025-12-08T11:12:43.100181-08:00"}
1577
1577
  {"id":"opencode-swarm-plugin-slxb","title":"Single subtask epic","description":"","status":"closed","priority":1,"issue_type":"epic","created_at":"2025-12-08T08:56:56.672463-08:00","updated_at":"2025-12-08T08:56:58.554736-08:00","closed_at":"2025-12-08T08:56:58.554736-08:00"}
@@ -1880,7 +1880,7 @@
1880
1880
  {"id":"opencode-swarm-plugin-xvy2","title":"High priority ready bead","description":"","status":"closed","priority":0,"issue_type":"task","created_at":"2025-12-08T08:56:56.367536-08:00","updated_at":"2025-12-08T08:56:58.354937-08:00","closed_at":"2025-12-08T08:56:58.354937-08:00"}
1881
1881
  {"id":"opencode-swarm-plugin-xw8p","title":"Update test bead","description":"Original description","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-07T19:56:42.883419-08:00","updated_at":"2025-12-07T19:56:44.943175-08:00","closed_at":"2025-12-07T19:56:44.943175-08:00"}
1882
1882
  {"id":"opencode-swarm-plugin-xwb7","title":"Limit test bead 2","description":"","status":"closed","priority":2,"issue_type":"task","created_at":"2025-12-08T08:11:39.379835-08:00","updated_at":"2025-12-08T08:11:41.909086-08:00","closed_at":"2025-12-08T08:11:41.909086-08:00"}
1883
- {"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":"open","priority":0,"issue_type":"feature","created_at":"2025-12-13T14:00:08.183656-08:00","updated_at":"2025-12-13T14:00:08.183656-08:00"}
1883
+ {"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"}
1884
1884
  {"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"}
1885
1885
  {"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"}
1886
1886
  {"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"}