@azure-id/orc 2.1.0 → 2.1.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/CHANGELOG.md +54 -0
- package/README.md +20 -32
- package/bin/build-agents.js +205 -205
- package/bin/cli.js +47417 -47417
- package/bin/verify-contracts.js +5552 -5552
- package/bin/verify-package.js +716 -716
- package/bin/webui/fixtures/extra.js +2036 -2036
- package/mock-run/a-normal-day.md +2 -2
- package/mock-run/extra-slots.md +177 -177
- package/mock-run/orc-fast.md +2 -2
- package/mock-run/orc-quick.md +146 -146
- package/mock-run/orc.md +157 -157
- package/package.json +1 -1
- package/templates/agents/MODEL-MAPPING.md +176 -176
- package/templates/agents/{orc-recon-sonnet-4-6-med.md → orc-recon-sonnet-5-med.md} +4 -4
- package/templates/commands/orc-fast.md +10 -10
- package/templates/skills/_shared/extra-dispatch.md +1331 -1331
- package/templates/skills/_shared/opus5-only.md +137 -137
- package/templates/skills/orc/SKILL.md +227 -227
- package/templates/skills/orc/examples/full-run-mock.md +74 -74
- package/templates/skills/orc/references/effort-and-mode.md +222 -222
- package/templates/skills/orc-fast/SKILL.md +210 -210
- package/templates/skills/orc-grill/SKILL.md +232 -232
- package/templates/skills/orc-grill/references/grill-doc.md +1 -1
- package/templates/skills/orc-quick/README.md +536 -536
- package/templates/skills/orc-quick/references/context-doc.md +145 -145
- package/templates/skills/orc-quick/references/dispatch-gate.md +220 -220
package/mock-run/a-normal-day.md
CHANGED
|
@@ -193,7 +193,7 @@ Wave 1 of 5 — 3 tasks
|
|
|
193
193
|
|
|
194
194
|
T01 TDD: red proof for store-credit refund sonnet-5-high [EXECUTE]
|
|
195
195
|
T02 TDD: red proof for the PACT-006 exception sonnet-5-high [EXECUTE]
|
|
196
|
-
T03 Add the store_credit type to the API sonnet-
|
|
196
|
+
T03 Add the store_credit type to the API sonnet-5-high [EXECUTE]
|
|
197
197
|
|
|
198
198
|
wiki: orc-feature-refunds.md → T01, T02, T03
|
|
199
199
|
```
|
|
@@ -205,7 +205,7 @@ Wave 3 of 5 — 3 tasks
|
|
|
205
205
|
card: api/refunds — this touches money and PACT-006's new exception.
|
|
206
206
|
Rina must read this before ship.
|
|
207
207
|
|
|
208
|
-
T09 Show the store-credit option in the UI sonnet-
|
|
208
|
+
T09 Show the store-credit option in the UI sonnet-5-high [EXECUTE]
|
|
209
209
|
|
|
210
210
|
T12 Create the store_credit table NOT DISPATCHED [REFUSE] ← 02
|
|
211
211
|
db/migrations card: no down-migration, no staging database.
|
package/mock-run/extra-slots.md
CHANGED
|
@@ -1,177 +1,177 @@
|
|
|
1
|
-
# Mock run — the jobs that have no score
|
|
2
|
-
|
|
3
|
-
> Four ORC lanes never give a task a score. They give one job to one agent. This
|
|
4
|
-
> walkthrough shows you how to send one of those jobs to a cheaper model, and
|
|
5
|
-
> what ORC tells you before it does.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## 1. What this is about
|
|
10
|
-
|
|
11
|
-
`orc extra` lets a task run on a different AI model — DeepSeek, GLM, Kimi, or a
|
|
12
|
-
model on your own laptop. Until now you told it **which score ranges** may go
|
|
13
|
-
there:
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
[0,30) → deepseek/deepseek-chat
|
|
17
|
-
[30,55) → glm/glm-4.6
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
That works for `/orc`, `/orc-ultra`, `/orc-mini` and `/orc-diy`, because those
|
|
21
|
-
lanes give every task a score.
|
|
22
|
-
|
|
23
|
-
**Four lanes never do.** `/orc-quick`, `/orc-fast`, `/orc-doc` and `/orc-wiki`
|
|
24
|
-
give one job to one agent and no score at all. So they get **positions** instead
|
|
25
|
-
of ranges. A position is one job with one name:
|
|
26
|
-
|
|
27
|
-
| position | the lane | the job |
|
|
28
|
-
|---|---|---|
|
|
29
|
-
| `quick-executor` | `/orc-quick` | writing the code for one quick entry |
|
|
30
|
-
| `fast-executor` | `/orc-fast` | the single executor of a fast run |
|
|
31
|
-
| `doc-writer` | `/orc-doc` | writing one part of a document |
|
|
32
|
-
| `doc-checker` | `/orc-doc` | reading one part back and reporting on it |
|
|
33
|
-
| `wiki-scanner-deep` | `/orc-wiki` | a full scan of one area |
|
|
34
|
-
| `wiki-scanner-light` | `/orc-wiki` | a small update to a doc that exists |
|
|
35
|
-
|
|
36
|
-
---
|
|
37
|
-
|
|
38
|
-
## 2. Looking at the positions
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
$ orc extra role
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
ORC · extra — the positions
|
|
46
|
-
───────────────────────────
|
|
47
|
-
|
|
48
|
-
quick-executor claude · orc-executor-sonnet-
|
|
49
|
-
fast-executor claude · orc-executor-sonnet-
|
|
50
|
-
doc-writer claude · orc-doc-writer-opus-5-med /orc-doc
|
|
51
|
-
doc-checker claude · orc-doc-checker-opus-5-low /orc-doc
|
|
52
|
-
wiki-scanner-deep claude · orc-wiki-scanner-opus-5-low /orc-wiki
|
|
53
|
-
wiki-scanner-light claude · orc-wiki-scanner-sonnet-5-high /orc-wiki
|
|
54
|
-
|
|
55
|
-
what each position is
|
|
56
|
-
quick-executor asked at the gate
|
|
57
|
-
fast-executor announced: the F0 preflight `extra:` line, before wave 1
|
|
58
|
-
doc-writer announced: before the wave, naming the sections
|
|
59
|
-
...
|
|
60
|
-
|
|
61
|
-
A slot with no row is not a hole — it is Claude, and it is printed so "I left
|
|
62
|
-
the checker on Claude on purpose" and "there is no checker" never look the same.
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
**All six are always listed, even the ones you have not touched.** A row you did
|
|
66
|
-
not fill in is not missing — it runs on the Claude agent printed beside it, and
|
|
67
|
-
you can see which one that is without going to look.
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## 3. Giving one job to a cheaper model
|
|
72
|
-
|
|
73
|
-
You already connected DeepSeek and tested it (`orc extra add`, then
|
|
74
|
-
`orc extra ping`). Now give it the doc **writer** job — and only that one:
|
|
75
|
-
|
|
76
|
-
```
|
|
77
|
-
$ orc extra role set doc-writer ds/deepseek-chat
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
```
|
|
81
|
-
doc-writer → ds/deepseek-chat /orc-doc
|
|
82
|
-
takes this position off: orc-doc-writer-opus-5-med
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
Two things it will not do:
|
|
86
|
-
|
|
87
|
-
- **It will not let you point a job at a connection that never answered.** You
|
|
88
|
-
get a refusal that names the connection and the command that tests it.
|
|
89
|
-
- **It will not change any other job.** The doc *checker* is still on Claude, and
|
|
90
|
-
`orc extra role` will keep saying so.
|
|
91
|
-
|
|
92
|
-
---
|
|
93
|
-
|
|
94
|
-
## 4. What the document lane tells you, before it spends anything
|
|
95
|
-
|
|
96
|
-
A document is the one thing where the model is visible in the result — it is the
|
|
97
|
-
writing. So `/orc-doc` says which model writes which sections **before** the
|
|
98
|
-
wave, not after:
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
$ orc doc next prd-billing
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
```
|
|
105
|
-
extra: writer — sections 03-scope, 04-users will be written off Claude.
|
|
106
|
-
writer → deepseek/deepseek-chat (via ds, displaces orc-doc-writer-opus-5-med).
|
|
107
|
-
A document's voice is the deliverable, so this is said before the wave, not
|
|
108
|
-
after it.
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
The **checker** is not mentioned, because the checker is not going anywhere. Two
|
|
112
|
-
different jobs, two different answers — that is the whole point of a position.
|
|
113
|
-
|
|
114
|
-
You can also switch it off for one document without touching the position:
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
$ orc doc extra prd-billing --set off
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
---
|
|
121
|
-
|
|
122
|
-
## 5. The quick lane ASKS. It always asks.
|
|
123
|
-
|
|
124
|
-
`/orc-quick` never picks an agent for you. So a position there does not route
|
|
125
|
-
anything — it just **adds a third line to the menu you already read**:
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
Which executor for entry 2 — "add retry header"?
|
|
129
|
-
|
|
130
|
-
1. orc-executor-sonnet-
|
|
131
|
-
2. orc-executor-opus-5-low thinks harder, about 3× the cost
|
|
132
|
-
3. deepseek/deepseek-chat via profile `ds` — sends this slice to a third party
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
- It is **never** the default.
|
|
136
|
-
- It does **not** stick to the next entry.
|
|
137
|
-
- If it fails, the same menu comes back with the reason. ORC does not quietly
|
|
138
|
-
pick option 1 for you.
|
|
139
|
-
|
|
140
|
-
---
|
|
141
|
-
|
|
142
|
-
## 6. What ORC costs, and where it went
|
|
143
|
-
|
|
144
|
-
A job that ran somewhere else is written down like any other:
|
|
145
|
-
|
|
146
|
-
```
|
|
147
|
-
$ orc extra stats
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
```
|
|
151
|
-
ds / slot:doc-writer 4 dispatches in 41.2k · cw 0 · cr 128.0k · out 9.1k $0.03
|
|
152
|
-
ds / [0,30) 11 dispatches in 88.0k · cw 0 · cr 210.4k · out 22.6k $0.07
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
Each position gets its own line, so "the doc writer cost this much" is a
|
|
156
|
-
question you can answer.
|
|
157
|
-
|
|
158
|
-
---
|
|
159
|
-
|
|
160
|
-
## 7. The one rule underneath all of it
|
|
161
|
-
|
|
162
|
-
> **Extra decides whether a Claude agent runs at all. `opus5_only` and the score
|
|
163
|
-
> tables only decide which Claude agent runs where extra did not take it.**
|
|
164
|
-
|
|
165
|
-
If you gave `doc-writer` to DeepSeek, `opus5_only` is not consulted for that job
|
|
166
|
-
at all. It is still fully in charge of `doc-checker`, because you left that one
|
|
167
|
-
alone. `orc config list` prints both facts, so a setting is never quietly doing
|
|
168
|
-
nothing.
|
|
169
|
-
|
|
170
|
-
---
|
|
171
|
-
|
|
172
|
-
## 8. What this walkthrough did not do
|
|
173
|
-
|
|
174
|
-
- It never sent your code anywhere without printing a line about it first.
|
|
175
|
-
- It never picked a model for you in `/orc-quick`.
|
|
176
|
-
- It added **no new settings** to your config file. A position is a row you set
|
|
177
|
-
with one command and remove with one command.
|
|
1
|
+
# Mock run — the jobs that have no score
|
|
2
|
+
|
|
3
|
+
> Four ORC lanes never give a task a score. They give one job to one agent. This
|
|
4
|
+
> walkthrough shows you how to send one of those jobs to a cheaper model, and
|
|
5
|
+
> what ORC tells you before it does.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 1. What this is about
|
|
10
|
+
|
|
11
|
+
`orc extra` lets a task run on a different AI model — DeepSeek, GLM, Kimi, or a
|
|
12
|
+
model on your own laptop. Until now you told it **which score ranges** may go
|
|
13
|
+
there:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
[0,30) → deepseek/deepseek-chat
|
|
17
|
+
[30,55) → glm/glm-4.6
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
That works for `/orc`, `/orc-ultra`, `/orc-mini` and `/orc-diy`, because those
|
|
21
|
+
lanes give every task a score.
|
|
22
|
+
|
|
23
|
+
**Four lanes never do.** `/orc-quick`, `/orc-fast`, `/orc-doc` and `/orc-wiki`
|
|
24
|
+
give one job to one agent and no score at all. So they get **positions** instead
|
|
25
|
+
of ranges. A position is one job with one name:
|
|
26
|
+
|
|
27
|
+
| position | the lane | the job |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `quick-executor` | `/orc-quick` | writing the code for one quick entry |
|
|
30
|
+
| `fast-executor` | `/orc-fast` | the single executor of a fast run |
|
|
31
|
+
| `doc-writer` | `/orc-doc` | writing one part of a document |
|
|
32
|
+
| `doc-checker` | `/orc-doc` | reading one part back and reporting on it |
|
|
33
|
+
| `wiki-scanner-deep` | `/orc-wiki` | a full scan of one area |
|
|
34
|
+
| `wiki-scanner-light` | `/orc-wiki` | a small update to a doc that exists |
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
## 2. Looking at the positions
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
$ orc extra role
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
ORC · extra — the positions
|
|
46
|
+
───────────────────────────
|
|
47
|
+
|
|
48
|
+
quick-executor claude · orc-executor-sonnet-5-med /orc-quick
|
|
49
|
+
fast-executor claude · orc-executor-sonnet-5-med /orc-fast
|
|
50
|
+
doc-writer claude · orc-doc-writer-opus-5-med /orc-doc
|
|
51
|
+
doc-checker claude · orc-doc-checker-opus-5-low /orc-doc
|
|
52
|
+
wiki-scanner-deep claude · orc-wiki-scanner-opus-5-low /orc-wiki
|
|
53
|
+
wiki-scanner-light claude · orc-wiki-scanner-sonnet-5-high /orc-wiki
|
|
54
|
+
|
|
55
|
+
what each position is
|
|
56
|
+
quick-executor asked at the gate
|
|
57
|
+
fast-executor announced: the F0 preflight `extra:` line, before wave 1
|
|
58
|
+
doc-writer announced: before the wave, naming the sections
|
|
59
|
+
...
|
|
60
|
+
|
|
61
|
+
A slot with no row is not a hole — it is Claude, and it is printed so "I left
|
|
62
|
+
the checker on Claude on purpose" and "there is no checker" never look the same.
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**All six are always listed, even the ones you have not touched.** A row you did
|
|
66
|
+
not fill in is not missing — it runs on the Claude agent printed beside it, and
|
|
67
|
+
you can see which one that is without going to look.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 3. Giving one job to a cheaper model
|
|
72
|
+
|
|
73
|
+
You already connected DeepSeek and tested it (`orc extra add`, then
|
|
74
|
+
`orc extra ping`). Now give it the doc **writer** job — and only that one:
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
$ orc extra role set doc-writer ds/deepseek-chat
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
doc-writer → ds/deepseek-chat /orc-doc
|
|
82
|
+
takes this position off: orc-doc-writer-opus-5-med
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Two things it will not do:
|
|
86
|
+
|
|
87
|
+
- **It will not let you point a job at a connection that never answered.** You
|
|
88
|
+
get a refusal that names the connection and the command that tests it.
|
|
89
|
+
- **It will not change any other job.** The doc *checker* is still on Claude, and
|
|
90
|
+
`orc extra role` will keep saying so.
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 4. What the document lane tells you, before it spends anything
|
|
95
|
+
|
|
96
|
+
A document is the one thing where the model is visible in the result — it is the
|
|
97
|
+
writing. So `/orc-doc` says which model writes which sections **before** the
|
|
98
|
+
wave, not after:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
$ orc doc next prd-billing
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
extra: writer — sections 03-scope, 04-users will be written off Claude.
|
|
106
|
+
writer → deepseek/deepseek-chat (via ds, displaces orc-doc-writer-opus-5-med).
|
|
107
|
+
A document's voice is the deliverable, so this is said before the wave, not
|
|
108
|
+
after it.
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
The **checker** is not mentioned, because the checker is not going anywhere. Two
|
|
112
|
+
different jobs, two different answers — that is the whole point of a position.
|
|
113
|
+
|
|
114
|
+
You can also switch it off for one document without touching the position:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
$ orc doc extra prd-billing --set off
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## 5. The quick lane ASKS. It always asks.
|
|
123
|
+
|
|
124
|
+
`/orc-quick` never picks an agent for you. So a position there does not route
|
|
125
|
+
anything — it just **adds a third line to the menu you already read**:
|
|
126
|
+
|
|
127
|
+
```
|
|
128
|
+
Which executor for entry 2 — "add retry header"?
|
|
129
|
+
|
|
130
|
+
1. orc-executor-sonnet-5-med cheap, fits a 3-file change
|
|
131
|
+
2. orc-executor-opus-5-low thinks harder, about 3× the cost
|
|
132
|
+
3. deepseek/deepseek-chat via profile `ds` — sends this slice to a third party
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
- It is **never** the default.
|
|
136
|
+
- It does **not** stick to the next entry.
|
|
137
|
+
- If it fails, the same menu comes back with the reason. ORC does not quietly
|
|
138
|
+
pick option 1 for you.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## 6. What ORC costs, and where it went
|
|
143
|
+
|
|
144
|
+
A job that ran somewhere else is written down like any other:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
$ orc extra stats
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
ds / slot:doc-writer 4 dispatches in 41.2k · cw 0 · cr 128.0k · out 9.1k $0.03
|
|
152
|
+
ds / [0,30) 11 dispatches in 88.0k · cw 0 · cr 210.4k · out 22.6k $0.07
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
Each position gets its own line, so "the doc writer cost this much" is a
|
|
156
|
+
question you can answer.
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## 7. The one rule underneath all of it
|
|
161
|
+
|
|
162
|
+
> **Extra decides whether a Claude agent runs at all. `opus5_only` and the score
|
|
163
|
+
> tables only decide which Claude agent runs where extra did not take it.**
|
|
164
|
+
|
|
165
|
+
If you gave `doc-writer` to DeepSeek, `opus5_only` is not consulted for that job
|
|
166
|
+
at all. It is still fully in charge of `doc-checker`, because you left that one
|
|
167
|
+
alone. `orc config list` prints both facts, so a setting is never quietly doing
|
|
168
|
+
nothing.
|
|
169
|
+
|
|
170
|
+
---
|
|
171
|
+
|
|
172
|
+
## 8. What this walkthrough did not do
|
|
173
|
+
|
|
174
|
+
- It never sent your code anywhere without printing a line about it first.
|
|
175
|
+
- It never picked a model for you in `/orc-quick`.
|
|
176
|
+
- It added **no new settings** to your config file. A position is a row you set
|
|
177
|
+
with one command and remove with one command.
|
package/mock-run/orc-fast.md
CHANGED
|
@@ -39,12 +39,12 @@ Fit gate + one question
|
|
|
39
39
|
|
|
40
40
|
> nothing, follow api/orders/
|
|
41
41
|
|
|
42
|
-
Dispatch orc-executor-sonnet-
|
|
42
|
+
Dispatch orc-executor-sonnet-5-med
|
|
43
43
|
slice carries:
|
|
44
44
|
· wiki pointers wiki/orc-feature-orders.md (the route table)
|
|
45
45
|
· the express pattern, copied in literally
|
|
46
46
|
· your one constraint
|
|
47
|
-
returned as: claude-sonnet-
|
|
47
|
+
returned as: claude-sonnet-5-5 / medium ✓
|
|
48
48
|
|
|
49
49
|
Smoke gate
|
|
50
50
|
build ✓
|