@azure-id/orc 2.1.1 → 2.2.0

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.
Files changed (145) hide show
  1. package/CHANGELOG.md +320 -0
  2. package/README.md +48 -23
  3. package/bin/build-agents.js +207 -205
  4. package/bin/cli.js +48188 -47417
  5. package/bin/fix.js +21 -18
  6. package/bin/graph-extract.js +314 -6
  7. package/bin/graph-gain.js +83 -2
  8. package/bin/graph-map.js +23 -1
  9. package/bin/graph-notes.js +1 -1
  10. package/bin/graph-query.js +1362 -37
  11. package/bin/graph-resolve.js +1 -1
  12. package/bin/graph-shard.js +29 -6
  13. package/bin/graph-signals.js +5 -3
  14. package/bin/graph.js +7 -3
  15. package/bin/habit.js +1 -1
  16. package/bin/pricing.json +8 -1
  17. package/bin/trace-write.js +40 -11
  18. package/bin/verify-contracts.js +5661 -5552
  19. package/bin/verify-package.js +716 -716
  20. package/bin/webui/api.js +8 -0
  21. package/bin/webui/fixtures/extra.js +2036 -2036
  22. package/bin/webui/fixtures/flow.js +1 -1
  23. package/bin/webui/fixtures/index.js +2 -2
  24. package/bin/webui/fixtures/knowledge.js +8 -1
  25. package/bin/webui/fixtures/pact.js +112 -111
  26. package/bin/webui/fixtures/stats.js +2 -2
  27. package/bin/webui/i18n/en/knowledge.json +2 -0
  28. package/bin/webui/i18n/id/knowledge.json +2 -0
  29. package/bin/webui/js/panels/knowledge.js +17 -0
  30. package/guides/code-graph-benefit.md +116 -0
  31. package/guides/configuration.md +150 -0
  32. package/guides/documents.md +262 -0
  33. package/guides/extra-models.md +448 -0
  34. package/guides/habits-and-gotchas.md +152 -0
  35. package/guides/knowledge-reads.md +190 -0
  36. package/guides/model-selection.md +186 -0
  37. package/guides/rules.md +305 -0
  38. package/guides/status-line.md +344 -0
  39. package/mock-run/orc-cli.md +3 -2
  40. package/mock-run/orc-doc.md +452 -448
  41. package/mock-run/orc.md +157 -157
  42. package/package.json +2 -1
  43. package/templates/agents/MODEL-MAPPING.md +176 -176
  44. package/templates/agents/{orc-executor-haiku-4-5.md → orc-executor-haiku-5-high.md} +21 -8
  45. package/templates/agents/orc-executor-opus-4-7-high.md +17 -5
  46. package/templates/agents/orc-executor-opus-4-7-med.md +17 -5
  47. package/templates/agents/orc-executor-opus-4-8-high.md +17 -5
  48. package/templates/agents/orc-executor-opus-5-high.md +17 -5
  49. package/templates/agents/orc-executor-opus-5-low.md +17 -5
  50. package/templates/agents/orc-executor-opus-5-med.md +17 -5
  51. package/templates/agents/orc-executor-sonnet-4-6-high.md +17 -5
  52. package/templates/agents/orc-executor-sonnet-5-high.md +17 -5
  53. package/templates/agents/orc-executor-sonnet-5-low.md +17 -5
  54. package/templates/agents/orc-executor-sonnet-5-med.md +17 -5
  55. package/templates/agents/{orc-graph-noter-sonnet-4-6-med.md → orc-graph-noter-haiku-5-high.md} +4 -4
  56. package/templates/agents/orc-planner-mini-opus-5-med.md +3 -1
  57. package/templates/agents/orc-planner-mini-sonnet-5-high.md +3 -1
  58. package/templates/agents/orc-planner-opus-5-med.md +3 -1
  59. package/templates/agents/{orc-trace-writer-haiku-4-5.md → orc-trace-writer-haiku-5-high.md} +4 -3
  60. package/templates/commands/orc-doc.md +128 -128
  61. package/templates/commands/orc-export.md +51 -46
  62. package/templates/hooks/README.md +8 -3
  63. package/templates/hooks/orc-effort-guard.js +105 -27
  64. package/templates/hooks/orc-graph-hook.js +252 -4
  65. package/templates/hooks/orc-statusline.js +13 -6
  66. package/templates/hooks/orc-trace.js +1 -1
  67. package/templates/skills/_shared/README.md +2 -2
  68. package/templates/skills/_shared/code-graph.md +185 -251
  69. package/templates/skills/_shared/extra-dispatch.md +1331 -1331
  70. package/templates/skills/_shared/lane-contract.md +7 -3
  71. package/templates/skills/_shared/opus5-only.md +137 -137
  72. package/templates/skills/_shared/phases/execution.md +13 -11
  73. package/templates/skills/_shared/phases/planning.md +27 -9
  74. package/templates/skills/_shared/phases/preflight.md +3 -3
  75. package/templates/skills/_shared/phases/review.md +4 -3
  76. package/templates/skills/_shared/phases/ship.md +7 -10
  77. package/templates/skills/_shared/phases/summary.md +2 -3
  78. package/templates/skills/_shared/phases/trace-verbs.md +21 -16
  79. package/templates/skills/_shared/phases/trace.md +3 -3
  80. package/templates/skills/_shared/phases/wiki-consult.md +2 -2
  81. package/templates/skills/_shared/pr-templates.md +108 -106
  82. package/templates/skills/_shared/read-ladder.md +8 -2
  83. package/templates/skills/_shared/return-validation.md +10 -6
  84. package/templates/skills/_shared/review-slice.md +1 -1
  85. package/templates/skills/_shared/stack-plan.md +135 -135
  86. package/templates/skills/_shared/wait.md +14 -2
  87. package/templates/skills/context-combiner/SKILL.md +2 -2
  88. package/templates/skills/orc/SKILL.md +227 -227
  89. package/templates/skills/orc/config.md +2 -2
  90. package/templates/skills/orc/examples/full-run-mock.md +74 -74
  91. package/templates/skills/orc/schemas/planning-output.md +3 -0
  92. package/templates/skills/orc-aftermath/SKILL.md +15 -15
  93. package/templates/skills/orc-analyze/SKILL.md +2 -2
  94. package/templates/skills/orc-analyze-mini/SKILL.md +2 -2
  95. package/templates/skills/orc-boundary/SKILL.md +15 -15
  96. package/templates/skills/orc-boundary/references/card.md +81 -78
  97. package/templates/skills/orc-boundary/references/gate.md +113 -113
  98. package/templates/skills/orc-brainstorm/SKILL.md +15 -15
  99. package/templates/skills/orc-budget/SKILL.md +15 -15
  100. package/templates/skills/orc-challenge/README.md +1 -1
  101. package/templates/skills/orc-challenge/SKILL.md +16 -16
  102. package/templates/skills/orc-challenge/examples/council-full-roster.md +1 -1
  103. package/templates/skills/orc-claude/SKILL.md +4 -4
  104. package/templates/skills/orc-claude/examples/claude-run-mock.md +1 -1
  105. package/templates/skills/orc-diy/SKILL.md +2 -2
  106. package/templates/skills/orc-diy/references/blocks/wiki.md +26 -26
  107. package/templates/skills/orc-diy/references/flow-schema.md +2 -2
  108. package/templates/skills/orc-doc/README.md +2 -2
  109. package/templates/skills/orc-doc/SKILL.md +501 -490
  110. package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +12 -1
  111. package/templates/skills/orc-doc/references/chunking.md +6 -4
  112. package/templates/skills/orc-doc/references/gates.md +311 -311
  113. package/templates/skills/orc-doc/references/resume-protocol.md +229 -228
  114. package/templates/skills/orc-explain/SKILL.md +88 -88
  115. package/templates/skills/orc-export/SKILL.md +190 -187
  116. package/templates/skills/orc-fast/SKILL.md +213 -210
  117. package/templates/skills/orc-grill/SKILL.md +245 -245
  118. package/templates/skills/orc-handoff/SKILL.md +11 -11
  119. package/templates/skills/orc-learn/SKILL.md +13 -13
  120. package/templates/skills/orc-learn/examples/learn-run-mock.md +2 -2
  121. package/templates/skills/orc-mini/SKILL.md +12 -12
  122. package/templates/skills/orc-mini/examples/mini-run-mock.md +4 -5
  123. package/templates/skills/orc-pact/SKILL.md +15 -15
  124. package/templates/skills/orc-pact/references/gate.md +70 -70
  125. package/templates/skills/orc-pattern/SKILL.md +3 -3
  126. package/templates/skills/orc-poly/SKILL.md +4 -4
  127. package/templates/skills/orc-poly/examples/poly-run-mock.md +51 -51
  128. package/templates/skills/orc-pr-driver/SKILL.md +4 -3
  129. package/templates/skills/orc-pr-driver/references/orc-run-split.md +108 -99
  130. package/templates/skills/orc-pr-setup/SKILL.md +2 -2
  131. package/templates/skills/orc-quick/README.md +535 -536
  132. package/templates/skills/orc-quick/SKILL.md +29 -32
  133. package/templates/skills/orc-quick/references/context-doc.md +145 -145
  134. package/templates/skills/orc-quick/references/dispatch-gate.md +220 -220
  135. package/templates/skills/orc-quick/references/gh-mode.md +2 -1
  136. package/templates/skills/orc-quick/references/look.md +34 -12
  137. package/templates/skills/orc-retro/SKILL.md +2 -2
  138. package/templates/skills/orc-retro/examples/retro-mock.md +2 -2
  139. package/templates/skills/orc-route/SKILL.md +2 -2
  140. package/templates/skills/orc-test/SKILL.md +6 -3
  141. package/templates/skills/orc-verify/SKILL.md +2 -2
  142. package/templates/skills/orc-wait/SKILL.md +10 -2
  143. package/templates/skills/orc-wiki/SKILL.md +4 -4
  144. package/templates/skills/orc-wiki/references/pattern-prewarm.md +19 -19
  145. package/templates/agents/orc-executor-sonnet-4-6-med.md +0 -155
@@ -0,0 +1,344 @@
1
+ # Building your own status line
2
+
3
+ > The full reference for `orc ui` ▸ **CLI Hook Interface**, added in v1.3.0.
4
+ > The short version lives in the [README](../README.md#changelog); the
5
+ > user-facing explanation of the *built-in* line is
6
+ > [`templates/hooks/README.md`](../templates/hooks/README.md), which ships into
7
+ > `.claude/hooks/` beside the hook it describes.
8
+
9
+ ORC's status line is two hardcoded lines. This makes it yours: three lines, each
10
+ holding one to five parts you choose, each drawn in a shape you pick and styled
11
+ the way you want.
12
+
13
+ **It is off until you enable it, and while it is off the bar is byte-for-byte
14
+ what it always was.**
15
+
16
+ ---
17
+
18
+ ## 1. Start here
19
+
20
+ ```
21
+ orc ui
22
+ ```
23
+
24
+ Then open **CLI Hook Interface**. Everything below is on that one page.
25
+
26
+ There is a command-line half too — `orc statusline` — but it exists so the panel
27
+ has something to run. Building a three-line layout by typing flags is harder
28
+ than dragging one, and `orc statusline --help` says so on its first line.
29
+
30
+ ---
31
+
32
+ ## 2. The board, and the one rule
33
+
34
+ Three lines. Each holds **at most five** parts.
35
+
36
+ > **A line may hold a part only if every line above it holds at least one.**
37
+
38
+ So line 1 must have something before line 2 can, and line 2 before line 3. The
39
+ panel will not let you break this: an illegal line is drawn hatched and disabled
40
+ with the reason on it. You are never allowed to do the wrong thing and then told
41
+ off for it.
42
+
43
+ **A group counts as one.** Wrap two to four parts into one visual object and it
44
+ takes one slot — the limit is about how much a line *says*, and a group says one
45
+ thing. Groups do not nest, and a group never spans two lines.
46
+
47
+ **Three parts do not count at all**: a spacer, a divider and a fill are
48
+ punctuation, not information.
49
+
50
+ ---
51
+
52
+ ## 3. Everything you can put on it
53
+
54
+ 128 parts, in eight groups. `orc statusline components` lists them all with what
55
+ each costs to read.
56
+
57
+ | Group | What is in it |
58
+ |---|---|
59
+ | Session and tier | the verdict, the model, the effort, the context window, the project |
60
+ | Quota and spend | both usage windows, session cost in dollars, tokens, burn rate |
61
+ | Run state | the running lane and phase, agents, duration, waves, the animated mark |
62
+ | Cache health | whether the prompt cache is warm, its hit ratio, what a rebuild would cost |
63
+ | Session mode | Claude Code's version, vim mode, thinking, fast mode |
64
+ | Project and VCS | the branch, the repo, the PR, lines added and removed |
65
+ | Knowledge | the wiki's age, whether a code pattern is cached, linked peers |
66
+ | Static | your own text, a clock, a divider, a right-align fill |
67
+
68
+ ### What each part costs
69
+
70
+ | Cost | Means |
71
+ |---|---|
72
+ | `free` | it is already in the data Claude Code hands the hook |
73
+ | `scan` | it rides in the one reading ORC already does every five seconds |
74
+ | `new read` | it opens a small file of its own, on its own clock |
75
+ | `refused` | ORC will not do it, and the row says why |
76
+
77
+ **Eight parts are refused**, and the reason is always a measurement. A `git
78
+ status` takes 53 ms; the hook has about 15 ms of room. Three wiki numbers would
79
+ need a git walk *per document*. `orc doctor` is a whole program. Every one of
80
+ those rows still appears in the list, with its reason — because *"we decided
81
+ against this"* and *"we forgot"* must not look the same.
82
+
83
+ **A part that cannot be worked out shows `—`, never `0`.** A zero would say the
84
+ thing was measured and found empty.
85
+
86
+ ---
87
+
88
+ ## 4. Shapes
89
+
90
+ Every part offers the shapes that make sense for it. The panel draws each one
91
+ with **that part's real value**, so you are choosing between pictures rather
92
+ than between words.
93
+
94
+ | Family | Examples |
95
+ |---|---|
96
+ | Text | `47%` · `context 47%` · `CONTEXT: 47%` · `[CONTEXT 47%]` · `⟪CTX⟫47%` |
97
+ | Proportion | `47% [\|\|\|\|\|·····]` · `█████░░░░░` · `████▊ ` · `▮▮▮▮▮▯▯▯▯▯` · `●●●●●○○○○○` · `◕` |
98
+ | State | a different **shape** per state, an icon, or the state word |
99
+ | History | a sparkline, a direction arrow, a change since last time |
100
+ | Motion | the animated mark |
101
+
102
+ A proportion shape is only offered where the value has a real maximum. A bar
103
+ over a number with no ceiling is a lie, and ORC refuses to draw one.
104
+
105
+ ---
106
+
107
+ ## 5. Colour
108
+
109
+ Two colours per part — one for its name, one for its value — plus a background.
110
+ Dim name, bright value is what most bars actually want, and one colour cannot
111
+ say it.
112
+
113
+ - **Named colours come first** (`red`, `bright-cyan`, …) because they follow
114
+ *your* terminal theme, and ORC does not know your background.
115
+ - **Hex** is behind Custom, for exact control.
116
+ - **Colour by value** (a *ramp*) picks the colour from the number: green →
117
+ amber → red for anything where high is bad, and the reverse where high is
118
+ good. You can move the points where it changes.
119
+
120
+ **A colour can say something.** Parts with states — the verdict, the wiki's age,
121
+ the cache — carry meaning in their colour. Setting a fixed colour turns that off,
122
+ and the panel says so at the moment you pick it. A green ⛔ is a status line that
123
+ lies.
124
+
125
+ ---
126
+
127
+ ## 6. Three things a terminal cannot do
128
+
129
+ Said plainly, because a picker that does nothing is worse than no picker.
130
+
131
+ | You may want | What there is instead |
132
+ |---|---|
133
+ | **A bigger font** | Your terminal owns the font size and no program can change it. **Bold** is the closest thing to bigger and **dim** to smaller. To make a part *visually* bigger, give it more cells: a bar at width 12 is a large object. |
134
+ | **Blinking** | Refused. Half of terminals disable it and no state on a status line deserves it. |
135
+ | **Icon-font symbols** | Not shipped. They need a font ORC cannot check for, and without it they draw as empty boxes. Put one in a `text` part if you have one and want to own that choice. |
136
+
137
+ ---
138
+
139
+ ## 7. When a part is allowed to disappear
140
+
141
+ **By default nothing disappears.** `ucs 0%` and "this build has no ucs part" are
142
+ different facts and must not look the same.
143
+
144
+ You can change that per part, and the conditions are a **checklist** — tick as
145
+ many as you want:
146
+
147
+ `empty` · `zero` · `unknown` · `healthy` · `no run` · `narrow terminal`
148
+
149
+ `healthy` is the one that makes a dense layout liveable: eleven health parts set
150
+ to hide while healthy take up no room at all until one of them has something to
151
+ say. The trade is real, and the panel states it — a part that can vanish has an
152
+ absence that means two things.
153
+
154
+ ---
155
+
156
+ ## 8. A narrow terminal
157
+
158
+ Each part carries the width range in which it is worth its cells, and a **drop
159
+ order** from 1 to 5. When the line does not fit, `1` goes first.
160
+
161
+ This is better than cutting off the right-hand end, because **you** choose what
162
+ survives rather than losing whatever happened to be last.
163
+
164
+ ---
165
+
166
+ ## 9. Ready-made layouts
167
+
168
+ | Preset | What it is |
169
+ |---|---|
170
+ | `orc-default` | today's two lines, exactly |
171
+ | `minimal` | one line, four parts, dimmed |
172
+ | `cost-watch` | what this session is spending, in every free unit |
173
+ | `run-watch` | what ORC is doing, promoted to line 1 |
174
+ | `knowledge` | almost always empty — a part appearing IS the signal |
175
+ | `cache-watch` | the prompt-cache block |
176
+ | `mono` | no colour at all: shapes and weight only |
177
+
178
+ **Applying one replaces your whole layout**, so it always asks first and names
179
+ what you lose.
180
+
181
+ `mono` is worth knowing about for two reasons: it is the right layout for a
182
+ screenshot, and multi-line status lines with heavy colour are the configuration
183
+ most likely to render oddly in an unusual terminal. If yours misbehaves, `mono`
184
+ is the answer.
185
+
186
+ ---
187
+
188
+ ## 10. Why it is fast
189
+
190
+ A composed layout can be **faster** than the built-in one.
191
+
192
+ The hook has about 15 milliseconds. Claude Code redraws the status line every
193
+ 300 ms at most and **stops a script that is still running**, and simply starting
194
+ `node` takes about 285 ms of that on Windows.
195
+
196
+ So ORC does the thinking in advance. When you save a layout it is *compiled*
197
+ into a flat list of drawing instructions with every colour already worked out;
198
+ the hook walks that list and decides nothing. It also records which readings
199
+ your layout needs — and reads nothing else.
200
+
201
+ Measured, cold, on the same machine:
202
+
203
+ | | built-in lines | a composed `minimal` |
204
+ |---|---|---|
205
+ | render | 346.7 ms | **298.2 ms** |
206
+
207
+ 300 ms is the line at which Claude Code gives up. That is the whole difference.
208
+
209
+ ---
210
+
211
+ ## 11. If something goes wrong
212
+
213
+ The hook can never refuse, so it falls back — silently, to the built-in lines —
214
+ and writes down why. `orc doctor` turns that into a sentence:
215
+
216
+ | Finding | Means |
217
+ |---|---|
218
+ | `statusline-layout-invalid` | the layout does not pass its own rules |
219
+ | `statusline-layout-unreadable` | the compiled layout is missing or stale |
220
+ | `statusline-layout-orphaned` | your layout names a part this ORC version no longer has |
221
+
222
+ **An orphaned part is reported, never repaired for you.** Which part replaces a
223
+ retired one is your decision, not ORC's.
224
+
225
+ All three appear only while the feature is enabled. A layout you built and never
226
+ enabled is a draft, not a problem.
227
+
228
+ ---
229
+
230
+ ## 12. The commands, if you want them
231
+
232
+ ```
233
+ orc statusline components every part, with its cost and its shapes
234
+ orc statusline show your layout, resolved
235
+ orc statusline preview [--width N] what it will look like, in all four forms
236
+ orc statusline explain <line>:<pos> where every setting on one part came from
237
+ orc statusline validate exit 0 valid, 1 not — and it names each problem
238
+ orc statusline set <line> <pos> <part> [--render …] [--color …] …
239
+ orc statusline move <line>:<pos> <line>:<pos>
240
+ orc statusline remove <line>:<pos>
241
+ orc statusline group <line>:<pos> <line>:<pos> [...] two to four as one object
242
+ orc statusline expand <line>:<pos> back into its parts
243
+ orc statusline clone <line>:<pos>
244
+ orc statusline presets | apply <name> | reset | compile
245
+ ```
246
+
247
+ `explain` is the one worth knowing about: after a theme change it tells you
248
+ which of your own settings are still yours.
249
+
250
+ ### The refresh timer (moving parts)
251
+
252
+ Claude Code redraws the status line when something happens in the session. While
253
+ the session is idle, nothing redraws it, so a pet or a clock stops. The setting
254
+ `statusLine.refreshInterval` adds a timer that redraws it while idle.
255
+
256
+ ```
257
+ orc statusline refresh 3 redraw every 3 seconds
258
+ orc statusline refresh off remove the timer
259
+ orc config set statusline_refresh 3 the same write, from the config editor
260
+ ```
261
+
262
+ - The values are `off`, `1`, `2`, `3`, `5` and `10` seconds (`3` is new in v2.1.0).
263
+ - **The floor is 1 second.** Claude Code gives no timer below 1 second (a test
264
+ with 0.25 s gave no redraw). So ORC refuses `0.2`, `0.5` and `0.7`. The message
265
+ names the floor and the nearest value (`1`), and the file stays as it was. In
266
+ `orc ui` ▸ CLI Hook Interface, the 0.2 · 0.5 · 0.7 buttons are disabled and
267
+ their tooltip gives the reason.
268
+ - With a timer, a pet moves one step for each redraw. Without a timer, it moves
269
+ with the clock.
270
+ - `orc doctor` tells you when a value is below the floor, when your layout has a
271
+ moving part and no timer, and when the timer is on the sub-agent board.
272
+ - `statusline_refresh` is not stored in `orc.config.yaml`. It is always read from
273
+ `settings.json`, so the two can never disagree.
274
+
275
+ Turn the whole thing on and off with:
276
+
277
+ ```
278
+ orc config set statusline_custom on
279
+ ```
280
+
281
+ The switch refuses while the layout does not validate, and names the reason.
282
+ Enabled with nothing saved is not a state.
283
+
284
+ ---
285
+
286
+ ## 13. The second board — one row per agent (v1.4.0)
287
+
288
+ Claude Code draws a row for every subagent in the agent panel. ORC can draw that
289
+ row too. Open the same panel and switch to **One row per agent**.
290
+
291
+ ```
292
+ ● orc-executor-opus-5-low O5/low 84K ███▎░░░░ 42% for 17m
293
+ ✓ orc-reviewer-opus-5-low O5/med 31K █▌░░░░░░ 16% for 4m
294
+ ```
295
+
296
+ Everything above still applies — the same shapes, the same colours, the same
297
+ editor, the same preview. Three things differ:
298
+
299
+ 1. **A row is one line.** Claude Code renders one per agent, so there is no
300
+ second or third line and no rule about filling one before another.
301
+ 2. **The parts are about ONE AGENT**: its name, what it is running at, its
302
+ status, its own context window, how long it has been going, and how many
303
+ tokens it has used. A part from the status line cannot go here, and the
304
+ panel says so if you try.
305
+ 3. **It is a separate switch** — `subagent_line_custom` — so you can have one
306
+ board on and the other off.
307
+
308
+ ### The number that was missing
309
+
310
+ ORC has never been able to tell you what a subagent cost. The conversation file
311
+ records no token use for one at all, so `orc usage report` has said `tokens:
312
+ null` and explained why.
313
+
314
+ **The agent panel reports one.** So ORC writes down what it is handed, and
315
+ `orc usage report` shows it.
316
+
317
+ **It is a floor, not a total.** ORC only sees an agent while it is in the panel.
318
+ An agent that starts and finishes between two redraws is never seen, and a
319
+ number read just before an agent ended is short by whatever came after. Every
320
+ one of these numbers says so, and a number ORC did not see reads `not-seen` —
321
+ **never `0`**, which would mean the work was free.
322
+
323
+ **This part runs whether the row is on or off.** It is not part of the display:
324
+ it is a measurement Claude Code hands over either way, and throwing it out
325
+ because a display setting is off would be the wrong trade. `orc init` and
326
+ `orc update` wire it for that reason, and never replace a `subagentStatusLine`
327
+ you already have.
328
+
329
+ ### Presets
330
+
331
+ | Preset | What it is |
332
+ |---|---|
333
+ | `agent-default` | what the agent is, what it runs at, and what it has cost |
334
+ | `agent-watch` | status, its own context window, and the clock |
335
+ | `agent-tier` | the model and effort ORC actually got, per agent |
336
+
337
+ ```
338
+ orc statusline apply agent-default --board subagent
339
+ orc config set subagent_line_custom on
340
+ ```
341
+
342
+ Every command above takes `--board subagent`. Without it you are editing the
343
+ status line, and a preset from the wrong board is refused by name with the flag
344
+ that would have worked.
@@ -24,6 +24,7 @@ Installed into /home/rina/shopcart/.claude
24
24
 
25
25
  Merged into .claude/settings.json (nothing of yours was replaced):
26
26
  · PreToolUse effort guard
27
+ · UserPromptExpansion effort gate (typed /orc, /orc-diy)
27
28
  · statusline (you had none — if you had, I would print the snippet instead)
28
29
 
29
30
  Next: orc onboarding first-run
@@ -42,7 +43,7 @@ orc doctor — /home/rina/shopcart/.claude
42
43
  payload ✓ every shipped file present
43
44
  orphans 3 files ORC owns are no longer in the payload
44
45
  fix: orc update --prune (it will name all three first)
45
- settings ✓ guard wired · ✓ statusline wired
46
+ settings ✓ guard wired · ✓ typed /orc gate wired · ✓ statusline wired
46
47
  trace ✓ pointer valid
47
48
  diy STALE — compiled before the last update
48
49
 
@@ -145,7 +146,7 @@ $ orc stats --since 2026-07-01
145
146
 
146
147
  ```
147
148
  Lanes runs Agents dispatches
148
- orc 12 orc-executor-sonnet-4-6-med 41
149
+ orc 12 orc-executor-haiku-5-high 41
149
150
  quick 31 orc-executor-sonnet-5-high 22
150
151
  mini 9 orc-planner-opus-5-med 21
151
152
  wiki 3 orc-reviewer-opus-5-low 12