@azure-id/orc 1.2.0 → 1.2.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 +145 -0
- package/README.md +50 -66
- package/bin/cli.js +186 -1
- package/bin/verify-contracts.js +25 -0
- package/bin/verify-package.js +573 -568
- package/package.json +1 -1
- package/templates/hooks/README.md +202 -0
- package/templates/hooks/orc-statusline.js +377 -21
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-id/orc",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "ORC — an orchestrator skill constellation for Claude Code: intake, planning, scored parallel subagents, code-pattern matching, review, verify, ship, plus a project knowledge-base wiki.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"orc": "bin/cli.js"
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
# The ORC status line
|
|
2
|
+
|
|
3
|
+
> This page is written in Simplified Technical English. Short sentences, one
|
|
4
|
+
> idea each, plain words. See `bin/webui/i18n/TERMS.md` for the term list.
|
|
5
|
+
|
|
6
|
+
ORC shows two lines at the bottom of your terminal. Claude Code draws them.
|
|
7
|
+
ORC writes them.
|
|
8
|
+
|
|
9
|
+
Every value comes from a file on your disk or from data Claude Code gives the
|
|
10
|
+
hook. No value costs model tokens. Nothing here starts a run.
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
🚀 ORC v1.2.1 - Opus 5/high · context (34%) · 5h 41% (2h13m) ↔ wk 12% · ucs 6% · wiki: fresh
|
|
14
|
+
▰ status: quick · Q3 DO · agents 7 (2 running) · orc-extra: on · Dur 48m · MTok 412K · main
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Line 1 answers: **what model am I on, and how much do I have left?**
|
|
18
|
+
Line 2 answers: **what is this session doing?**
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Line 1
|
|
23
|
+
|
|
24
|
+
### 1. The icon and `ORC v1.2.1 - Opus 5/high`
|
|
25
|
+
|
|
26
|
+
The icon is the verdict. The words are the ORC version you have installed and
|
|
27
|
+
the model and effort you are running now.
|
|
28
|
+
|
|
29
|
+
| Icon | Meaning | What to do |
|
|
30
|
+
|---|---|---|
|
|
31
|
+
| ✅ | Good. This is the base tier. | Nothing. |
|
|
32
|
+
| 🚀 | Better than the base tier. | Nothing. |
|
|
33
|
+
| ⛔ | ORC will work less well here. | Read the reason in brackets. Change the model or the effort. |
|
|
34
|
+
|
|
35
|
+
The ⛔ line always gives a reason:
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
⛔ ORC v1.2.1 - Sonnet 5/high (model≠Opus5/Opus4.8/Fable5) · context (34%)
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
If ORC cannot read its own version, it shows `ORC` with no number. It does not
|
|
42
|
+
guess.
|
|
43
|
+
|
|
44
|
+
**This line can only warn you.** A status line cannot stop a command. The
|
|
45
|
+
`orc-effort-guard.js` hook is what stops a run at a low effort.
|
|
46
|
+
|
|
47
|
+
### 2. `context (34%)`
|
|
48
|
+
|
|
49
|
+
How full the context window is. At 100% Claude Code must compact the session.
|
|
50
|
+
|
|
51
|
+
### 3. `5h 41% (2h13m) ↔ wk 12%`
|
|
52
|
+
|
|
53
|
+
Your subscription use. Anthropic sends these numbers; ORC does not estimate
|
|
54
|
+
them.
|
|
55
|
+
|
|
56
|
+
- `5h 41%` — you used 41% of the 5-hour window.
|
|
57
|
+
- `(2h13m)` — the 5-hour window resets in 2 hours and 13 minutes.
|
|
58
|
+
- `wk 12%` — you used 12% of the 7-day window.
|
|
59
|
+
|
|
60
|
+
A `⚠` appears at 75%. A `⛔` appears at 90%, and the verdict changes to ⛔.
|
|
61
|
+
|
|
62
|
+
Older versions of Claude Code do not send these numbers. Then this part is
|
|
63
|
+
absent.
|
|
64
|
+
|
|
65
|
+
### 4. `ucs 6%`
|
|
66
|
+
|
|
67
|
+
**ucs = usage, current session.** The 5-hour window moved 6% while this session
|
|
68
|
+
ran.
|
|
69
|
+
|
|
70
|
+
Two facts to know:
|
|
71
|
+
|
|
72
|
+
- The window is for your **whole account**. A second terminal moves it too. So
|
|
73
|
+
`ucs` is what moved, not only what you used here.
|
|
74
|
+
- A window reset is not a refund. ORC banks what you used before the reset. The
|
|
75
|
+
count continues.
|
|
76
|
+
|
|
77
|
+
`ucs 0%` is an answer. It means nothing measurable moved yet.
|
|
78
|
+
|
|
79
|
+
### 5. Extra parts
|
|
80
|
+
|
|
81
|
+
These parts appear only when they apply.
|
|
82
|
+
|
|
83
|
+
| Part | Meaning |
|
|
84
|
+
|---|---|
|
|
85
|
+
| `wiki: fresh` / `AGING (14c)` / `STALE (52c)` | How old your project wiki is. The number is commits since the scan. |
|
|
86
|
+
| `wiki: UNREGISTERED (run \`orc wiki sync\`)` | You have wiki documents, but no index. The fix is free. |
|
|
87
|
+
| `diy:my-flow READY` / `STALE→recompile` | Your `/orc-diy` flow. `STALE` means you must run `orc diy compile`. |
|
|
88
|
+
| `orc 1.2.2 available` | A newer ORC exists. Run `orc upgrade`. |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Line 2
|
|
93
|
+
|
|
94
|
+
### 1. `▰ status: quick · Q3 DO`
|
|
95
|
+
|
|
96
|
+
The lane that is running now, and the phase it is in. The small symbol in front
|
|
97
|
+
moves. Each kind of phase has its own symbol.
|
|
98
|
+
|
|
99
|
+
| Symbol | Kind | The lane is |
|
|
100
|
+
|---|---|---|
|
|
101
|
+
| `◔ ◑ ◕ ●` | look | reading files and collecting facts |
|
|
102
|
+
| `? ¿` | ask | waiting for your answer |
|
|
103
|
+
| `▁ ▃ ▅ ▇` | plan | deciding what to do and in what order |
|
|
104
|
+
| `▰ ▱` | do | running agents that write code |
|
|
105
|
+
| `◇ ◈ ◆` | check | reviewing, verifying or testing |
|
|
106
|
+
| `› » ≫` | ship | finishing and handing over |
|
|
107
|
+
| `· ˙` | wait | stopped on purpose |
|
|
108
|
+
| braille | generic | a phase with no symbol of its own |
|
|
109
|
+
|
|
110
|
+
**This part can be absent, and that is correct.** ORC shows a phase only when a
|
|
111
|
+
file on disk proves it. Two things prove a phase: an agent that ORC dispatched,
|
|
112
|
+
or a phase note the run wrote to its trace.
|
|
113
|
+
|
|
114
|
+
So some phases show nothing:
|
|
115
|
+
|
|
116
|
+
- a phase that only reads files and asks you a question, for example `Q1 LOOK`
|
|
117
|
+
and `Q2 ASK` in `/orc-quick`;
|
|
118
|
+
- a run that stopped more than 10 minutes ago;
|
|
119
|
+
- a worker that runs outside Claude (`orc extra`), unless the run wrote a note.
|
|
120
|
+
|
|
121
|
+
ORC hides the part instead of guessing. A wrong phase is worse than no phase.
|
|
122
|
+
|
|
123
|
+
**The symbol is not a progress bar.** Claude Code draws the status line when
|
|
124
|
+
something happens. So the symbol moves while you type and while ORC works. It
|
|
125
|
+
stops when the session is idle. That is true, and it is the design.
|
|
126
|
+
|
|
127
|
+
To turn the motion off, set `ORC_STATUSLINE_MOTION=0`.
|
|
128
|
+
To use plain ASCII symbols, set `ORC_STATUSLINE_ASCII=1`.
|
|
129
|
+
|
|
130
|
+
### 2. `agents 7 (2 running)`
|
|
131
|
+
|
|
132
|
+
How many agents this session dispatched, and how many have not returned yet.
|
|
133
|
+
|
|
134
|
+
`(2 running)` is important. If you see a number here and nothing is happening,
|
|
135
|
+
an agent is still working. Do not start the same task again. Run
|
|
136
|
+
`orc run inflight` to check.
|
|
137
|
+
|
|
138
|
+
Two limits:
|
|
139
|
+
|
|
140
|
+
- ORC counts only agents it dispatched with a name. A quick read that uses no
|
|
141
|
+
named agent is not counted.
|
|
142
|
+
- If you continue an agent instead of dispatching a new one, ORC cannot see it.
|
|
143
|
+
So this number is a floor, not a total.
|
|
144
|
+
|
|
145
|
+
### 3. `orc-extra: on`
|
|
146
|
+
|
|
147
|
+
`on` means ORC may send some work to a provider that is not Claude. `off` means
|
|
148
|
+
all work stays on Claude.
|
|
149
|
+
|
|
150
|
+
To change it, run `orc config set extra_enabled true` or `false`.
|
|
151
|
+
|
|
152
|
+
### 4. `Dur 48m`
|
|
153
|
+
|
|
154
|
+
How long this session has run.
|
|
155
|
+
|
|
156
|
+
### 5. `MTok 412K`
|
|
157
|
+
|
|
158
|
+
**MTok = main token.** The tokens your **main session** used. `412K` is 412
|
|
159
|
+
thousand.
|
|
160
|
+
|
|
161
|
+
This is the sum of all four token kinds: new input, cache write, cache read and
|
|
162
|
+
output.
|
|
163
|
+
|
|
164
|
+
**Claude Code does not record tokens for a dispatched agent.** So an hour of
|
|
165
|
+
agent work adds almost nothing to this number. `MTok` tells you how much your
|
|
166
|
+
own conversation costs. It does not tell you what a run costs.
|
|
167
|
+
|
|
168
|
+
For the true cost of a run, use `orc usage report` or `/orc-budget`.
|
|
169
|
+
|
|
170
|
+
`MTok —` means ORC could not measure it. It never shows `0`, because `0` would
|
|
171
|
+
say the session was free.
|
|
172
|
+
|
|
173
|
+
### 6. `main`
|
|
174
|
+
|
|
175
|
+
The branch you are on. A detached HEAD shows as `@a1b2c3d`.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## If a part is missing
|
|
180
|
+
|
|
181
|
+
| You see | Reason |
|
|
182
|
+
|---|---|
|
|
183
|
+
| Only one line | The hook could not read your `.claude/orc/` folder. It failed quietly, which is correct: a status line must never break your session. |
|
|
184
|
+
| No `status:` | No run is active, or the phase cannot be proved. See above. |
|
|
185
|
+
| No branch | This folder is not a Git repository. |
|
|
186
|
+
| `MTok —` | ORC could not read the session transcript. |
|
|
187
|
+
| No `5h`/`wk` | Your Claude Code version does not send usage numbers. |
|
|
188
|
+
|
|
189
|
+
---
|
|
190
|
+
|
|
191
|
+
## For maintainers
|
|
192
|
+
|
|
193
|
+
- The hook is `orc-statusline.js`. `orc init` installs it and wires it into
|
|
194
|
+
`.claude/settings.json`. It never replaces a status line you already have.
|
|
195
|
+
- The phase list is **not** in the hook. `orc init` and `orc update` write it to
|
|
196
|
+
`hooks/orc-lane-rails.json` from the CLI registries. Run `orc lane rails` to
|
|
197
|
+
read it. The hook renders that file and decides nothing about it.
|
|
198
|
+
- Line 2 reads the disk once every 5 seconds and caches the answer, because a
|
|
199
|
+
status line redraws on every keystroke. `MTok` reads only the new bytes of the
|
|
200
|
+
transcript.
|
|
201
|
+
- `ORC_STATUSLINE_SCAN_MS` is the one seam over that budget. It exists for
|
|
202
|
+
tests. Nothing in ORC sets it.
|