sortie-dogs 0.1.1 → 0.1.2
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/README.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
**Give OpenCode a task; get a bounded, validated implementation loop instead of an open-ended agent run.**
|
|
4
4
|
|
|
5
|
+
[](https://www.npmjs.com/package/sortie-dogs)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](https://www.npmjs.com/package/sortie-dogs)
|
|
8
|
+
|
|
5
9
|

|
|
6
10
|
|
|
7
11
|
Sortie-dogs is an opt-in OpenCode orchestration plugin. It turns a task into a
|
|
@@ -13,6 +17,50 @@ Requirements: Node.js 22.6 or newer, npm, and OpenCode.
|
|
|
13
17
|
|
|
14
18
|
Guides: [日本語](docs/guide-ja.md) · [简体中文](docs/guide-zh-CN.md)
|
|
15
19
|
|
|
20
|
+
## Quick start
|
|
21
|
+
|
|
22
|
+
Install the public npm package and generate the project-local runtime files:
|
|
23
|
+
|
|
24
|
+
```sh
|
|
25
|
+
npm install --save-dev sortie-dogs
|
|
26
|
+
npx sortie-dogs init .
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
`dog-coordinator` and `dog-scout` default to `openai/gpt-5.6-luna`. To use a
|
|
30
|
+
different model for both roles, save this as `.opencode/sortie-dogs.json`:
|
|
31
|
+
|
|
32
|
+
```json
|
|
33
|
+
{
|
|
34
|
+
"modelRouting": {
|
|
35
|
+
"dog-coordinator": {
|
|
36
|
+
"preferred": { "model": "provider/model" }
|
|
37
|
+
},
|
|
38
|
+
"dog-scout": {
|
|
39
|
+
"preferred": { "model": "provider/model" }
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"modelCatalog": {
|
|
43
|
+
"project": [{ "model": "provider/model" }]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Replace `provider/model` with a model available to you. Then create
|
|
49
|
+
`.opencode/plugins/sortie-dogs.ts` as the OpenCode plugin bridge:
|
|
50
|
+
|
|
51
|
+
```ts
|
|
52
|
+
export { SortieDogsPlugin } from "sortie-dogs/plugin";
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
OpenCode discovers the bridge automatically; no `plugin` entry in
|
|
56
|
+
`opencode.json` is required. Restart OpenCode, then start a task:
|
|
57
|
+
|
|
58
|
+
```text
|
|
59
|
+
/sortie <task>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Selecting `dog-coordinator` directly also activates the workflow.
|
|
63
|
+
|
|
16
64
|
## Why Sortie-dogs
|
|
17
65
|
|
|
18
66
|
- **Focused when invited, invisible otherwise.** Activate it with `/sortie` or
|
|
@@ -28,6 +76,20 @@ Guides: [日本語](docs/guide-ja.md) · [简体中文](docs/guide-zh-CN.md)
|
|
|
28
76
|
- **Long work can recover.** Restart recovery and bounded compaction continue
|
|
29
77
|
from retained handoff context rather than silently starting over.
|
|
30
78
|
|
|
79
|
+
## Example run
|
|
80
|
+
|
|
81
|
+
An illustrative low-risk run stays bounded and reports its gates:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
You: /sortie Add the requested behavior
|
|
85
|
+
dog-coordinator: manifest confirmed
|
|
86
|
+
dog-scout ×3: investigation complete
|
|
87
|
+
dog-worker: implementation complete
|
|
88
|
+
validation: npm test — PASS
|
|
89
|
+
review: skipped — low risk
|
|
90
|
+
dog-coordinator: completion evidence accepted
|
|
91
|
+
```
|
|
92
|
+
|
|
31
93
|
## The workflow
|
|
32
94
|
|
|
33
95
|
1. **Brief and plan** — `dog-coordinator` turns the request into acceptance
|
|
@@ -63,31 +125,6 @@ gets more complex.
|
|
|
63
125
|
Validation and risk-based review happen before coordinator-owned completion, so
|
|
64
126
|
the result returns with a concise record of what changed and how it was checked.
|
|
65
127
|
|
|
66
|
-
## Install from npm
|
|
67
|
-
|
|
68
|
-
Install the public package in the target project, then generate the
|
|
69
|
-
project-local runtime files:
|
|
70
|
-
|
|
71
|
-
```sh
|
|
72
|
-
npm install --save-dev sortie-dogs
|
|
73
|
-
npx sortie-dogs init .
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
Create `.opencode/plugins/sortie-dogs.ts` as the OpenCode plugin bridge:
|
|
77
|
-
|
|
78
|
-
```ts
|
|
79
|
-
export { SortieDogsPlugin } from "sortie-dogs/plugin";
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
OpenCode discovers the bridge automatically; no `plugin` entry in
|
|
83
|
-
`opencode.json` is required. Restart OpenCode, then start a task:
|
|
84
|
-
|
|
85
|
-
```text
|
|
86
|
-
/sortie <task>
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
Selecting `dog-coordinator` directly also activates the workflow.
|
|
90
|
-
|
|
91
128
|
## Scope and session guarantees
|
|
92
129
|
|
|
93
130
|
The plugin is passive by default. It activates a session only when a message
|
|
@@ -170,31 +207,7 @@ untouched and initialization stops safely. User-owned configuration—including
|
|
|
170
207
|
|
|
171
208
|
## Safe manual removal
|
|
172
209
|
|
|
173
|
-
There is no supported Sortie-dogs uninstall command.
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
To remove generated runtime files manually, delete only these exact
|
|
179
|
-
Sortie-dogs-owned paths:
|
|
180
|
-
|
|
181
|
-
```text
|
|
182
|
-
.opencode/agent/dog-coordinator.md
|
|
183
|
-
.opencode/agent/dog-worker.md
|
|
184
|
-
.opencode/agent/dog-scout.md
|
|
185
|
-
.opencode/agent/dog-reviewer.md
|
|
186
|
-
.opencode/agent/dog-advisor.md
|
|
187
|
-
.opencode/command/sortie.md
|
|
188
|
-
.opencode/sortie-dogs.version
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
Never delete the `.opencode`, `.opencode/agent`, or `.opencode/command`
|
|
192
|
-
directories, and never use a wildcard such as `*.md`. Preserve the standard
|
|
193
|
-
`plan`, `build`, and `builder` agents and every other user-owned file. Do not
|
|
194
|
-
remove `.opencode/sortie-dogs.json`, the plugin bridge, other agents, or OpenCode
|
|
195
|
-
settings as part of runtime-file removal.
|
|
196
|
-
|
|
197
|
-
The legacy files `.opencode/agent/coordinator-mk2a2.md` and
|
|
198
|
-
`.opencode/agent/sol-worker-mk2a2.md` may be removed only after an old
|
|
199
|
-
Sortie-dogs marker or the content confirms Sortie-dogs ownership. If ownership
|
|
200
|
-
is unclear or a filename is unexpected, stop and inspect instead of deleting.
|
|
210
|
+
There is no supported Sortie-dogs uninstall command. Remove the npm dependency
|
|
211
|
+
separately, then follow the [safe manual removal guide](docs/uninstall.md) to
|
|
212
|
+
delete only Sortie-dogs-owned runtime files without affecting user files or
|
|
213
|
+
standard OpenCode agents.
|
|
@@ -8,7 +8,7 @@ export interface RoleModelRoute {
|
|
|
8
8
|
}
|
|
9
9
|
export type ModelRoutingConfig = Readonly<Record<string, RoleModelRoute>>;
|
|
10
10
|
export declare const DEDICATED_SOL_MODEL = "openai/gpt-5.6-sol";
|
|
11
|
-
export declare const DEDICATED_SOL_ROLES: readonly ["implementation", "remediation", "blocker-resolution", "sol-worker-mk2a2"];
|
|
11
|
+
export declare const DEDICATED_SOL_ROLES: readonly ["implementation", "remediation", "blocker-resolution", "sol-worker-mk2a2", "dog-worker"];
|
|
12
12
|
/** Fixed Mk2A2 worker routes. These deliberately contain no fallback targets. */
|
|
13
13
|
export declare const DEDICATED_SOL_ROUTING: ModelRoutingConfig;
|
|
14
14
|
export declare const RECOMMENDED_LUNA_MODEL = "openai/gpt-5.6-luna";
|
package/dist/runtime-assets.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare const runtimeAssets: readonly [{
|
|
|
13
13
|
readonly name: "dog-worker";
|
|
14
14
|
readonly version: "0.2.0-card05";
|
|
15
15
|
readonly installPath: "agent/dog-worker.md";
|
|
16
|
-
readonly content: "---\ndescription: Dedicated Sol worker for the canonical Mk2A2 coordinator\nmode: subagent\n---\n# dog-worker\n\nYou are the dedicated implementation worker for dog-coordinator.\n\nAccept implementation, remediation, and blocker-resolution work only from dog-coordinator.\nExecute the supplied manifest within its acceptance criteria, run the requested validation,\nand return concise change and validation evidence only to dog-coordinator. Do not act as the\nuser-facing coordinator.\n";
|
|
16
|
+
readonly content: "---\ndescription: Dedicated Sol worker for the canonical Mk2A2 coordinator\nmode: subagent\nmodel: openai/gpt-5.6-sol\n---\n# dog-worker\n\nYou are the dedicated implementation worker for dog-coordinator.\n\nAccept implementation, remediation, and blocker-resolution work only from dog-coordinator.\nExecute the supplied manifest within its acceptance criteria, run the requested validation,\nand return concise change and validation evidence only to dog-coordinator. Do not act as the\nuser-facing coordinator.\n";
|
|
17
17
|
}, {
|
|
18
18
|
readonly name: "dog-scout";
|
|
19
19
|
readonly version: "0.2.0-card05";
|
package/dist/runtime-assets.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const { DEDICATED_SOL_MODEL } = await import(`./plugin/model-routing.${import.meta.url.endsWith(".ts") ? "ts" : "js"}`);
|
|
1
2
|
export const runtimeAssets = [
|
|
2
3
|
{
|
|
3
4
|
name: "dog-coordinator",
|
|
@@ -251,6 +252,7 @@ END_TERMINAL_EVIDENCE_FIXTURE
|
|
|
251
252
|
content: `---
|
|
252
253
|
description: Dedicated Sol worker for the canonical Mk2A2 coordinator
|
|
253
254
|
mode: subagent
|
|
255
|
+
model: ${DEDICATED_SOL_MODEL}
|
|
254
256
|
---
|
|
255
257
|
# dog-worker
|
|
256
258
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sortie-dogs",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Bounded, validated orchestration loop plugin for OpenCode",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"opencode",
|
|
7
|
+
"opencode-plugin",
|
|
8
|
+
"ai-orchestration",
|
|
9
|
+
"multi-agent"
|
|
10
|
+
],
|
|
5
11
|
"license": "MIT",
|
|
6
12
|
"repository": {
|
|
7
13
|
"type": "git",
|