@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
|
@@ -1,145 +1,145 @@
|
|
|
1
|
-
# The quick context doc — shape and rules
|
|
2
|
-
|
|
3
|
-
This is the file orc-quick writes after every request. It is written for a
|
|
4
|
-
HUMAN to read later, in this session or a different one.
|
|
5
|
-
|
|
6
|
-
## Where it goes
|
|
7
|
-
|
|
8
|
-
```
|
|
9
|
-
<projectRoot>/orc-quick/<slug>/quick-context.md
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
- `<slug>` is the slug of the **first** request in the thread. No date in the
|
|
13
|
-
folder name.
|
|
14
|
-
- **One file per folder. Never make a second `.md` file.** No `review.md`, no
|
|
15
|
-
`diff.md`, no per-request files.
|
|
16
|
-
- It sits at the project root, next to folders like `test-generator/` and
|
|
17
|
-
`learning-docs/` — never inside `.claude/`.
|
|
18
|
-
|
|
19
|
-
## Rules
|
|
20
|
-
|
|
21
|
-
1. **Write it BEFORE the offers** (test / review / commit). If the user walks
|
|
22
|
-
away, the entry is still complete.
|
|
23
|
-
2. **Every request gets an entry** — even a read-only dig. There, the answer IS
|
|
24
|
-
the result.
|
|
25
|
-
3. **Never read the body of this file.** Only two exceptions:
|
|
26
|
-
- the TOC block, when you re-open a thread;
|
|
27
|
-
- the user asks you to read it.
|
|
28
|
-
4. **Never commit it.** It is not staged, ever. Do not edit `.gitignore`.
|
|
29
|
-
5. One entry can hold **several dispatches**. A dig that turns into a fix is ONE
|
|
30
|
-
entry with two rows in its table.
|
|
31
|
-
|
|
32
|
-
## The TOC block
|
|
33
|
-
|
|
34
|
-
The top of the file has a short list between markers:
|
|
35
|
-
|
|
36
|
-
```markdown
|
|
37
|
-
<!-- orc-quick:toc -->
|
|
38
|
-
1. Change json payload A → B 05-08-2026 14:23:10 ✅ committed a1b2c3d
|
|
39
|
-
2. How does tenant scoping work? 05-08-2026 15:47:02 ℹ answered
|
|
40
|
-
3. Why does /orders 500? — found & fixed 10-08-2026 09:15:44 ✅ committed 7f2e1a9
|
|
41
|
-
<!-- /orc-quick:toc -->
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Why the markers matter.** When you open a thread again, you need to know the
|
|
45
|
-
next number. You read ONLY this block — it is small and cheap. You do not read
|
|
46
|
-
the entries below it. That is how "never read the doc" and "keep counting" can
|
|
47
|
-
both be true.
|
|
48
|
-
|
|
49
|
-
Inside one session, the count is also kept in
|
|
50
|
-
`.claude/orc/run/<run-slug>/quick-checkpoint.md`. That file is run state, not
|
|
51
|
-
the deliverable, so you may read it freely.
|
|
52
|
-
|
|
53
|
-
**If the TOC is broken or missing:** rebuild it by scanning ONLY the lines that
|
|
54
|
-
start with `## <number>.`. Do not read the text under them. Then write the block
|
|
55
|
-
back between the markers. Never start a second thread because of a broken TOC.
|
|
56
|
-
|
|
57
|
-
## Entry shape
|
|
58
|
-
|
|
59
|
-
Use as many of these as apply. Leave out what does not fit.
|
|
60
|
-
|
|
61
|
-
```markdown
|
|
62
|
-
## <n>. <short title>
|
|
63
|
-
**asked** DD-MM-YYYY HH:MM:SS
|
|
64
|
-
> the user's request, word for word
|
|
65
|
-
|
|
66
|
-
**kind** code-change | context-dig | investigate → code-change | pr-comments | …
|
|
67
|
-
**resolved intent** one or two sentences: what you actually decided to do.
|
|
68
|
-
|
|
69
|
-
**clarified**
|
|
70
|
-
- <question> → **Y**: <what won> · X was <what the user first said> ·
|
|
71
|
-
Z was <the other idea, and why it lost>
|
|
72
|
-
|
|
73
|
-
**knowledge** wiki FRESH · docs=<paths> · pattern express@v3
|
|
74
|
-
|
|
75
|
-
**dispatches**
|
|
76
|
-
| # | kind | agent / model | expect | actual | result |
|
|
77
|
-
|---|---|---|---|---|---|
|
|
78
|
-
| 1 | recon | `orc-recon-sonnet-
|
|
79
|
-
| 2 | executor | `orc-executor-sonnet-
|
|
80
|
-
|
|
81
|
-
Only an **other** dispatch keeps the `*(ad-hoc, untraced-by-hook)*` mark. A
|
|
82
|
-
dispatch of either pinned recon agent is a normal row with the agent's name.
|
|
83
|
-
|
|
84
|
-
**files changed** path · path · path
|
|
85
|
-
|
|
86
|
-
**repro** red → green · `npm test -- tests/orders.search.test.js` (before: exit 1 · after: exit 0)
|
|
87
|
-
**blast radius** 3 symbols · callers 7 in 4 files · tests reach 2 · risk high: searchByItemPrefix (exported, fan-in 4, no test reaches it)
|
|
88
|
-
**tests** reached 12 passed · suite 41 passed
|
|
89
|
-
**graph** gen 42 · cards 2 · <the `orc graph gain` line, word for word>
|
|
90
|
-
|
|
91
|
-
**how it was resolved** a short, plain explanation of the fix and WHY this way.
|
|
92
|
-
Say what you did not do, and why. This is the most useful part later.
|
|
93
|
-
|
|
94
|
-
**build** GREEN · **tests** 41 passed
|
|
95
|
-
**unmet** things you did not do, on purpose or not
|
|
96
|
-
|
|
97
|
-
**follow-through** tests · review result · commit hash · pushed or not
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
For PR work, also add:
|
|
101
|
-
|
|
102
|
-
```markdown
|
|
103
|
-
**pr** #142 "title" · branch · url
|
|
104
|
-
|
|
105
|
-
**threads taken** 2 of 3
|
|
106
|
-
| # | reviewer | anchor | comment |
|
|
107
|
-
|---|---|---|---|
|
|
108
|
-
| 1 | @dana | src/routes/export.js:34 | the comment text |
|
|
109
|
-
|
|
110
|
-
**github writes** NONE — no reply, no resolve, no review.
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
These four lines are optional and go in that order, after `**files changed**`.
|
|
114
|
-
Leave out the ones that do not apply:
|
|
115
|
-
|
|
116
|
-
- **`repro`** — only on a defect entry. `repro: none` writes
|
|
117
|
-
`**repro** not reproduced — <the reason>` instead. Never leave it out to keep
|
|
118
|
-
the entry tidy: an unreproduced fix is the thing the reader most needs to know.
|
|
119
|
-
- **`blast radius`** — a `risk` word NEVER appears without its `why`. Nothing in
|
|
120
|
-
the graph → `none indexed (<n> files not in the graph)`.
|
|
121
|
-
- **`graph`** — the gain line is an estimate with a range. Copy it; never turn
|
|
122
|
-
it into a saving.
|
|
123
|
-
|
|
124
|
-
## A read-only entry
|
|
125
|
-
|
|
126
|
-
A dig has no files, no build and no tests. It still gets a full entry:
|
|
127
|
-
|
|
128
|
-
- **`how it was resolved`** holds the recon `answer`.
|
|
129
|
-
- **`unmet`** holds the recon `unresolved[]`.
|
|
130
|
-
- A blast-radius dig lists the four caller classes apart — `direct`, `route`
|
|
131
|
-
(reached through a URL), `via_alias`, `inherited` — and, when any list rests
|
|
132
|
-
on the graph alone, the sentence the agent returned, word for word:
|
|
133
|
-
*A card lists every caller that NAMES the symbol. A card's silence is not
|
|
134
|
-
proof of absence.*
|
|
135
|
-
|
|
136
|
-
## Writing style for entries
|
|
137
|
-
|
|
138
|
-
Write for a person who comes back in three weeks and forgot everything.
|
|
139
|
-
|
|
140
|
-
- Use plain words. Short sentences.
|
|
141
|
-
- Always name real files and line numbers.
|
|
142
|
-
- Say **why** you chose one option and not the other. A rejected idea with its
|
|
143
|
-
reason saves the next person from trying it again.
|
|
144
|
-
- Record what you did NOT do. "Backfill not done — user asked to leave it" is
|
|
145
|
-
more useful than silence.
|
|
1
|
+
# The quick context doc — shape and rules
|
|
2
|
+
|
|
3
|
+
This is the file orc-quick writes after every request. It is written for a
|
|
4
|
+
HUMAN to read later, in this session or a different one.
|
|
5
|
+
|
|
6
|
+
## Where it goes
|
|
7
|
+
|
|
8
|
+
```
|
|
9
|
+
<projectRoot>/orc-quick/<slug>/quick-context.md
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
- `<slug>` is the slug of the **first** request in the thread. No date in the
|
|
13
|
+
folder name.
|
|
14
|
+
- **One file per folder. Never make a second `.md` file.** No `review.md`, no
|
|
15
|
+
`diff.md`, no per-request files.
|
|
16
|
+
- It sits at the project root, next to folders like `test-generator/` and
|
|
17
|
+
`learning-docs/` — never inside `.claude/`.
|
|
18
|
+
|
|
19
|
+
## Rules
|
|
20
|
+
|
|
21
|
+
1. **Write it BEFORE the offers** (test / review / commit). If the user walks
|
|
22
|
+
away, the entry is still complete.
|
|
23
|
+
2. **Every request gets an entry** — even a read-only dig. There, the answer IS
|
|
24
|
+
the result.
|
|
25
|
+
3. **Never read the body of this file.** Only two exceptions:
|
|
26
|
+
- the TOC block, when you re-open a thread;
|
|
27
|
+
- the user asks you to read it.
|
|
28
|
+
4. **Never commit it.** It is not staged, ever. Do not edit `.gitignore`.
|
|
29
|
+
5. One entry can hold **several dispatches**. A dig that turns into a fix is ONE
|
|
30
|
+
entry with two rows in its table.
|
|
31
|
+
|
|
32
|
+
## The TOC block
|
|
33
|
+
|
|
34
|
+
The top of the file has a short list between markers:
|
|
35
|
+
|
|
36
|
+
```markdown
|
|
37
|
+
<!-- orc-quick:toc -->
|
|
38
|
+
1. Change json payload A → B 05-08-2026 14:23:10 ✅ committed a1b2c3d
|
|
39
|
+
2. How does tenant scoping work? 05-08-2026 15:47:02 ℹ answered
|
|
40
|
+
3. Why does /orders 500? — found & fixed 10-08-2026 09:15:44 ✅ committed 7f2e1a9
|
|
41
|
+
<!-- /orc-quick:toc -->
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
**Why the markers matter.** When you open a thread again, you need to know the
|
|
45
|
+
next number. You read ONLY this block — it is small and cheap. You do not read
|
|
46
|
+
the entries below it. That is how "never read the doc" and "keep counting" can
|
|
47
|
+
both be true.
|
|
48
|
+
|
|
49
|
+
Inside one session, the count is also kept in
|
|
50
|
+
`.claude/orc/run/<run-slug>/quick-checkpoint.md`. That file is run state, not
|
|
51
|
+
the deliverable, so you may read it freely.
|
|
52
|
+
|
|
53
|
+
**If the TOC is broken or missing:** rebuild it by scanning ONLY the lines that
|
|
54
|
+
start with `## <number>.`. Do not read the text under them. Then write the block
|
|
55
|
+
back between the markers. Never start a second thread because of a broken TOC.
|
|
56
|
+
|
|
57
|
+
## Entry shape
|
|
58
|
+
|
|
59
|
+
Use as many of these as apply. Leave out what does not fit.
|
|
60
|
+
|
|
61
|
+
```markdown
|
|
62
|
+
## <n>. <short title>
|
|
63
|
+
**asked** DD-MM-YYYY HH:MM:SS
|
|
64
|
+
> the user's request, word for word
|
|
65
|
+
|
|
66
|
+
**kind** code-change | context-dig | investigate → code-change | pr-comments | …
|
|
67
|
+
**resolved intent** one or two sentences: what you actually decided to do.
|
|
68
|
+
|
|
69
|
+
**clarified**
|
|
70
|
+
- <question> → **Y**: <what won> · X was <what the user first said> ·
|
|
71
|
+
Z was <the other idea, and why it lost>
|
|
72
|
+
|
|
73
|
+
**knowledge** wiki FRESH · docs=<paths> · pattern express@v3
|
|
74
|
+
|
|
75
|
+
**dispatches**
|
|
76
|
+
| # | kind | agent / model | expect | actual | result |
|
|
77
|
+
|---|---|---|---|---|---|
|
|
78
|
+
| 1 | recon | `orc-recon-sonnet-5-med` | sonnet-5-5/medium | sonnet-5-5/medium ✅ | what it found |
|
|
79
|
+
| 2 | executor | `orc-executor-sonnet-5-med` | sonnet-5-5/medium | sonnet-5-5/medium ✅ | 3 files |
|
|
80
|
+
|
|
81
|
+
Only an **other** dispatch keeps the `*(ad-hoc, untraced-by-hook)*` mark. A
|
|
82
|
+
dispatch of either pinned recon agent is a normal row with the agent's name.
|
|
83
|
+
|
|
84
|
+
**files changed** path · path · path
|
|
85
|
+
|
|
86
|
+
**repro** red → green · `npm test -- tests/orders.search.test.js` (before: exit 1 · after: exit 0)
|
|
87
|
+
**blast radius** 3 symbols · callers 7 in 4 files · tests reach 2 · risk high: searchByItemPrefix (exported, fan-in 4, no test reaches it)
|
|
88
|
+
**tests** reached 12 passed · suite 41 passed
|
|
89
|
+
**graph** gen 42 · cards 2 · <the `orc graph gain` line, word for word>
|
|
90
|
+
|
|
91
|
+
**how it was resolved** a short, plain explanation of the fix and WHY this way.
|
|
92
|
+
Say what you did not do, and why. This is the most useful part later.
|
|
93
|
+
|
|
94
|
+
**build** GREEN · **tests** 41 passed
|
|
95
|
+
**unmet** things you did not do, on purpose or not
|
|
96
|
+
|
|
97
|
+
**follow-through** tests · review result · commit hash · pushed or not
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
For PR work, also add:
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
**pr** #142 "title" · branch · url
|
|
104
|
+
|
|
105
|
+
**threads taken** 2 of 3
|
|
106
|
+
| # | reviewer | anchor | comment |
|
|
107
|
+
|---|---|---|---|
|
|
108
|
+
| 1 | @dana | src/routes/export.js:34 | the comment text |
|
|
109
|
+
|
|
110
|
+
**github writes** NONE — no reply, no resolve, no review.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
These four lines are optional and go in that order, after `**files changed**`.
|
|
114
|
+
Leave out the ones that do not apply:
|
|
115
|
+
|
|
116
|
+
- **`repro`** — only on a defect entry. `repro: none` writes
|
|
117
|
+
`**repro** not reproduced — <the reason>` instead. Never leave it out to keep
|
|
118
|
+
the entry tidy: an unreproduced fix is the thing the reader most needs to know.
|
|
119
|
+
- **`blast radius`** — a `risk` word NEVER appears without its `why`. Nothing in
|
|
120
|
+
the graph → `none indexed (<n> files not in the graph)`.
|
|
121
|
+
- **`graph`** — the gain line is an estimate with a range. Copy it; never turn
|
|
122
|
+
it into a saving.
|
|
123
|
+
|
|
124
|
+
## A read-only entry
|
|
125
|
+
|
|
126
|
+
A dig has no files, no build and no tests. It still gets a full entry:
|
|
127
|
+
|
|
128
|
+
- **`how it was resolved`** holds the recon `answer`.
|
|
129
|
+
- **`unmet`** holds the recon `unresolved[]`.
|
|
130
|
+
- A blast-radius dig lists the four caller classes apart — `direct`, `route`
|
|
131
|
+
(reached through a URL), `via_alias`, `inherited` — and, when any list rests
|
|
132
|
+
on the graph alone, the sentence the agent returned, word for word:
|
|
133
|
+
*A card lists every caller that NAMES the symbol. A card's silence is not
|
|
134
|
+
proof of absence.*
|
|
135
|
+
|
|
136
|
+
## Writing style for entries
|
|
137
|
+
|
|
138
|
+
Write for a person who comes back in three weeks and forgot everything.
|
|
139
|
+
|
|
140
|
+
- Use plain words. Short sentences.
|
|
141
|
+
- Always name real files and line numbers.
|
|
142
|
+
- Say **why** you chose one option and not the other. A rejected idea with its
|
|
143
|
+
reason saves the next person from trying it again.
|
|
144
|
+
- Record what you did NOT do. "Backfill not done — user asked to leave it" is
|
|
145
|
+
more useful than silence.
|