opencodekit 0.15.21 → 0.16.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +5 -7
- package/dist/template/.opencode/AGENTS.md +85 -23
- package/dist/template/.opencode/agent/build.md +88 -7
- package/dist/template/.opencode/agent/explore.md +1 -1
- package/dist/template/.opencode/agent/general.md +54 -4
- package/dist/template/.opencode/agent/looker.md +1 -1
- package/dist/template/.opencode/agent/painter.md +1 -1
- package/dist/template/.opencode/agent/plan.md +52 -0
- package/dist/template/.opencode/agent/review.md +1 -1
- package/dist/template/.opencode/agent/scout.md +3 -3
- package/dist/template/.opencode/agent/vision.md +1 -1
- package/dist/template/.opencode/command/create.md +231 -91
- package/dist/template/.opencode/command/design.md +40 -7
- package/dist/template/.opencode/command/handoff.md +22 -0
- package/dist/template/.opencode/command/init.md +49 -78
- package/dist/template/.opencode/command/plan.md +36 -16
- package/dist/template/.opencode/command/pr.md +15 -0
- package/dist/template/.opencode/command/research.md +3 -0
- package/dist/template/.opencode/command/resume.md +8 -18
- package/dist/template/.opencode/command/review-codebase.md +30 -0
- package/dist/template/.opencode/command/ship.md +199 -0
- package/dist/template/.opencode/command/start.md +316 -28
- package/dist/template/.opencode/command/status.md +24 -1
- package/dist/template/.opencode/command/ui-review.md +36 -7
- package/dist/template/.opencode/command/verify.md +307 -0
- package/dist/template/.opencode/memory/_templates/prd.md +29 -0
- package/dist/template/.opencode/memory/_templates/proposal.md +38 -0
- package/dist/template/.opencode/memory/_templates/spec.md +66 -0
- package/dist/template/.opencode/memory/_templates/tasks.md +198 -0
- package/dist/template/.opencode/memory/_templates/tech-stack.md +50 -0
- package/dist/template/.opencode/memory/project/tech-stack.md +53 -0
- package/dist/template/.opencode/memory/research/ccpm-analysis.md +334 -0
- package/dist/template/.opencode/memory/research/openspec-analysis.md +226 -0
- package/dist/template/.opencode/memory.db +0 -0
- package/dist/template/.opencode/memory.db-shm +0 -0
- package/dist/template/.opencode/memory.db-wal +0 -0
- package/dist/template/.opencode/opencode.json +18 -4
- package/dist/template/.opencode/package.json +1 -0
- package/dist/template/.opencode/plans/1770006237537-mighty-otter.md +418 -0
- package/dist/template/.opencode/plans/1770006913647-glowing-forest.md +170 -0
- package/dist/template/.opencode/plans/1770013678126-witty-planet.md +278 -0
- package/dist/template/.opencode/plugin/lib/memory-db.ts +828 -0
- package/dist/template/.opencode/plugin/memory.ts +38 -1
- package/dist/template/.opencode/skill/index-knowledge/SKILL.md +76 -31
- package/dist/template/.opencode/skill/memory-system/SKILL.md +110 -55
- package/dist/template/.opencode/skill/tool-priority/SKILL.md +2 -2
- package/dist/template/.opencode/tool/memory-get.ts +143 -0
- package/dist/template/.opencode/tool/memory-maintain.ts +167 -0
- package/dist/template/.opencode/tool/memory-migrate.ts +319 -0
- package/dist/template/.opencode/tool/memory-read.ts +17 -46
- package/dist/template/.opencode/tool/memory-search.ts +131 -28
- package/dist/template/.opencode/tool/memory-timeline.ts +105 -0
- package/dist/template/.opencode/tool/memory-update.ts +21 -26
- package/dist/template/.opencode/tool/observation.ts +112 -100
- package/dist/template/.opencode/tsconfig.json +19 -19
- package/package.json +1 -1
- package/dist/template/.opencode/command/accessibility-check.md +0 -331
- package/dist/template/.opencode/command/agent-browser.md +0 -21
- package/dist/template/.opencode/command/analyze-mockup.md +0 -423
- package/dist/template/.opencode/command/analyze-project.md +0 -295
- package/dist/template/.opencode/command/brainstorm.md +0 -373
- package/dist/template/.opencode/command/cloudflare.md +0 -70
- package/dist/template/.opencode/command/commit.md +0 -245
- package/dist/template/.opencode/command/complete-next-task.md +0 -77
- package/dist/template/.opencode/command/design-audit.md +0 -480
- package/dist/template/.opencode/command/edit-image.md +0 -242
- package/dist/template/.opencode/command/finish.md +0 -255
- package/dist/template/.opencode/command/fix-ci.md +0 -109
- package/dist/template/.opencode/command/fix-types.md +0 -104
- package/dist/template/.opencode/command/fix-ui.md +0 -117
- package/dist/template/.opencode/command/fix.md +0 -168
- package/dist/template/.opencode/command/frontend-design.md +0 -21
- package/dist/template/.opencode/command/generate-diagram.md +0 -349
- package/dist/template/.opencode/command/generate-icon.md +0 -283
- package/dist/template/.opencode/command/generate-image.md +0 -246
- package/dist/template/.opencode/command/generate-pattern.md +0 -247
- package/dist/template/.opencode/command/generate-storyboard.md +0 -250
- package/dist/template/.opencode/command/implement.md +0 -609
- package/dist/template/.opencode/command/import-plan.md +0 -406
- package/dist/template/.opencode/command/index-knowledge.md +0 -25
- package/dist/template/.opencode/command/integration-test.md +0 -424
- package/dist/template/.opencode/command/issue.md +0 -102
- package/dist/template/.opencode/command/new-feature.md +0 -651
- package/dist/template/.opencode/command/opensrc.md +0 -58
- package/dist/template/.opencode/command/quick-build.md +0 -238
- package/dist/template/.opencode/command/ralph.md +0 -41
- package/dist/template/.opencode/command/research-and-implement.md +0 -148
- package/dist/template/.opencode/command/research-ui.md +0 -466
- package/dist/template/.opencode/command/restore-image.md +0 -424
- package/dist/template/.opencode/command/revert-feature.md +0 -386
- package/dist/template/.opencode/command/skill-create.md +0 -517
- package/dist/template/.opencode/command/skill-optimize.md +0 -556
- package/dist/template/.opencode/command/summarize.md +0 -412
- package/dist/template/.opencode/command/triage.md +0 -398
- package/dist/template/.opencode/memory/_templates/README.md +0 -35
- package/dist/template/.opencode/memory/_templates/observation.md +0 -39
- package/dist/template/.opencode/memory/_templates/project/architecture.md +0 -60
- package/dist/template/.opencode/memory/_templates/project/commands.md +0 -72
- package/dist/template/.opencode/memory/_templates/project/conventions.md +0 -68
- package/dist/template/.opencode/memory/_templates/project/gotchas.md +0 -41
- package/dist/template/.opencode/memory/_templates/prompt-engineering.md +0 -333
- package/dist/template/.opencode/memory/observations/2026-01-22-decision-agents-md-prompt-engineering-improvement.md +0 -29
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-agent-roles-build-orchestrates-general-e.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-simplified-swarm-helper-tool-to-fix-type.md +0 -20
- package/dist/template/.opencode/memory/observations/2026-01-25-decision-use-beads-as-swarm-board-source-of-truth.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-25-learning-user-wants-real-swarm-coordination-guida.md +0 -15
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-created-deep-research-skill-for-thorough.md +0 -29
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-gh-grep-mcp-wrapper-vs-native-grep-searc.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-28-decision-oracle-tool-optimal-usage-patterns.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-28-learning-ampcode-deep-mode-research-integration-w.md +0 -42
- package/dist/template/.opencode/memory/observations/2026-01-28-pattern-research-delegation-pattern-explore-for-.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-29-decision-copilot-auth-plugin-rate-limit-handling.md +0 -27
- package/dist/template/.opencode/memory/observations/2026-01-29-decision-spec-driven-approach-for-opencodekit.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-29-learning-karpathy-llm-coding-insights-dec-2025.md +0 -44
- package/dist/template/.opencode/memory/observations/2026-01-30-decision-github-copilot-claude-routing-keep-disab.md +0 -32
- package/dist/template/.opencode/memory/observations/2026-01-30-discovery-context-management-research-critical-gap.md +0 -14
- package/dist/template/.opencode/memory/observations/2026-01-30-discovery-kimi-k2-5-agent-swarm-architecture-patte.md +0 -45
- package/dist/template/.opencode/memory/observations/2026-01-30-pattern-swarm-tools-architecture.md +0 -28
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-copilot-auth-plugin-updated-with-baseurl.md +0 -63
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-created-dedicated-worker-agent-for-swarm.md +0 -20
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-rollback-to-v1-1-47-for-copilot-claude-r.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-simplified-swarm-to-task-tool-pattern.md +0 -44
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-swarm-architecture-task-tool-over-tmux.md +0 -33
- package/dist/template/.opencode/memory/observations/2026-01-31-decision-worker-skills-defined-for-swarm-delegati.md +0 -30
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-gpt-reasoning-config-for-github-copilot.md +0 -51
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-copilot-auth-comparison-finding.md +0 -61
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-copilot-reasoning-architecture-.md +0 -66
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-custom-tools-api.md +0 -48
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-v1-1-48-skills-as-slash-command.md +0 -21
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-swarm-system-simplified-removed-mailbox-.md +0 -30
- package/dist/template/.opencode/memory/observations/2026-01-31-learning-v1-1-48-native-copilot-reasoning-via-pr-.md +0 -45
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-cannot-add-custom-config-to-opencode-jso.md +0 -18
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-copilot-claude-v1-endpoint-returns-404-c.md +0 -48
- package/dist/template/.opencode/memory/observations/2026-01-31-warning-opencode-v1-1-48-claude-thinking-block-s.md +0 -51
- package/dist/template/.opencode/memory/project/architecture.md +0 -60
- package/dist/template/.opencode/memory/project/commands.md +0 -72
- package/dist/template/.opencode/memory/project/conventions.md +0 -68
- package/dist/template/.opencode/memory/project/gotchas.md +0 -41
- package/dist/template/.opencode/skill/notebooklm/SKILL.md +0 -272
- package/dist/template/.opencode/skill/notebooklm/references/setup.md +0 -353
- package/dist/template/.opencode/tool/notebooklm.ts +0 -488
- package/dist/template/.opencode/tool/oracle.ts +0 -240
- /package/dist/template/.opencode/memory/{user.example.md → _templates/user.md} +0 -0
- /package/dist/template/.opencode/memory/{user.md → project/user.md} +0 -0
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: decision
|
|
3
|
-
created: 2026-01-30T15:07:59.081Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["github-copilot", "claude", "anthropic-sdk", "reasoning", "api-routing"]
|
|
8
|
-
files: [".opencode/plugins/copilot-auth.ts"]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# 🎯 GitHub Copilot Claude routing: Keep disabled for stability
|
|
12
|
-
|
|
13
|
-
🟢 **Confidence:** high
|
|
14
|
-
|
|
15
|
-
Claude routing through Anthropic SDK is currently disabled in copilot-auth.ts (commit f7aabde). This decision was made because:
|
|
16
|
-
|
|
17
|
-
1. **Problem**: Enabling Claude routing to use `@ai-sdk/anthropic` with `/v1` endpoint causes "Not Found: 404" errors
|
|
18
|
-
2. **Root cause**: GitHub Copilot's API likely doesn't support the native Anthropic `/v1/messages` endpoint for Claude models through this integration
|
|
19
|
-
3. **Solution**: Keep all models using `@ai-sdk/github-copilot` (OpenAI-compatible `/v1/chat/completions`)
|
|
20
|
-
4. **Trade-off**: All models work, but Claude models don't get native Anthropic SDK optimizations or reasoning features through the `/v1` gateway
|
|
21
|
-
|
|
22
|
-
To enable reasoning in the future, would need to:
|
|
23
|
-
- Research if GitHub Copilot supports a different endpoint for reasoning
|
|
24
|
-
- Check if there's a separate gateway URL for reasoning models
|
|
25
|
-
- Verify with GitHub Copilot API documentation
|
|
26
|
-
|
|
27
|
-
Current working configuration (commit f7aabde):
|
|
28
|
-
- All models use `@ai-sdk/github-copilot`
|
|
29
|
-
- All models use `/v1/chat/completions` (OpenAI-compatible)
|
|
30
|
-
- Claude models work but don't have reasoning enabled
|
|
31
|
-
|
|
32
|
-
File: .opencode/plugins/copilot-auth.ts (lines 93-100)
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: discovery
|
|
3
|
-
created: 2026-01-30T16:51:31.023Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["context-management", "tool-loadout", "context-pruning", "subagents", "swarm-coordination", "RAG"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 💡 Context Management Research - Critical Gaps in OpenCodeKit
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
Research from dbreunig.com reveals four context failure modes: Poisoning, Distraction, Confusion, Clash. Key findings: models fail beyond 100k tokens, >30 tools causes guaranteed failures, multi-turn prompts yield 39% worse results. OpenCodeKit has 40+ tools in context (33% over limit). Critical gaps: 1) No tool loadout system, 2) No structured context assembly, 3) No scratchpad/think tool, 4) No automated pruning at thresholds, 5) No poisoning detection. Immediate action needed: implement tool loadout to reduce tools from 40+ to <25. Should improve accuracy 20-40% based on Berkeley Function-Calling Leaderboard findings.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: discovery
|
|
3
|
-
created: 2026-01-30T05:46:18.057Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["Kimi K2.5", "agent swarm", "PARL", "parallel execution", "task decomposition", "coordination mechanisms"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 💡 Kimi K2.5 Agent Swarm Architecture Patterns
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
Comprehensive research completed on Kimi K2.5's agent swarm architecture and patterns. Key findings:
|
|
15
|
-
|
|
16
|
-
## Core Architecture
|
|
17
|
-
- **PARL (Parallel-Agent Reinforcement Learning)**: Training method using staged reward shaping to prevent "serial collapse"
|
|
18
|
-
- **Orchestrator-Agent Model**: Central coordinator that decomposes tasks and manages sub-agents
|
|
19
|
-
- **Critical Steps Metric**: Latency-focused evaluation inspired by parallel computation critical path
|
|
20
|
-
- **Up to 100 sub-agents**: Dynamically instantiated frozen workers
|
|
21
|
-
- **1,500 coordinated tool calls**: Maximum parallel workflow capacity
|
|
22
|
-
|
|
23
|
-
## Task Decomposition Patterns
|
|
24
|
-
1. **Research Tasks**: Creates specialized agents (AI Researcher, Physics Researcher, Fact Checker)
|
|
25
|
-
2. **Dataset Creation**: Three-phase pipeline (generation → verification → calibration)
|
|
26
|
-
3. **Multimodal QA**: One-agent-per-item approach with separate coordinator
|
|
27
|
-
4. **Writing Tasks**: Conservative single-agent allocation for tightly coupled work
|
|
28
|
-
|
|
29
|
-
## Coordination Mechanisms
|
|
30
|
-
- **Agent Modes**: Explore, Decompose, Generate, Reflect, Synthesize
|
|
31
|
-
- **Dynamic Scheduling**: Reuses idle agents, manages bottlenecks
|
|
32
|
-
- **Handoff Protocol**: Agents can pass work between each other
|
|
33
|
-
- **Progress Tracking**: Visual interface shows individual agent status
|
|
34
|
-
|
|
35
|
-
## Failure Handling
|
|
36
|
-
- **Serial Collapse Prevention**: PARL's staged reward system (λaux anneals 0.1→0.0)
|
|
37
|
-
- **Self-Correction**: Orchestrator monitors and adjusts strategy
|
|
38
|
-
- **Verification First**: Quality control prioritized over raw throughput
|
|
39
|
-
- **Computational Bottleneck**: Makes sequential execution impractical
|
|
40
|
-
|
|
41
|
-
## Performance Results
|
|
42
|
-
- **4.5x speed improvement** over single-agent for complex tasks
|
|
43
|
-
- **80% reduction** in end-to-end runtime on workloads
|
|
44
|
-
- **CriticalSteps metric**: Focuses on slowest path optimization
|
|
45
|
-
- **Quality over Quantity**: May not honor exact agent count requests
|
package/dist/template/.opencode/memory/observations/2026-01-30-pattern-swarm-tools-architecture.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: pattern
|
|
3
|
-
created: 2026-01-30T06:11:22.169Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["swarm", "tools", "optimization", "architecture", "opencode"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 🔄 Swarm Tools Architecture
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
Current swarm infrastructure has 5 separate tools:
|
|
15
|
-
|
|
16
|
-
EXISTING:
|
|
17
|
-
1. swarm-delegate.ts - Creates delegation packets for workers
|
|
18
|
-
2. swarm-helper.ts - Mailbox coordination (getTeamStatus, sendTeamMessage)
|
|
19
|
-
|
|
20
|
-
NEW (created):
|
|
21
|
-
3. task-classifier.ts - Task analysis & classification
|
|
22
|
-
4. progress-tracker.ts - Real-time progress UI
|
|
23
|
-
5. swarm-orchestrator.ts - Anti-serial-collapse detection
|
|
24
|
-
|
|
25
|
-
PLUGIN:
|
|
26
|
-
6. swarm-enforcer.ts - Enforces Beads workflow via nudges
|
|
27
|
-
|
|
28
|
-
Optimization opportunity: Merge overlapping functionality into 2-3 comprehensive tools that work together as a unified swarm system.
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: decision
|
|
3
|
-
created: 2026-01-31T05:13:11.027Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["copilot", "auth", "plugin", "baseURL", "chat.headers", "anthropic-beta", "reasoning", "thinking", "enterprise"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 🎯 Copilot Auth Plugin Updated with baseURL and chat.headers
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
## Changes Made to copilot-auth.ts
|
|
15
|
-
|
|
16
|
-
### 1. Added baseURL return for enterprise support
|
|
17
|
-
```typescript
|
|
18
|
-
// Enterprise URL support for baseURL
|
|
19
|
-
const enterpriseUrl = (info as any).enterpriseUrl;
|
|
20
|
-
const baseURL = enterpriseUrl
|
|
21
|
-
? `https://copilot-api.${normalizeDomain(enterpriseUrl)}`
|
|
22
|
-
: undefined;
|
|
23
|
-
|
|
24
|
-
return {
|
|
25
|
-
baseURL, // ← Now returned
|
|
26
|
-
apiKey: "",
|
|
27
|
-
// ...
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### 2. Added chat.headers hook for Claude reasoning support
|
|
32
|
-
```typescript
|
|
33
|
-
"chat.headers": async (input: any, output: any) => {
|
|
34
|
-
// Only apply to GitHub Copilot provider
|
|
35
|
-
if (!input.model?.providerID?.includes("github-copilot")) return;
|
|
36
|
-
|
|
37
|
-
// Add Anthropic beta header for interleaved thinking (extended reasoning)
|
|
38
|
-
if (input.model?.api?.npm === "@ai-sdk/anthropic") {
|
|
39
|
-
output.headers["anthropic-beta"] = "interleaved-thinking-2025-05-14";
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Mark subagent sessions as agent-initiated
|
|
43
|
-
const session = await sdk.session.get(...);
|
|
44
|
-
if (session?.data?.parentID) {
|
|
45
|
-
output.headers["x-initiator"] = "agent";
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
### Why These Changes Matter
|
|
51
|
-
|
|
52
|
-
1. **baseURL**: Enterprise users using GitHub Enterprise with data residency will now get correct API routing to `copilot-api.<domain>`.
|
|
53
|
-
|
|
54
|
-
2. **anthropic-beta header**: When Claude routing is re-enabled (the commented-out code), this header will be automatically added to enable extended thinking/reasoning. The header `interleaved-thinking-2025-05-14` is required for Claude to return thinking blocks.
|
|
55
|
-
|
|
56
|
-
3. **Subagent x-initiator**: Sessions that are children of other sessions (subagents) will be marked as `agent` initiated, matching the standard that other Copilot tools use.
|
|
57
|
-
|
|
58
|
-
### Note on Reasoning Activation
|
|
59
|
-
|
|
60
|
-
The anthropic-beta header only activates when:
|
|
61
|
-
- `input.model.api.npm === "@ai-sdk/anthropic"`
|
|
62
|
-
|
|
63
|
-
Currently, all models use `@ai-sdk/github-copilot`, so the header won't be added until the commented Claude routing code is re-enabled.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: decision
|
|
3
|
-
created: 2026-01-31T13:42:23.877Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["worker", "swarm", "tmux", "agent", "spawn_session", "primary", "subagent"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 🎯 Created dedicated worker agent for swarm
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
Created a new `worker` agent (primary mode) specifically for tmux-spawned swarm tasks. This keeps `general` as a subagent (for Task tool delegation) while providing a standalone agent that can be spawned via `opencode run --agent worker`.
|
|
15
|
-
|
|
16
|
-
Key differences:
|
|
17
|
-
- worker: mode=primary, can run standalone, focused on delegated task execution
|
|
18
|
-
- general: mode=subagent, only via Task tool, fast small tasks
|
|
19
|
-
|
|
20
|
-
The tmux tool now defaults to `agent: "worker"` for spawn_session operations.
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: decision
|
|
3
|
-
created: 2026-01-31T17:20:18.779Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["copilot", "claude", "reasoning", "thinking_budget", "rollback", "v1.1.47", "signature validation"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 🎯 Rollback to v1.1.47 for Copilot Claude reasoning
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
User decided to rollback to OpenCode v1.1.47 approach instead of waiting for PR #8958 to merge. The v1.1.48+ native SDK has "Invalid signature in thinking block" errors with Claude models via GitHub Copilot.
|
|
15
|
-
|
|
16
|
-
Rollback includes:
|
|
17
|
-
1. Restore copilot-auth.ts with thinking_budget injection (from commit 6f003b5)
|
|
18
|
-
2. Restore custom SDK at .opencode/plugin/sdk/copilot/ with reasoning_text/reasoning_opaque handling
|
|
19
|
-
3. Restore opencode.json github-copilot provider config with reasoning: true for Claude models
|
|
20
|
-
|
|
21
|
-
This custom SDK bypasses native signature validation but provides working extended thinking.
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: decision
|
|
3
|
-
created: 2026-01-31T18:41:11.898Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["swarm", "task-tool", "parallel-execution", "mailbox", "simplification"]
|
|
8
|
-
files: [".opencode/tool/swarm-monitor.ts", ".opencode/tool/swarm-delegate.ts", ".opencode/plugin/swarm-enforcer.ts", ".opencode/agent/build.md"]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# 🎯 Simplified swarm to Task tool pattern
|
|
12
|
-
|
|
13
|
-
🟢 **Confidence:** high
|
|
14
|
-
|
|
15
|
-
## Decision
|
|
16
|
-
Removed mailbox complexity from swarm system. The Task tool handles agent lifecycle and result collection natively.
|
|
17
|
-
|
|
18
|
-
## Changes Made
|
|
19
|
-
1. **swarm-monitor.ts**: Removed mail_send, mail_read, persist_todos, restore_todos, get_todos. Now only has progress_update, progress_render, render_block, status, clear.
|
|
20
|
-
2. **swarm-delegate.ts**: Updated example to remove swarm-monitor references
|
|
21
|
-
3. **swarm-enforcer.ts**: Renamed from "SWARM PROTOCOL" to "BEADS PROTOCOL", simplified messaging
|
|
22
|
-
4. **build.md agent**: Dramatically simplified - removed complex PARL workflow, tmux panes, mailbox monitoring. Now focuses on Task tool pattern.
|
|
23
|
-
5. **Removed files**: tmux.ts, worker.md (no longer needed)
|
|
24
|
-
|
|
25
|
-
## Why
|
|
26
|
-
- Task tool already handles results returning to parent
|
|
27
|
-
- OpenCode manages agent lifecycle automatically
|
|
28
|
-
- Mailbox was adding complexity without value
|
|
29
|
-
- Session navigation (ctrl+alt+left/right) provides visibility
|
|
30
|
-
|
|
31
|
-
## New Pattern
|
|
32
|
-
```typescript
|
|
33
|
-
// Simple parallel execution
|
|
34
|
-
Task({ subagent_type: "explore", prompt: "Find X..." });
|
|
35
|
-
Task({ subagent_type: "general", prompt: "Implement Y..." });
|
|
36
|
-
// Results return directly - no mailbox needed
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Files Affected
|
|
40
|
-
- .opencode/tool/swarm-monitor.ts
|
|
41
|
-
- .opencode/tool/swarm-delegate.ts
|
|
42
|
-
- .opencode/plugin/swarm-enforcer.ts
|
|
43
|
-
- .opencode/agent/build.md
|
|
44
|
-
- dist/template/* (all synced)
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: decision
|
|
3
|
-
created: 2026-01-31T18:34:23.413Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["swarm", "task-tool", "child-session", "parallel", "architecture", "simplify"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 🎯 Swarm architecture: Task tool over tmux
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
Decided to use Task tool (child sessions) instead of tmux-spawned orphan sessions for swarm coordination.
|
|
15
|
-
|
|
16
|
-
Reasons:
|
|
17
|
-
1. Task tool manages lifecycle automatically - no orphaned processes
|
|
18
|
-
2. Results return directly to parent - no mailbox communication needed
|
|
19
|
-
3. Built-in session navigation (ctrl+alt+right/left) for visibility
|
|
20
|
-
4. Simpler architecture - no process management complexity
|
|
21
|
-
|
|
22
|
-
Removed:
|
|
23
|
-
- worker agent (.opencode/agent/worker.md)
|
|
24
|
-
- tmux tool (.opencode/tool/tmux.ts)
|
|
25
|
-
- swarm-monitor mailbox complexity
|
|
26
|
-
|
|
27
|
-
Pattern for parallel work:
|
|
28
|
-
```typescript
|
|
29
|
-
// Launch parallel subagents - results return to parent
|
|
30
|
-
Task({ subagent_type: "general", prompt: "Task 1..." });
|
|
31
|
-
Task({ subagent_type: "explore", prompt: "Task 2..." });
|
|
32
|
-
// Navigate to child sessions: ctrl+alt+right/left
|
|
33
|
-
```
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: decision
|
|
3
|
-
created: 2026-01-31T19:09:09.501Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["swarm", "delegation", "worker skills", "verification", "TDD", "tool priority"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 🎯 Worker skills defined for swarm delegation
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
Updated swarm-delegate and swarm-plan tools to recommend essential skills for worker agents:
|
|
15
|
-
|
|
16
|
-
Required/Recommended skills for workers:
|
|
17
|
-
1. verification-before-completion - REQUIRED: Workers must verify before claiming done
|
|
18
|
-
2. test-driven-development - RECOMMENDED: Write tests first, watch fail, implement, verify pass
|
|
19
|
-
3. tool-priority - RECOMMENDED: Use LSP before edits, grep for patterns, read before edit
|
|
20
|
-
|
|
21
|
-
Changes made:
|
|
22
|
-
- swarm-delegate.ts: Added "Recommended skills for workers" section to tool description
|
|
23
|
-
- swarm-plan.ts: Added "Worker skills" section with skill() calls to load
|
|
24
|
-
|
|
25
|
-
These skills ensure workers:
|
|
26
|
-
- Follow proper verification protocol (no false "done" claims)
|
|
27
|
-
- Use TDD for quality implementation
|
|
28
|
-
- Use correct tool priority (LSP before edits)
|
|
29
|
-
|
|
30
|
-
Both tools synced to dist/template/.
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: learning
|
|
3
|
-
created: 2026-01-31T18:13:49.325Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["opencode", "gpt", "reasoning", "github-copilot", "model-config", "variants", "reasoningEffort"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 📚 GPT reasoning config for GitHub Copilot
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
## GPT Models Reasoning Configuration on GitHub Copilot Provider
|
|
15
|
-
|
|
16
|
-
For OpenAI GPT models (gpt-5.2, gpt-5.2-codex) via github-copilot provider, reasoning is configured using these options:
|
|
17
|
-
|
|
18
|
-
### Key Options
|
|
19
|
-
- `reasoningEffort`: "low" | "medium" | "high" - Controls reasoning depth
|
|
20
|
-
- `reasoningSummary`: "auto" | "always" | "never" - Show reasoning summary
|
|
21
|
-
- `textVerbosity`: "low" | "medium" | "high" - Controls output verbosity
|
|
22
|
-
- `include`: ["reasoning.encrypted_content"] - Include encrypted reasoning
|
|
23
|
-
|
|
24
|
-
### Configuration Structure
|
|
25
|
-
```json
|
|
26
|
-
"github-copilot": {
|
|
27
|
-
"models": {
|
|
28
|
-
"gpt-5.2": {
|
|
29
|
-
"reasoning": true,
|
|
30
|
-
"options": {
|
|
31
|
-
"reasoningEffort": "medium",
|
|
32
|
-
"reasoningSummary": "auto"
|
|
33
|
-
},
|
|
34
|
-
"variants": {
|
|
35
|
-
"high": { "reasoningEffort": "high", "include": ["reasoning.encrypted_content"] },
|
|
36
|
-
"low": { "reasoningEffort": "low" },
|
|
37
|
-
"medium": { "reasoningEffort": "medium" }
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
### Usage
|
|
45
|
-
1. Select model: `/models` → choose `github-copilot/gpt-5.2`
|
|
46
|
-
2. Cycle variants: Use keybind to switch between low/medium/high
|
|
47
|
-
3. Or add `--variant high` when starting
|
|
48
|
-
|
|
49
|
-
### Difference from Claude models
|
|
50
|
-
- Claude uses `thinking_budget` (token count)
|
|
51
|
-
- GPT uses `reasoningEffort` (low/medium/high qualitative levels)
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: learning
|
|
3
|
-
created: 2026-01-31T05:04:00.660Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["copilot", "auth", "plugin", "token-refresh", "reasoning", "thinking", "github-copilot", "opencode", "comparison"]
|
|
8
|
-
files: ["index.mjs"]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# 📚 OpenCode Copilot Auth Comparison Findings
|
|
12
|
-
|
|
13
|
-
🟢 **Confidence:** high
|
|
14
|
-
|
|
15
|
-
## Key Findings from Comparing Local vs Official OpenCode Copilot Auth Plugin
|
|
16
|
-
|
|
17
|
-
### Official Plugin Location
|
|
18
|
-
- Repository: `anomalyco/opencode-copilot-auth` (separate repo)
|
|
19
|
-
- File: `index.mjs`
|
|
20
|
-
- The auth.ts in main opencode repo is just auth orchestration, not the actual plugin
|
|
21
|
-
|
|
22
|
-
### Critical Differences Found
|
|
23
|
-
|
|
24
|
-
#### 1. CLIENT_ID Mismatch
|
|
25
|
-
- **Local**: `Ov23li8tweQw6odWQebz`
|
|
26
|
-
- **Official**: `Iv1.b507a08c87ecfe98`
|
|
27
|
-
- CRITICAL: Different OAuth client IDs will affect authentication!
|
|
28
|
-
|
|
29
|
-
#### 2. Token Refresh Mechanism
|
|
30
|
-
- **Local**: Does NOT refresh Copilot API token - uses OAuth access token directly
|
|
31
|
-
- **Official**: Uses `COPILOT_API_KEY_URL` (`/copilot_internal/v2/token`) to get short-lived Copilot tokens
|
|
32
|
-
- CRITICAL: Local version may have token expiration issues
|
|
33
|
-
|
|
34
|
-
#### 3. Token Storage
|
|
35
|
-
- **Local**: Stores `data.access_token` as both `refresh` and `access` with `expires: 0`
|
|
36
|
-
- **Official**: Stores OAuth token as `refresh`, and fetches separate Copilot token as `access` with proper expiration
|
|
37
|
-
|
|
38
|
-
#### 4. Rate Limit Handling
|
|
39
|
-
- **Local**: Has retry logic with exponential backoff for 429 errors
|
|
40
|
-
- **Official**: No retry logic - relies on proper token refresh instead
|
|
41
|
-
|
|
42
|
-
#### 5. Model Configuration
|
|
43
|
-
- **Local**: Sets `model.api.npm = "@ai-sdk/github-copilot"` explicitly
|
|
44
|
-
- **Official**: Does NOT modify model SDK - lets OpenCode core handle it
|
|
45
|
-
|
|
46
|
-
#### 6. Agent Detection Logic
|
|
47
|
-
- **Local**: Checks ALL messages for tool/assistant roles
|
|
48
|
-
- **Official**: Only checks LAST message for agent detection
|
|
49
|
-
|
|
50
|
-
#### 7. baseURL Configuration
|
|
51
|
-
- **Local**: Does NOT set baseURL (commented out Claude routing)
|
|
52
|
-
- **Official**: Sets baseURL dynamically based on enterprise vs public deployment
|
|
53
|
-
|
|
54
|
-
### Reasoning/Thinking Block Fix Context
|
|
55
|
-
The v1.1.46 fix "Remove AI SDK middleware that was preventing think blocks" is in the core OpenCode provider code, NOT in the copilot auth plugin. The `extractReasoningMiddleware` is used to extract thinking from tags like `<think>`, but Anthropic's native thinking doesn't need this.
|
|
56
|
-
|
|
57
|
-
### Recommendation
|
|
58
|
-
The local plugin has diverged significantly from official. Key issues:
|
|
59
|
-
1. Wrong CLIENT_ID will cause auth problems
|
|
60
|
-
2. Missing token refresh logic will cause "Not Found" or auth errors
|
|
61
|
-
3. Agent detection differs which affects `x-initiator` header
|
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: learning
|
|
3
|
-
created: 2026-01-31T05:23:35.673Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["copilot", "reasoning", "thinking", "config", "opencode", "sdk", "thinking_budget", "reasoning_text", "reasoning_opaque"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 📚 OpenCode Copilot Reasoning Architecture Explained
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
## OpenCode Copilot Reasoning Architecture
|
|
15
|
-
|
|
16
|
-
### Config Parameters Found in opencode.json
|
|
17
|
-
The `github-copilot` provider has Claude models with reasoning configured:
|
|
18
|
-
```json
|
|
19
|
-
"claude-haiku-4.5": {
|
|
20
|
-
"reasoning": true,
|
|
21
|
-
"variants": {
|
|
22
|
-
"high": {
|
|
23
|
-
"options": {
|
|
24
|
-
"thinking": {
|
|
25
|
-
"budgetTokens": 32000,
|
|
26
|
-
"type": "enabled"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
### How OpenCode v1.1.46 Actually Handles Copilot Reasoning
|
|
35
|
-
|
|
36
|
-
OpenCode created a custom Copilot SDK (`packages/opencode/src/provider/sdk/copilot/`) that:
|
|
37
|
-
|
|
38
|
-
1. **Does NOT use Anthropic's `/v1/messages` endpoint** - uses standard `/chat/completions`
|
|
39
|
-
2. **Sends `thinking_budget` parameter** in request args
|
|
40
|
-
3. **Looks for `reasoning_text` and `reasoning_opaque` fields** in response
|
|
41
|
-
4. **Preserves `reasoning_opaque`** for multi-turn conversations
|
|
42
|
-
|
|
43
|
-
### Key Response Schema Fields (Copilot-specific)
|
|
44
|
-
```typescript
|
|
45
|
-
message: {
|
|
46
|
-
content: z.string().nullish(),
|
|
47
|
-
reasoning_text: z.string().nullish(), // Reasoning content
|
|
48
|
-
reasoning_opaque: z.string().nullish(), // Opaque token for multi-turn
|
|
49
|
-
}
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### Provider Options Mapping
|
|
53
|
-
The custom SDK accepts:
|
|
54
|
-
- `thinking_budget` → budget tokens for thinking
|
|
55
|
-
- `reasoningEffort` → low/medium/high effort level
|
|
56
|
-
|
|
57
|
-
### Why Standard SDK Doesn't Work
|
|
58
|
-
- `@ai-sdk/github-copilot` doesn't look for `reasoning_text` field
|
|
59
|
-
- It doesn't pass `thinking_budget` to the API
|
|
60
|
-
- It doesn't preserve `reasoning_opaque` for conversation continuity
|
|
61
|
-
|
|
62
|
-
### Solution Required
|
|
63
|
-
To enable Copilot reasoning, need to either:
|
|
64
|
-
1. Wait for `@ai-sdk/github-copilot` to add support
|
|
65
|
-
2. Copy OpenCode's custom `sdk/copilot` implementation
|
|
66
|
-
3. Contribute the feature upstream
|
package/dist/template/.opencode/memory/observations/2026-01-31-learning-opencode-custom-tools-api.md
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: learning
|
|
3
|
-
created: 2026-01-31T13:08:45.478Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["opencode", "custom-tools", "plugin", "bun-shell", "tool-schema"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 📚 OpenCode Custom Tools API
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
## Proper Custom Tool Format
|
|
15
|
-
|
|
16
|
-
OpenCode custom tools must use the `@opencode-ai/plugin` package:
|
|
17
|
-
|
|
18
|
-
```typescript
|
|
19
|
-
import { tool } from "@opencode-ai/plugin";
|
|
20
|
-
|
|
21
|
-
export default tool({
|
|
22
|
-
description: "Tool description",
|
|
23
|
-
args: {
|
|
24
|
-
param: tool.schema.string().describe("Parameter description"),
|
|
25
|
-
},
|
|
26
|
-
async execute(args, context) {
|
|
27
|
-
// context provides: agent, sessionID, messageID, directory, worktree
|
|
28
|
-
return "result";
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### Key Points:
|
|
34
|
-
1. **Import**: `import { tool } from "@opencode-ai/plugin"`
|
|
35
|
-
2. **Schema**: Use `tool.schema` (which is Zod) for argument types
|
|
36
|
-
3. **Shell commands**: Use `Bun.$` for shell commands, NOT Node.js child_process
|
|
37
|
-
4. **Context**: Second argument provides session info (directory, worktree, etc.)
|
|
38
|
-
5. **Multiple exports**: Each named export becomes `<filename>_<exportname>` tool
|
|
39
|
-
|
|
40
|
-
### Shell Command Example:
|
|
41
|
-
```typescript
|
|
42
|
-
// Use Bun shell (NOT child_process)
|
|
43
|
-
const result = await Bun.$`tmux -V`.quiet();
|
|
44
|
-
return result.stdout.toString().trim();
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
### Docs Reference:
|
|
48
|
-
https://opencode.ai/docs/custom-tools/
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: learning
|
|
3
|
-
created: 2026-01-31T18:45:52.872Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["opencode", "skills", "slash-commands", "v1.1.48", "TUI", "implement"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 📚 OpenCode v1.1.48: Skills as slash commands
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
OpenCode v1.1.48 introduced the ability to invoke skills as slash commands in the TUI.
|
|
15
|
-
|
|
16
|
-
This means:
|
|
17
|
-
1. Skills in `.opencode/skill/` can be invoked directly via `/skill-name`
|
|
18
|
-
2. Commands in `.opencode/command/` that load skills via `skill({ name: "..." })` need to stay consistent with actual skill capabilities
|
|
19
|
-
3. When simplifying tools/skills, must also update any commands that reference them
|
|
20
|
-
|
|
21
|
-
Example: `/implement` loads swarm-coordination skill and uses swarm-monitor operations - if those operations change, implement.md must be updated too.
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: learning
|
|
3
|
-
created: 2026-01-31T19:06:48.076Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["swarm", "beads", "parallel execution", "task tool", "mailbox removal"]
|
|
8
|
-
files: [".opencode/tool/swarm-monitor.ts", ".opencode/command/implement.md", ".opencode/command/handoff.md", ".opencode/command/resume.md", ".opencode/command/new-feature.md", ".opencode/command/research.md", ".opencode/skill/beads/SKILL.md", ".opencode/skill/beads-bridge/SKILL.md", ".opencode/skill/swarm-coordination/SKILL.md"]
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# 📚 Swarm system simplified - removed mailbox operations
|
|
12
|
-
|
|
13
|
-
🟢 **Confidence:** high
|
|
14
|
-
|
|
15
|
-
The swarm system has been simplified to use Task tool for parallel execution instead of internal mailbox operations. Removed obsolete operations: restore_todos, persist_todos, mail_send, mail_read, get_todos.
|
|
16
|
-
|
|
17
|
-
Current valid swarm-monitor operations: progress_update, render_block, status, clear
|
|
18
|
-
|
|
19
|
-
Updated files:
|
|
20
|
-
- .opencode/tool/swarm-monitor.ts (removed obsolete operations)
|
|
21
|
-
- .opencode/command/implement.md (updated examples)
|
|
22
|
-
- .opencode/command/handoff.md (removed persist_todos)
|
|
23
|
-
- .opencode/command/resume.md (removed restore_todos)
|
|
24
|
-
- .opencode/command/new-feature.md (removed mail_send)
|
|
25
|
-
- .opencode/command/research.md (simplified examples)
|
|
26
|
-
- .opencode/skill/beads/SKILL.md (added beads-bridge section)
|
|
27
|
-
- .opencode/skill/beads-bridge/SKILL.md (removed obsolete operations)
|
|
28
|
-
- .opencode/skill/swarm-coordination/SKILL.md (removed obsolete operations)
|
|
29
|
-
|
|
30
|
-
Key insight: Task tool results replace mailbox messages. Workers return completion status directly via Task results, not via mail_send/mail_read.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
type: learning
|
|
3
|
-
created: 2026-01-31T17:23:15.170Z
|
|
4
|
-
confidence: high
|
|
5
|
-
valid_until: null
|
|
6
|
-
superseded_by: null
|
|
7
|
-
concepts: ["v1.1.48", "copilot", "reasoning", "native", "PR 8900", "thinking_budget", "reasoning_opaque", "reasoning_text"]
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# 📚 v1.1.48 Native Copilot Reasoning via PR 8900
|
|
11
|
-
|
|
12
|
-
🟢 **Confidence:** high
|
|
13
|
-
|
|
14
|
-
## v1.1.48 Native Copilot Reasoning Support (PR #8900)
|
|
15
|
-
|
|
16
|
-
OpenCode v1.1.48 includes native Copilot-specific provider that properly handles reasoning tokens! This was merged Jan 31, 2026.
|
|
17
|
-
|
|
18
|
-
### What PR #8900 Does:
|
|
19
|
-
1. Creates dedicated Copilot provider under `src/provider/sdk/copilot/`
|
|
20
|
-
2. Handles `reasoning_text` and `reasoning_opaque` fields natively
|
|
21
|
-
3. Properly stores and passes `reasoning_opaque` back to Copilot API for multi-turn context
|
|
22
|
-
4. Uses `providerOptions.copilot` key (not `openaiCompatible`)
|
|
23
|
-
5. Adds `copilot_cache_control` to all messages
|
|
24
|
-
|
|
25
|
-
### Key Implementation Details:
|
|
26
|
-
- Provider options key changed from `openaiCompatible` to `copilot`
|
|
27
|
-
- Assistant messages include `reasoning_text` and `reasoning_opaque`
|
|
28
|
-
- The opaque signature MUST be passed back for multi-turn reasoning to work properly
|
|
29
|
-
- Gemini models work with reasoning; Claude thinking is NOT yet supported server-side by GitHub
|
|
30
|
-
|
|
31
|
-
### For Plugin Configuration (v1.1.48+):
|
|
32
|
-
- NO custom SDK needed anymore
|
|
33
|
-
- Use native `github-copilot` provider
|
|
34
|
-
- Enable reasoning with `reasoning: true` in model config
|
|
35
|
-
- May need to pass `thinking_budget` via providerOptions.copilot
|
|
36
|
-
|
|
37
|
-
### GitHub Copilot Model Capabilities (from API):
|
|
38
|
-
- Claude models support `max_thinking_budget: 32000` and `min_thinking_budget: 1024`
|
|
39
|
-
- GPT models use `/responses` API endpoint
|
|
40
|
-
- Claude uses chat completions API
|
|
41
|
-
|
|
42
|
-
### Important Note:
|
|
43
|
-
- Gemini models DO return `reasoning_text` via Copilot
|
|
44
|
-
- Claude extended thinking is blocked SERVER-SIDE by GitHub (not a client issue)
|
|
45
|
-
- The custom SDK we built is now obsolete for v1.1.48+
|