@azure-id/orc 2.0.2 → 2.1.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 (121) hide show
  1. package/CHANGELOG.md +401 -0
  2. package/README-id.md +52 -23
  3. package/README.md +50 -22
  4. package/bin/build-agents.js +24 -25
  5. package/bin/clear-logs.js +620 -0
  6. package/bin/cli.js +1155 -158
  7. package/bin/fix.js +459 -0
  8. package/bin/gotcha.js +288 -8
  9. package/bin/habit.js +1538 -1453
  10. package/bin/mockrun-catalog.js +3 -0
  11. package/bin/onboarding-content.js +2 -1
  12. package/bin/pricing.json +28 -21
  13. package/bin/trace-write.js +869 -657
  14. package/bin/verify-contracts.js +108 -27
  15. package/bin/verify-package.js +17 -6
  16. package/bin/webui/api.js +125 -6
  17. package/bin/webui/css/panels/hookui.css +79 -0
  18. package/bin/webui/fixtures/behaviour.js +30 -0
  19. package/bin/webui/fixtures/extra.js +9 -9
  20. package/bin/webui/fixtures/flow.js +81 -81
  21. package/bin/webui/fixtures/hookui.js +506 -431
  22. package/bin/webui/fixtures/index.js +32 -3
  23. package/bin/webui/fixtures/knowledge.js +2 -2
  24. package/bin/webui/fixtures/maintenance.js +123 -42
  25. package/bin/webui/fixtures/rules.js +1007 -1002
  26. package/bin/webui/fixtures/settings.js +6 -7
  27. package/bin/webui/fixtures/stats.js +9 -6
  28. package/bin/webui/fixtures/wait.js +98 -97
  29. package/bin/webui/i18n/en/behaviour.json +13 -0
  30. package/bin/webui/i18n/en/hookui.json +290 -194
  31. package/bin/webui/i18n/en/maintenance.json +71 -52
  32. package/bin/webui/i18n/en/settings.json +60 -60
  33. package/bin/webui/i18n/id/behaviour.json +13 -0
  34. package/bin/webui/i18n/id/hookui.json +290 -194
  35. package/bin/webui/i18n/id/maintenance.json +71 -52
  36. package/bin/webui/i18n/id/settings.json +60 -60
  37. package/bin/webui/js/05-banners.js +181 -172
  38. package/bin/webui/js/06-edit.js +193 -183
  39. package/bin/webui/js/panels/behaviour.js +77 -12
  40. package/bin/webui/js/panels/hookui.js +2196 -1691
  41. package/bin/webui/js/panels/maintenance.js +336 -235
  42. package/bin/webui/js/panels/settings.js +726 -719
  43. package/mock-run/INDEX.md +1 -0
  44. package/mock-run/extra-slots.md +1 -1
  45. package/mock-run/habits.md +1 -1
  46. package/mock-run/orc-aftermath.md +392 -392
  47. package/mock-run/orc-budget.md +29 -33
  48. package/mock-run/orc-cli.md +200 -200
  49. package/mock-run/orc-explain.md +86 -86
  50. package/mock-run/orc-extra.md +389 -392
  51. package/mock-run/orc-fix.md +87 -0
  52. package/mock-run/orc-pattern.md +112 -112
  53. package/mock-run/orc.md +157 -157
  54. package/package.json +1 -1
  55. package/templates/agents/MODEL-MAPPING.md +32 -29
  56. package/templates/agents/orc-analyze-mini-sonnet-5-high.md +2 -2
  57. package/templates/agents/{orc-claude-writer-opus-5-med.md → orc-claude-writer-opus-5-low.md} +4 -4
  58. package/templates/agents/orc-executor-haiku-4-5.md +1 -1
  59. package/templates/agents/orc-executor-opus-5-low.md +1 -1
  60. package/templates/agents/orc-executor-sonnet-4-6-high.md +1 -1
  61. package/templates/agents/orc-executor-sonnet-4-6-med.md +1 -1
  62. package/templates/agents/orc-executor-sonnet-5-high.md +2 -2
  63. package/templates/agents/orc-executor-sonnet-5-low.md +155 -0
  64. package/templates/agents/orc-executor-sonnet-5-med.md +155 -0
  65. package/templates/agents/orc-pattern-codifier-sonnet-5-high.md +2 -2
  66. package/templates/agents/orc-planner-mini-sonnet-5-high.md +2 -2
  67. package/templates/agents/orc-retro-sonnet-5-high.md +2 -2
  68. package/templates/agents/{orc-reviewer-opus-5-med.md → orc-reviewer-opus-5-low.md} +4 -4
  69. package/templates/agents/{orc-wiki-scanner-opus-5-med.md → orc-wiki-scanner-opus-5-low.md} +3 -3
  70. package/templates/agents/orc-wiki-scanner-sonnet-5-high.md +2 -2
  71. package/templates/commands/orc-fix.md +18 -0
  72. package/templates/commands/orc-wiki.md +64 -64
  73. package/templates/hooks/README.md +75 -7
  74. package/templates/hooks/orc-session-hook.js +78 -3
  75. package/templates/hooks/orc-statusline-render.js +317 -23
  76. package/templates/hooks/orc-statusline.js +162 -49
  77. package/templates/hooks/orc-subagent-line.js +23 -5
  78. package/templates/hooks/orc-weather-fetch.js +123 -0
  79. package/templates/skills/_shared/extra-dispatch.md +5 -5
  80. package/templates/skills/_shared/gotchas.md +27 -7
  81. package/templates/skills/_shared/habits.md +2 -2
  82. package/templates/skills/_shared/opus5-only.md +14 -14
  83. package/templates/skills/_shared/phases/review.md +2 -2
  84. package/templates/skills/_shared/phases/trace-verbs.md +17 -3
  85. package/templates/skills/_shared/phases/trace.md +136 -136
  86. package/templates/skills/_shared/review-slice.md +28 -1
  87. package/templates/skills/_shared/wait.md +1 -0
  88. package/templates/skills/orc/README.md +2 -2
  89. package/templates/skills/orc/SKILL.md +1 -1
  90. package/templates/skills/orc/config.md +25 -27
  91. package/templates/skills/orc/examples/full-run-mock.md +2 -1
  92. package/templates/skills/orc/references/effort-and-mode.md +17 -17
  93. package/templates/skills/orc/references/preflight-report.md +3 -3
  94. package/templates/skills/orc/references/ultra-mode.md +1 -1
  95. package/templates/skills/orc/schemas/checkpoint.md +122 -122
  96. package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +3 -3
  97. package/templates/skills/orc/subskills/orc-review-verify/core.md +1 -1
  98. package/templates/skills/orc-analyze/SKILL.md +4 -2
  99. package/templates/skills/orc-claude/SKILL.md +14 -14
  100. package/templates/skills/orc-claude/examples/claude-run-mock.md +65 -65
  101. package/templates/skills/orc-diy/SKILL.md +5 -5
  102. package/templates/skills/orc-fast/SKILL.md +8 -6
  103. package/templates/skills/orc-fix/SKILL.md +110 -0
  104. package/templates/skills/orc-mini/SKILL.md +4 -4
  105. package/templates/skills/orc-mini/examples/mini-run-mock.md +4 -2
  106. package/templates/skills/orc-quick/README.md +1 -1
  107. package/templates/skills/orc-quick/SKILL.md +2 -2
  108. package/templates/skills/orc-quick/references/dispatch-gate.md +3 -2
  109. package/templates/skills/orc-quick/references/gh-mode.md +4 -2
  110. package/templates/skills/orc-retro/SKILL.md +1 -1
  111. package/templates/skills/orc-retro/examples/retro-mock.md +16 -16
  112. package/templates/skills/orc-wiki/README.md +325 -325
  113. package/templates/skills/orc-wiki/SKILL.md +195 -195
  114. package/templates/skills/orc-wiki/examples/wiki-run-mock.md +37 -37
  115. package/templates/skills/orc-wiki/references/extra.md +2 -2
  116. package/templates/skills/orc-wiki/references/partial-refresh.md +276 -271
  117. package/templates/skills/orc-wiki/references/phases/phase-0.md +1 -1
  118. package/templates/skills/orc-wiki/references/phases/phase-2.md +3 -3
  119. package/templates/skills/orc-wiki/references/phases/phase-3c.md +3 -2
  120. package/templates/agents/orc-claude-writer-opus-4-8-high.md +0 -48
  121. package/templates/agents/orc-wiki-scanner-opus-4-8-high.md +0 -74
@@ -72,14 +72,11 @@ ORC · budget · TOKENS (p50 → p90)
72
72
 
73
73
  band model / count input cache-w cache-r output
74
74
  ────────────────────────────────────────────────────────────────────────────
75
- [0,30) ×2 haiku-4-5 1.2k 6.4k 11.8k 0.9k
76
- [30,40) ×1 sonnet-4-6-med 2.1k 14.0k 28.4k 2.2k
77
- [40,55) ×3 sonnet-4-6-high 7.8k 52.1k 104.0k 8.4k
78
- [55,65) ×2 sonnet-5-high 6.9k 48.3k 96.7k 9.1k
79
- [65,70) ×1 opus-4-7-med 4.4k 31.0k 62.5k 6.8k
80
- [70,80) ×1 opus-4-7-high 5.7k 40.2k 81.0k 9.3k
81
- [80,90) ×1 opus-4-8-high 7.1k 49.8k 101.4k 12.0k
82
- [90,100] ×1 opus-5-high 8.0k 56.0k 114.0k 14.2k
75
+ [0,21) ×1 sonnet-5-low 0.6k 3.2k 5.9k 0.4k
76
+ [21,31) ×1 sonnet-5-med 0.6k 3.2k 5.9k 0.5k
77
+ [31,41) ×1 sonnet-5-high 2.1k 14.0k 28.4k 2.2k
78
+ [41,90) ×8 opus-5-low 31.9k 221.4k 445.6k 45.6k
79
+ [90,100] ×1 opus-5-med 8.0k 56.0k 114.0k 14.2k
83
80
  fixed roles analyst · planner · reviewer · verifier · trace writer
84
81
  18.2k 121.0k 248.0k 26.4k
85
82
  ────────────────────────────────────────────────────────────────────────────
@@ -101,7 +98,7 @@ ORC · budget · the other views
101
98
 
102
99
  ORC · budget · CONTEXT RISK — 1 of 12 tasks
103
100
 
104
- T12 backfill 1.4M rows opus-5-high est. peak 189k / 200k 95% ⚠
101
+ T12 backfill 1.4M rows opus-5-med est. peak 189k / 200k 95% ⚠
105
102
  what is in the slice:
106
103
  3 wiki docs 58k ← orc-reference-config.md used 2/20
107
104
  code pattern (typescript) 11k
@@ -118,6 +115,11 @@ ORC · budget · CONTEXT RISK — 1 of 12 tasks
118
115
  Other 11 tasks: highest is T09 at 142k / 200k (71%). Fine.
119
116
  ```
120
117
 
118
+ > The dollar figures in this walkthrough are illustrative. The token counts
119
+ > add up. The dated price table sets the real dollars: Sonnet 5 is
120
+ > $2 / $2.50 / $0.20 / $10 per MTok (input / cache write / cache read /
121
+ > output), Opus 5.5 is $4 / $5 / $0.20 / $20, Haiku 4.5 is $1 / $5.
122
+
121
123
  ```
122
124
  ORC · budget · the same plan, on other lanes
123
125
 
@@ -143,17 +145,14 @@ ORC · budget · how sure am I
143
145
 
144
146
  band past dispatches confidence
145
147
  ─────────────────────────────────────────────
146
- [0,30) 41 good
147
- [30,40) 27 good
148
- [40,55) 38 good
149
- [55,65) 31 good
150
- [65,70) 14 fair
151
- [70,80) 9 fair
152
- [80,90) 4 LOW — insufficient history
148
+ [0,21) 23 good
149
+ [21,31) 18 good
150
+ [31,41) 27 good
151
+ [41,90) 96 good
153
152
  [90,100] 2 LOW — insufficient history
154
153
 
155
- Two bands have very little history. Their p90 is shaped by the band next
156
- to them, not measured. Treat the top of the range as soft.
154
+ One band has very little history. Its p90 is shaped by the band next
155
+ to it, not measured. Treat the top of the range as soft.
157
156
 
158
157
  Cache-read has its own range and it is the widest part of the forecast —
159
158
  it depends on how much of your repo is already warm. Do not budget on the
@@ -229,13 +228,11 @@ BUDGET · actual vs forecast · run-orc-partial-refunds-100826-171450
229
228
 
230
229
  band forecast p50 (weighted) actual diff note
231
230
  ────────────────────────────────────────────────────────────────────────
232
- [0,30) 9k 9k on target
233
- [30,40) 21k 20k -5%
234
- [40,55) 92k 79k -14%
235
- [55,65) 86k 121k +41% T08 2 repair rounds
236
- [65,70) 57k 54k -6%
237
- [70,80) 74k 186k +151% T04 requeued twice
238
- [80,90) 96k 101k +5%
231
+ [0,21) 4k 4k on target
232
+ [21,31) 5k 5k on target
233
+ [31,41) 21k 20k -5%
234
+ [41,90) 405k 541k +34% T04 requeued twice (+151%)
235
+ T08 2 repair rounds
239
236
  [90,100] — — not run T12 blocked
240
237
  fixed roles 178k 187k +5%
241
238
  ────────────────────────────────────────────────────────────────────────
@@ -257,7 +254,7 @@ BUDGET · actual vs forecast · run-orc-partial-refunds-100826-171450
257
254
 
258
255
  Same finding from three angles. Cheap fix: write the test for PACT-006.
259
256
 
260
- Fed to /orc-retro. Band [70,80) now has 10 samples.
257
+ Fed to /orc-retro. Band [41,90) now has 104 samples.
261
258
  ```
262
259
 
263
260
  **Why both weighted and raw are reported:** raw is what fills a context window
@@ -308,7 +305,7 @@ was used in 2 of the last 20 runs.
308
305
 
309
306
  ## Confidence
310
307
 
311
- Bands `[80,90)` and `[90,100]` have fewer than 5 samples. Their p90 is derived,
308
+ Band `[90,100]` has fewer than 5 samples. Its p90 is derived,
312
309
  not measured. `unattributed` = 2.6%.
313
310
 
314
311
  ## Assumptions
@@ -376,7 +373,6 @@ $ orc budget forecast plan.md --json
376
373
  }
377
374
  ],
378
375
  "bands": [
379
- { "band": "[80,90)", "samples": 4, "confidence": "low", "reason": "insufficient history" },
380
376
  { "band": "[90,100]", "samples": 2, "confidence": "low", "reason": "insufficient history" }
381
377
  ],
382
378
  "exit": 2
@@ -431,9 +427,9 @@ BAND RATES · from 189 dispatches
431
427
 
432
428
  band n input cache-w cache-r output weighted p50
433
429
  ──────────────────────────────────────────────────────────────────────
434
- [0,30) 41 0.6k 3.2k 5.9k 0.5k 4.4k
435
- [40,55) 38 2.6k 17.4k 34.7k 2.8k 30.6k
436
- [70,80) 9 5.7k 40.2k 81.0k 9.3k 74.0k fair
430
+ [0,21) 23 0.6k 3.2k 5.9k 0.4k 4.8k
431
+ [31,41) 27 2.1k 14.0k 28.4k 2.2k 21.1k
432
+ [41,90) 96 4.0k 27.7k 55.7k 5.7k 43.0k
437
433
  [90,100] 2 8.0k 56.0k 114.0k 14.2k 103.0k LOW
438
434
  ```
439
435
 
@@ -458,7 +454,7 @@ Intake · confirm before we start
458
454
  Forecast 1.42M raw / 652k weighted tokens
459
455
  21% → 32% of your 5-hour window
460
456
  $6.76 → $10.50 · 18 → 31 minutes
461
- (from your own 31 runs; 2 bands have low confidence)
457
+ (from your own 31 runs; 1 band has low confidence)
462
458
 
463
459
  ⚠ T12 is forecast at 95% of its context window and will probably compact.
464
460
 
@@ -526,7 +522,7 @@ says so, then sharpens. That is a good shape for a product: it rewards staying.
526
522
 
527
523
  **It closes a loop with `/orc-retro`.** Forecast vs actual per band is exactly
528
524
  the signal retro needs to tune the score→model table. Today retro sees that a
529
- band retried a lot. Now it also sees that the band cost 151% more — and that
525
+ band retried a lot. Now it also sees that one task in the band cost 151% more — and that
530
526
  the overage was mostly *output* tokens, which points straight at retries rather
531
527
  than at big context.
532
528
 
@@ -1,200 +1,200 @@
1
- # Mock run — the `orc` terminal commands
2
-
3
- > Everything here costs **zero model tokens**. It is plain Node reading files.
4
-
5
- The CLI is not a side door to the skills. It owns the parts that must be
6
- deterministic: installing, settings, probes with exit codes, and reading back
7
- run state.
8
-
9
- ---
10
-
11
- ## 1. Install and health
12
-
13
- ```bash
14
- $ orc init
15
- ```
16
-
17
- ```
18
- Installed into /home/rina/shopcart/.claude
19
- skills 30
20
- commands 27
21
- agents 40 (+ MODEL-MAPPING.md)
22
- hooks 3 effort guard · statusline · behavior trace
23
- manifest .claude/orc/install-manifest.json
24
-
25
- Merged into .claude/settings.json (nothing of yours was replaced):
26
- · PreToolUse effort guard
27
- · statusline (you had none — if you had, I would print the snippet instead)
28
-
29
- Next: orc onboarding first-run
30
- ```
31
-
32
- ```bash
33
- $ orc doctor
34
- ```
35
-
36
- ```
37
- orc doctor — /home/rina/shopcart/.claude
38
-
39
- version 0.46.0 project · 0.44.0 GLOBAL ~/.claude
40
- ⚠ the global install is older and can win skill resolution
41
- fix: orc update --global
42
- payload ✓ every shipped file present
43
- orphans 3 files ORC owns are no longer in the payload
44
- fix: orc update --prune (it will name all three first)
45
- settings ✓ guard wired · ✓ statusline wired
46
- trace ✓ pointer valid
47
- diy STALE — compiled before the last update
48
-
49
- 3 findings (exit 1)
50
- ```
51
-
52
- ---
53
-
54
- ## 2. Settings, without spending tokens
55
-
56
- ```bash
57
- $ orc config recommend
58
- ```
59
-
60
- ```
61
- Reading this repo (read-only)…
62
- a real `npm test` script exists → gates have something to check
63
- CI is configured → this repo is shared
64
- 7 contributors in history → coordination cost is real
65
- a project wiki exists → grounding is already cheap
66
-
67
- Recommended profile: paranoid
68
- Apply with: orc config profile paranoid
69
- ```
70
-
71
- ```bash
72
- $ orc config set max_wave_tasks 4
73
- max_wave_tasks: 3 → 4 written to .claude/orc.config.yaml
74
-
75
- $ orc config set opus5_only true
76
- opus5_only: false → true
77
- ⚠ this makes 4 keys inert while it is on:
78
- fable5_enabled, fable5_effort, fable5_roles, rubric_bands_override
79
- They are shown as shadowed in `orc config list`.
80
- ```
81
-
82
- ---
83
-
84
- ## 3. Probes — the exit code is the answer
85
-
86
- These are what the knowledge-gated lanes run before they start. They print one
87
- line and set an exit code, so nothing has to guess.
88
-
89
- ```bash
90
- $ orc pattern status express ; echo "exit $?"
91
- express cached 2026-08-12
92
- exit 0
93
-
94
- $ orc wiki status
95
- wiki AGING 17 docs · worst doc 24 commits behind · edges 10 / 30
96
-
97
- $ orc wiki impact ; echo "exit $?"
98
- 4 of 17 docs TOUCHED, 0 STRUCTURAL → a delta refresh is enough
99
- exit 2
100
-
101
- $ orc diy status ; echo "exit $?"
102
- UNCONFIGURED — no .claude/orc-diy.config.yaml
103
- exit 1
104
- ```
105
-
106
- ---
107
-
108
- ## 4. Reading run state back
109
-
110
- ```bash
111
- $ orc run list
112
- ```
113
-
114
- ```
115
- slug lane state when
116
- refund-visibility orc waiting 2 hours ago
117
- order-notes orc finished yesterday
118
- badge-fix quick finished yesterday
119
- csv-export diy incomplete 4 days ago
120
-
121
- `waiting` = RESUME.md exists. `incomplete` = no finish and no resume file —
122
- that is all the disk proves, so that is all this says.
123
- ```
124
-
125
- ```bash
126
- $ orc resume
127
- ```
128
-
129
- ```
130
- 1 run is waiting:
131
- 1 refund-visibility /orc · phase 3 · wave 2 of 3
132
-
133
- Pick one: > 1
134
-
135
- Paste this into a fresh Claude Code session (already copied to your clipboard):
136
-
137
- | Continue ORC run `refund-visibility`.
138
- | Read .claude/orc/run/refund-visibility/state-of-play.md, then checkpoint.json.
139
- | Resume from the checkpoint phase/wave. Do not re-plan. Do not redo done tasks.
140
- ```
141
-
142
- ```bash
143
- $ orc stats --since 2026-07-01
144
- ```
145
-
146
- ```
147
- Lanes runs Agents dispatches
148
- orc 12 orc-executor-sonnet-4-6-med 41
149
- quick 31 orc-executor-sonnet-5-high 22
150
- mini 9 orc-planner-opus-5-med 21
151
- wiki 3 orc-reviewer-opus-5-med 12
152
- fast 2 orc-wiki-scanner-opus-4-8-high 9
153
-
154
- Downgrades caught: 2 (a subagent answered on a lower model than its name)
155
- Counted from trace filenames. No model ran to produce this.
156
- ```
157
-
158
- ---
159
-
160
- ## 5. Mocked runs, from the terminal
161
-
162
- ```bash
163
- $ orc mock-run list
164
- ```
165
-
166
- ```
167
- mocked runs — 24 documents that ship with ORC
168
-
169
- Start here
170
- the-example-project the shopcart project every mock uses
171
- a-normal-day all six new lanes inside one ordinary run
172
- Build a change
173
- orc the full pipeline, start to ship
174
- orc-ultra advisor + three judges
175
- …
176
-
177
- Read one: orc mock-run show orc-pact
178
- Or open the panel: orc ui ▸ Mocked Skill Use
179
- ```
180
-
181
- ---
182
-
183
- ## 6. What to notice
184
-
185
- - **`update` and `upgrade` are different.** `update` re-copies what is already
186
- in this package (offline). `upgrade` fetches the newest package first, then
187
- copies. Your `.claude/orc.config.yaml` survives both.
188
- - **Every read command speaks `--json`** — exactly one object on stdout and the
189
- same exit code the human output would use. That is what `orc ui` is built on.
190
- - **Empty is an answer.** A command with no results still prints its object and
191
- says so, rather than looking broken.
192
- - **`orc onboarding`** is the whole walkthrough in the terminal, so you never
193
- need this repository open to get started.
194
-
195
- ---
196
-
197
- ## 7. Related
198
-
199
- - The same things with buttons: [`orc ui`](orc-ui.md)
200
- - Full command list: `orc --help`
1
+ # Mock run — the `orc` terminal commands
2
+
3
+ > Everything here costs **zero model tokens**. It is plain Node reading files.
4
+
5
+ The CLI is not a side door to the skills. It owns the parts that must be
6
+ deterministic: installing, settings, probes with exit codes, and reading back
7
+ run state.
8
+
9
+ ---
10
+
11
+ ## 1. Install and health
12
+
13
+ ```bash
14
+ $ orc init
15
+ ```
16
+
17
+ ```
18
+ Installed into /home/rina/shopcart/.claude
19
+ skills 30
20
+ commands 27
21
+ agents 40 (+ MODEL-MAPPING.md)
22
+ hooks 3 effort guard · statusline · behavior trace
23
+ manifest .claude/orc/install-manifest.json
24
+
25
+ Merged into .claude/settings.json (nothing of yours was replaced):
26
+ · PreToolUse effort guard
27
+ · statusline (you had none — if you had, I would print the snippet instead)
28
+
29
+ Next: orc onboarding first-run
30
+ ```
31
+
32
+ ```bash
33
+ $ orc doctor
34
+ ```
35
+
36
+ ```
37
+ orc doctor — /home/rina/shopcart/.claude
38
+
39
+ version 0.46.0 project · 0.44.0 GLOBAL ~/.claude
40
+ ⚠ the global install is older and can win skill resolution
41
+ fix: orc update --global
42
+ payload ✓ every shipped file present
43
+ orphans 3 files ORC owns are no longer in the payload
44
+ fix: orc update --prune (it will name all three first)
45
+ settings ✓ guard wired · ✓ statusline wired
46
+ trace ✓ pointer valid
47
+ diy STALE — compiled before the last update
48
+
49
+ 3 findings (exit 1)
50
+ ```
51
+
52
+ ---
53
+
54
+ ## 2. Settings, without spending tokens
55
+
56
+ ```bash
57
+ $ orc config recommend
58
+ ```
59
+
60
+ ```
61
+ Reading this repo (read-only)…
62
+ a real `npm test` script exists → gates have something to check
63
+ CI is configured → this repo is shared
64
+ 7 contributors in history → coordination cost is real
65
+ a project wiki exists → grounding is already cheap
66
+
67
+ Recommended profile: paranoid
68
+ Apply with: orc config profile paranoid
69
+ ```
70
+
71
+ ```bash
72
+ $ orc config set max_wave_tasks 4
73
+ max_wave_tasks: 3 → 4 written to .claude/orc.config.yaml
74
+
75
+ $ orc config set opus5_only true
76
+ opus5_only: false → true
77
+ ⚠ this makes 4 keys inert while it is on:
78
+ fable5_enabled, fable5_effort, fable5_roles, rubric_bands_override
79
+ They are shown as shadowed in `orc config list`.
80
+ ```
81
+
82
+ ---
83
+
84
+ ## 3. Probes — the exit code is the answer
85
+
86
+ These are what the knowledge-gated lanes run before they start. They print one
87
+ line and set an exit code, so nothing has to guess.
88
+
89
+ ```bash
90
+ $ orc pattern status express ; echo "exit $?"
91
+ express cached 2026-08-12
92
+ exit 0
93
+
94
+ $ orc wiki status
95
+ wiki AGING 17 docs · worst doc 24 commits behind · edges 10 / 30
96
+
97
+ $ orc wiki impact ; echo "exit $?"
98
+ 4 of 17 docs TOUCHED, 0 STRUCTURAL → a delta refresh is enough
99
+ exit 2
100
+
101
+ $ orc diy status ; echo "exit $?"
102
+ UNCONFIGURED — no .claude/orc-diy.config.yaml
103
+ exit 1
104
+ ```
105
+
106
+ ---
107
+
108
+ ## 4. Reading run state back
109
+
110
+ ```bash
111
+ $ orc run list
112
+ ```
113
+
114
+ ```
115
+ slug lane state when
116
+ refund-visibility orc waiting 2 hours ago
117
+ order-notes orc finished yesterday
118
+ badge-fix quick finished yesterday
119
+ csv-export diy incomplete 4 days ago
120
+
121
+ `waiting` = RESUME.md exists. `incomplete` = no finish and no resume file —
122
+ that is all the disk proves, so that is all this says.
123
+ ```
124
+
125
+ ```bash
126
+ $ orc resume
127
+ ```
128
+
129
+ ```
130
+ 1 run is waiting:
131
+ 1 refund-visibility /orc · phase 3 · wave 2 of 3
132
+
133
+ Pick one: > 1
134
+
135
+ Paste this into a fresh Claude Code session (already copied to your clipboard):
136
+
137
+ | Continue ORC run `refund-visibility`.
138
+ | Read .claude/orc/run/refund-visibility/state-of-play.md, then checkpoint.json.
139
+ | Resume from the checkpoint phase/wave. Do not re-plan. Do not redo done tasks.
140
+ ```
141
+
142
+ ```bash
143
+ $ orc stats --since 2026-07-01
144
+ ```
145
+
146
+ ```
147
+ Lanes runs Agents dispatches
148
+ orc 12 orc-executor-sonnet-4-6-med 41
149
+ quick 31 orc-executor-sonnet-5-high 22
150
+ mini 9 orc-planner-opus-5-med 21
151
+ wiki 3 orc-reviewer-opus-5-low 12
152
+ fast 2 orc-wiki-scanner-opus-5-low 9
153
+
154
+ Downgrades caught: 2 (a subagent answered on a lower model than its name)
155
+ Counted from trace filenames. No model ran to produce this.
156
+ ```
157
+
158
+ ---
159
+
160
+ ## 5. Mocked runs, from the terminal
161
+
162
+ ```bash
163
+ $ orc mock-run list
164
+ ```
165
+
166
+ ```
167
+ mocked runs — 24 documents that ship with ORC
168
+
169
+ Start here
170
+ the-example-project the shopcart project every mock uses
171
+ a-normal-day all six new lanes inside one ordinary run
172
+ Build a change
173
+ orc the full pipeline, start to ship
174
+ orc-ultra advisor + three judges
175
+ …
176
+
177
+ Read one: orc mock-run show orc-pact
178
+ Or open the panel: orc ui ▸ Mocked Skill Use
179
+ ```
180
+
181
+ ---
182
+
183
+ ## 6. What to notice
184
+
185
+ - **`update` and `upgrade` are different.** `update` re-copies what is already
186
+ in this package (offline). `upgrade` fetches the newest package first, then
187
+ copies. Your `.claude/orc.config.yaml` survives both.
188
+ - **Every read command speaks `--json`** — exactly one object on stdout and the
189
+ same exit code the human output would use. That is what `orc ui` is built on.
190
+ - **Empty is an answer.** A command with no results still prints its object and
191
+ says so, rather than looking broken.
192
+ - **`orc onboarding`** is the whole walkthrough in the terminal, so you never
193
+ need this repository open to get started.
194
+
195
+ ---
196
+
197
+ ## 7. Related
198
+
199
+ - The same things with buttons: [`orc ui`](orc-ui.md)
200
+ - Full command list: `orc --help`