@azure-id/orc 1.9.1 → 2.0.2

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 (224) hide show
  1. package/CHANGELOG.md +390 -0
  2. package/README-id.md +20 -36
  3. package/README.md +24 -34
  4. package/bin/build-agents.js +206 -109
  5. package/bin/cli.js +760 -62
  6. package/bin/gotcha-import.js +1081 -0
  7. package/bin/gotcha.js +1286 -0
  8. package/bin/graph-query.js +1 -1
  9. package/bin/graph.js +717 -717
  10. package/bin/habit.js +1453 -0
  11. package/bin/mockrun-catalog.js +281 -276
  12. package/bin/onboarding-content.js +4 -4
  13. package/bin/pricing.json +207 -200
  14. package/bin/run-undo.js +398 -0
  15. package/bin/trace-write.js +657 -0
  16. package/bin/verify-contracts.js +527 -81
  17. package/bin/verify-package.js +58 -11
  18. package/bin/webui/api.js +26 -0
  19. package/bin/webui/app.html +239 -232
  20. package/bin/webui/css/00-tokens.css +110 -92
  21. package/bin/webui/css/04-motion.css +249 -152
  22. package/bin/webui/css/06-responsive.css +203 -178
  23. package/bin/webui/css/panels/behaviour.css +205 -0
  24. package/bin/webui/css/panels/knowledge.css +563 -116
  25. package/bin/webui/fixtures/behaviour.js +532 -0
  26. package/bin/webui/fixtures/extra.js +2036 -2036
  27. package/bin/webui/fixtures/hookui.js +5 -5
  28. package/bin/webui/fixtures/index.js +34 -0
  29. package/bin/webui/fixtures/knowledge.js +7 -1
  30. package/bin/webui/fixtures/settings.js +305 -305
  31. package/bin/webui/fixtures/stats.js +16 -0
  32. package/bin/webui/i18n/en/behaviour.json +143 -0
  33. package/bin/webui/i18n/en/knowledge.json +117 -2
  34. package/bin/webui/i18n/en/nav.json +25 -24
  35. package/bin/webui/i18n/en/tour.json +37 -35
  36. package/bin/webui/i18n/id/behaviour.json +143 -0
  37. package/bin/webui/i18n/id/knowledge.json +117 -2
  38. package/bin/webui/i18n/id/nav.json +25 -24
  39. package/bin/webui/i18n/id/tour.json +37 -35
  40. package/bin/webui/js/01-i18n.js +155 -154
  41. package/bin/webui/js/90-tour.js +498 -494
  42. package/bin/webui/js/91-shortcuts.js +126 -126
  43. package/bin/webui/js/99-boot.js +121 -118
  44. package/bin/webui/js/panels/behaviour.js +1022 -0
  45. package/bin/webui/js/panels/knowledge.js +552 -7
  46. package/bin/webui/js/panels/overview.js +13 -4
  47. package/mock-run/INDEX.md +109 -107
  48. package/mock-run/context-combiner.md +100 -100
  49. package/mock-run/gotcha-import.md +118 -0
  50. package/mock-run/habits.md +129 -0
  51. package/mock-run/orc-budget.md +534 -534
  52. package/mock-run/orc-challenge-council.md +262 -262
  53. package/mock-run/orc-quick.md +6 -1
  54. package/mock-run/orc-ultra.md +103 -103
  55. package/package.json +1 -1
  56. package/templates/agents/MODEL-MAPPING.md +49 -49
  57. package/templates/agents/orc-advisor-opus-5-xhigh.md +50 -56
  58. package/templates/agents/orc-analyze-mini-opus-5-med.md +55 -60
  59. package/templates/agents/orc-analyze-mini-sonnet-5-high.md +55 -58
  60. package/templates/agents/orc-challenge-advisor-opus-5-med.md +75 -75
  61. package/templates/agents/orc-challenge-contrarian-opus-5-high.md +110 -110
  62. package/templates/agents/orc-challenge-executor-opus-5-med.md +114 -114
  63. package/templates/agents/orc-challenge-expansionist-opus-5-med.md +112 -112
  64. package/templates/agents/orc-challenge-judge-opus-5-high.md +132 -132
  65. package/templates/agents/orc-challenge-outsider-opus-5-low.md +109 -109
  66. package/templates/agents/orc-challenge-principles-opus-5-high.md +109 -109
  67. package/templates/agents/orc-challenge-reader-opus-5-low.md +90 -90
  68. package/templates/agents/orc-claude-writer-opus-4-8-high.md +48 -53
  69. package/templates/agents/orc-claude-writer-opus-5-med.md +48 -55
  70. package/templates/agents/orc-context-combiner-opus-5-high.md +78 -88
  71. package/templates/agents/orc-doc-checker-opus-5-low.md +108 -108
  72. package/templates/agents/orc-doc-writer-opus-5-med.md +134 -134
  73. package/templates/agents/orc-executor-haiku-4-5.md +14 -6
  74. package/templates/agents/orc-executor-opus-4-7-high.md +14 -6
  75. package/templates/agents/orc-executor-opus-4-7-med.md +14 -6
  76. package/templates/agents/orc-executor-opus-4-8-high.md +14 -6
  77. package/templates/agents/orc-executor-opus-5-high.md +15 -7
  78. package/templates/agents/orc-executor-opus-5-low.md +15 -7
  79. package/templates/agents/orc-executor-opus-5-med.md +15 -7
  80. package/templates/agents/orc-executor-sonnet-4-6-high.md +14 -6
  81. package/templates/agents/orc-executor-sonnet-4-6-med.md +14 -6
  82. package/templates/agents/orc-executor-sonnet-5-high.md +14 -6
  83. package/templates/agents/orc-graph-noter-sonnet-4-6-med.md +1 -10
  84. package/templates/agents/orc-judge-opus-5-xhigh.md +81 -85
  85. package/templates/agents/orc-learn-writer-opus-5-low.md +67 -73
  86. package/templates/agents/orc-pattern-codifier-opus-5-med.md +58 -65
  87. package/templates/agents/orc-pattern-codifier-sonnet-5-high.md +58 -63
  88. package/templates/agents/orc-planner-mini-opus-5-med.md +4 -7
  89. package/templates/agents/orc-planner-mini-sonnet-5-high.md +2 -3
  90. package/templates/agents/orc-planner-opus-5-med.md +157 -160
  91. package/templates/agents/orc-recon-opus-5-low.md +3 -10
  92. package/templates/agents/orc-recon-sonnet-4-6-med.md +1 -8
  93. package/templates/agents/orc-retro-opus-5-med.md +8 -10
  94. package/templates/agents/orc-retro-sonnet-5-high.md +6 -7
  95. package/templates/agents/orc-reviewer-opus-5-med.md +96 -60
  96. package/templates/agents/orc-scout-opus-5-low.md +35 -40
  97. package/templates/agents/orc-scout-sonnet-4-6-high.md +35 -39
  98. package/templates/agents/orc-system-analyst-opus-5-high.md +115 -120
  99. package/templates/agents/orc-test-author-opus-5-med.md +70 -71
  100. package/templates/agents/orc-test-designer-opus-5-high.md +158 -158
  101. package/templates/agents/orc-test-interpreter-opus-5-low.md +130 -130
  102. package/templates/agents/orc-trace-writer-haiku-4-5.md +3 -7
  103. package/templates/agents/orc-verifier-opus-5-med.md +77 -69
  104. package/templates/agents/orc-wiki-scanner-opus-4-8-high.md +74 -79
  105. package/templates/agents/orc-wiki-scanner-opus-5-med.md +74 -81
  106. package/templates/agents/orc-wiki-scanner-sonnet-5-high.md +97 -106
  107. package/templates/commands/orc-analyze.md +13 -21
  108. package/templates/commands/orc-fast.md +10 -15
  109. package/templates/commands/orc-poly.md +12 -21
  110. package/templates/commands/orc-pr-driver.md +11 -30
  111. package/templates/commands/orc-pr-setup.md +10 -31
  112. package/templates/commands/orc-route.md +11 -41
  113. package/templates/commands/orc-test.md +5 -60
  114. package/templates/commands/orc-ultra.md +17 -17
  115. package/templates/commands/orc-verify.md +11 -11
  116. package/templates/hooks/README.md +36 -2
  117. package/templates/hooks/orc-effort-guard.js +178 -178
  118. package/templates/hooks/orc-session-hook.js +264 -0
  119. package/templates/hooks/orc-statusline.js +9 -7
  120. package/templates/skills/_shared/README.md +9 -0
  121. package/templates/skills/_shared/code-graph.md +48 -56
  122. package/templates/skills/_shared/config-precedence.md +200 -198
  123. package/templates/skills/_shared/extra-dispatch.md +1331 -1346
  124. package/templates/skills/_shared/gotchas.md +228 -177
  125. package/templates/skills/_shared/habits.md +101 -0
  126. package/templates/skills/_shared/lane-contract.md +84 -0
  127. package/templates/skills/_shared/opus5-only.md +8 -8
  128. package/templates/skills/_shared/phases/README.md +142 -83
  129. package/templates/skills/_shared/phases/analyst-gates.md +125 -136
  130. package/templates/skills/_shared/phases/execution.md +8 -14
  131. package/templates/skills/_shared/phases/house-rules.md +27 -32
  132. package/templates/skills/_shared/phases/intake.md +127 -133
  133. package/templates/skills/_shared/phases/mock-example.md +46 -56
  134. package/templates/skills/_shared/phases/plan-handoff.md +91 -97
  135. package/templates/skills/_shared/phases/planning.md +7 -17
  136. package/templates/skills/_shared/phases/preflight.md +19 -42
  137. package/templates/skills/_shared/phases/review.md +23 -27
  138. package/templates/skills/_shared/phases/rules.md +18 -42
  139. package/templates/skills/_shared/phases/scoring.md +55 -65
  140. package/templates/skills/_shared/phases/security-checklist.md +46 -50
  141. package/templates/skills/_shared/phases/security.md +45 -55
  142. package/templates/skills/_shared/phases/ship.md +6 -15
  143. package/templates/skills/_shared/phases/stop-resume.md +2 -5
  144. package/templates/skills/_shared/phases/summary.md +73 -48
  145. package/templates/skills/_shared/phases/testgen.md +41 -51
  146. package/templates/skills/_shared/phases/trace-verbs.md +433 -0
  147. package/templates/skills/_shared/phases/trace.md +136 -367
  148. package/templates/skills/_shared/phases/verify.md +62 -70
  149. package/templates/skills/_shared/phases/wave-grouping.md +128 -133
  150. package/templates/skills/_shared/phases/wiki-consult.md +10 -6
  151. package/templates/skills/_shared/read-ladder.md +2 -55
  152. package/templates/skills/_shared/return-validation.md +17 -70
  153. package/templates/skills/_shared/review-slice.md +79 -0
  154. package/templates/skills/_shared/smoke-gate.md +46 -28
  155. package/templates/skills/context-combiner/SKILL.md +16 -45
  156. package/templates/skills/context-combiner/schemas/combined-report.md +78 -78
  157. package/templates/skills/orc/README.md +2 -2
  158. package/templates/skills/orc/SKILL.md +41 -69
  159. package/templates/skills/orc/config.md +9 -9
  160. package/templates/skills/orc/examples/full-run-mock.md +73 -73
  161. package/templates/skills/orc/references/effort-and-mode.md +222 -222
  162. package/templates/skills/orc/references/pattern-gate.md +89 -89
  163. package/templates/skills/orc/references/phases/intake.md +41 -47
  164. package/templates/skills/orc/references/phases/integration.md +13 -19
  165. package/templates/skills/orc/references/preflight-report.md +10 -11
  166. package/templates/skills/orc/references/ultra-mode.md +11 -9
  167. package/templates/skills/orc/subskills/orc-execution/SKILL.md +27 -73
  168. package/templates/skills/orc/subskills/orc-execution/core.md +12 -99
  169. package/templates/skills/orc/subskills/orc-execution/subagent.md +14 -13
  170. package/templates/skills/orc/subskills/orc-planner/SKILL.md +2 -2
  171. package/templates/skills/orc/subskills/orc-planner-mini/SKILL.md +121 -121
  172. package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +35 -76
  173. package/templates/skills/orc/subskills/orc-review-verify/core.md +52 -135
  174. package/templates/skills/orc/subskills/orc-review-verify/subagent.md +7 -7
  175. package/templates/skills/orc/subskills/orc-testgen/SKILL.md +34 -45
  176. package/templates/skills/orc/subskills/orc-testgen/core.md +20 -59
  177. package/templates/skills/orc/subskills/orc-testgen/subagent.md +7 -7
  178. package/templates/skills/orc-advisor/SKILL.md +56 -60
  179. package/templates/skills/orc-analyze/SKILL.md +32 -68
  180. package/templates/skills/orc-analyze/examples/analyze-mock.md +42 -42
  181. package/templates/skills/orc-analyze/schemas/report-audit.md +84 -83
  182. package/templates/skills/orc-analyze/schemas/report-prose.md +64 -63
  183. package/templates/skills/orc-analyze/schemas/report-requirement.md +78 -78
  184. package/templates/skills/orc-analyze-mini/SKILL.md +35 -70
  185. package/templates/skills/orc-challenge/README.md +142 -142
  186. package/templates/skills/orc-challenge/examples/council-full-roster.md +273 -273
  187. package/templates/skills/orc-challenge/references/council.md +315 -315
  188. package/templates/skills/orc-challenge/references/intake.md +171 -171
  189. package/templates/skills/orc-claude/SKILL.md +14 -14
  190. package/templates/skills/orc-diy/README.md +174 -143
  191. package/templates/skills/orc-diy/SKILL.md +23 -74
  192. package/templates/skills/orc-diy/references/blocks/pattern.md +18 -18
  193. package/templates/skills/orc-diy/references/flow-schema.md +1 -1
  194. package/templates/skills/orc-doc/README.md +229 -229
  195. package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +325 -325
  196. package/templates/skills/orc-doc/references/chunking.md +527 -527
  197. package/templates/skills/orc-fast/SKILL.md +45 -73
  198. package/templates/skills/orc-judge/SKILL.md +77 -82
  199. package/templates/skills/orc-learn/SKILL.md +14 -14
  200. package/templates/skills/orc-learn/examples/learn-run-mock.md +61 -61
  201. package/templates/skills/orc-mini/SKILL.md +65 -113
  202. package/templates/skills/orc-pattern/SKILL.md +27 -48
  203. package/templates/skills/orc-poly/SKILL.md +32 -61
  204. package/templates/skills/orc-pr-driver/SKILL.md +25 -51
  205. package/templates/skills/orc-pr-driver/references/green-gate.md +113 -105
  206. package/templates/skills/orc-pr-setup/SKILL.md +20 -45
  207. package/templates/skills/orc-quick/README.md +43 -2
  208. package/templates/skills/orc-quick/SKILL.md +76 -107
  209. package/templates/skills/orc-quick/references/dispatch-gate.md +16 -5
  210. package/templates/skills/orc-quick/references/gh-mode.md +48 -1
  211. package/templates/skills/orc-quick/references/look.md +3 -1
  212. package/templates/skills/orc-retro/SKILL.md +19 -18
  213. package/templates/skills/orc-retro/examples/retro-mock.md +1 -1
  214. package/templates/skills/orc-route/SKILL.md +25 -45
  215. package/templates/skills/orc-test/SKILL.md +16 -37
  216. package/templates/skills/orc-verify/SKILL.md +21 -39
  217. package/templates/skills/orc-verify/examples/verify-mock.md +33 -33
  218. package/templates/skills/orc-wait/SKILL.md +156 -163
  219. package/templates/skills/orc-wiki/references/extra.md +1 -1
  220. package/templates/skills/orc-wiki/references/phases/phase-0.md +1 -6
  221. package/templates/skills/orc-wiki/references/phases/phase-1.md +1 -6
  222. package/templates/skills/orc-wiki/references/phases/phase-2.md +1 -6
  223. package/templates/skills/orc-wiki/references/phases/phase-3.md +1 -6
  224. package/templates/skills/orc-wiki/references/phases/phase-3c.md +1 -6
@@ -1,103 +1,103 @@
1
- # Mock run — `/orc-ultra`
2
-
3
- > The same pipeline as `/orc`, plus an advisor at the start and three judges
4
- > along the way. It costs the most. Use it when a mistake is expensive.
5
-
6
- ---
7
-
8
- ## 1. What it does
9
-
10
- `/orc-ultra` adds four things to a normal `/orc` run:
11
-
12
- | Extra | When | What it is for |
13
- |---|---|---|
14
- | **Advisor** | before the analyst | Writes a brief: real risks, other ways to do it, a **security section**, and a **rubric** — the list of things a correct answer must get right here |
15
- | **Judge (analysis)** | after the analyst | Scores the analysis against that rubric |
16
- | **Judge (plan)** | after the planner | Same, for the plan |
17
- | **Judge (implementation)** | after verify | Did we build what was asked, at the quality asked |
18
-
19
- It also forces on: deep analysis, code patterns, test authoring, the security
20
- pass, and a floor on executor models. You do not configure any of that — the
21
- lane sets it for this run only and never writes it to your settings.
22
-
23
- ---
24
-
25
- ## 2. The run
26
-
27
- Rina is changing how refunds are calculated. Money code.
28
-
29
- ```
30
- > /orc-ultra rewrite the refund amount calculation to support partial refunds
31
- ```
32
-
33
- ### Phase U0 — Advisor (runs once, before anything else)
34
-
35
- ```
36
- Dispatching orc-advisor-opus-5-xhigh …
37
- returned as: claude-opus-5 / xhigh ✓
38
-
39
- ADVISORY BRIEF — partial refunds
40
-
41
- Risks in this domain
42
- · Rounding. A cent lost per refund is a real bug, not a rounding style.
43
- · Double refunds. Retry + no idempotency key = money out twice.
44
- · Currency. api/payments/ stores minor units; web/ formats major units.
45
-
46
- Security section (always written)
47
- · The refund endpoint must re-check ownership. Today it checks the session
48
- only — api/refunds/create.ts:31.
49
-
50
- RUBRIC — what a correct answer must get right here
51
- R1 amounts are integers in minor units end to end
52
- R2 a partial refund can never exceed the remaining refundable amount
53
- R3 the operation is idempotent per refund request id
54
- R4 every branch has a test with a real number in it
55
-
56
- OPEN QUESTIONS (answer together, one round)
57
- Q1 Can one order have several partial refunds? default: yes
58
- Q2 Rounding on a split refund — who gets the cent? default: the last refund
59
-
60
- > Q1 yes. Q2 the customer gets the cent, not us.
61
- ```
62
-
63
- ### Then the normal pipeline, with gates
64
-
65
- ```
66
- Analyst (deep, 3 scouts) → done
67
- Judge (gate=analysis): APPROVE with 1 note
68
- R2 is not evidenced anywhere in the analysis. Cited section added.
69
-
70
- Planner → 6 tasks
71
- Judge (gate=plan): REVISE
72
- "T3 changes the refund total but has no test task. R4 fails."
73
- → planner re-ran once → TDD task added → APPROVE
74
-
75
- Build → review → verify → PASSED
76
- Judge (gate=implementation): APPROVE
77
- R1 ✓ minor units, checked at refunds/calc.ts:18 and web/format.ts:9
78
- R2 ✓ test "cannot refund more than remaining" — a real number, 1250
79
- R3 ✓ idempotency key on the request row
80
- R4 ✓ 9 new tests, all with numbers
81
- ```
82
-
83
- ---
84
-
85
- ## 3. What to notice
86
-
87
- - **The judge can send work back, but only twice.** A REVISE loop is capped at
88
- 2 rounds. After that it must APPROVE, ESCALATE to you, or stop. It can never
89
- argue with itself forever.
90
- - **A judge never fixes anything.** It reads and it votes. The author fixes.
91
- - **A judge never re-opens an earlier gate.** The plan judge does not re-argue
92
- the analysis.
93
- - **The rubric came before the work.** That is the trick — the standard is
94
- written by someone who has not seen the answer yet.
95
- - **`ultra_mode` is not a setting.** It exists only inside this command. `/orc`
96
- and `/orc-mini` never turn it on.
97
-
98
- ---
99
-
100
- ## 4. Related
101
-
102
- - The normal pipeline: [`/orc`](orc.md)
103
- - What it will cost first: [`/orc-budget`](orc-budget.md)
1
+ # Mock run — `/orc-ultra`
2
+
3
+ > The same pipeline as `/orc`, plus an advisor at the start and three judges
4
+ > along the way. It costs the most. Use it when a mistake is expensive.
5
+
6
+ ---
7
+
8
+ ## 1. What it does
9
+
10
+ `/orc-ultra` adds four things to a normal `/orc` run:
11
+
12
+ | Extra | When | What it is for |
13
+ |---|---|---|
14
+ | **Advisor** | before the analyst | Writes a brief: real risks, other ways to do it, a **security section**, and a **rubric** — the list of things a correct answer must get right here |
15
+ | **Judge (analysis)** | after the analyst | Scores the analysis against that rubric |
16
+ | **Judge (plan)** | after the planner | Same, for the plan |
17
+ | **Judge (implementation)** | after verify | Did we build what was asked, at the quality asked |
18
+
19
+ It also forces on: deep analysis, code patterns, test authoring, the security
20
+ pass, and a floor on executor models. You do not configure any of that — the
21
+ lane sets it for this run only and never writes it to your settings.
22
+
23
+ ---
24
+
25
+ ## 2. The run
26
+
27
+ Rina is changing how refunds are calculated. Money code.
28
+
29
+ ```
30
+ > /orc-ultra rewrite the refund amount calculation to support partial refunds
31
+ ```
32
+
33
+ ### Phase U0 — Advisor (runs once, before anything else)
34
+
35
+ ```
36
+ Dispatching orc-advisor-opus-5-xhigh …
37
+ returned as: claude-opus-5-5 / xhigh ✓
38
+
39
+ ADVISORY BRIEF — partial refunds
40
+
41
+ Risks in this domain
42
+ · Rounding. A cent lost per refund is a real bug, not a rounding style.
43
+ · Double refunds. Retry + no idempotency key = money out twice.
44
+ · Currency. api/payments/ stores minor units; web/ formats major units.
45
+
46
+ Security section (always written)
47
+ · The refund endpoint must re-check ownership. Today it checks the session
48
+ only — api/refunds/create.ts:31.
49
+
50
+ RUBRIC — what a correct answer must get right here
51
+ R1 amounts are integers in minor units end to end
52
+ R2 a partial refund can never exceed the remaining refundable amount
53
+ R3 the operation is idempotent per refund request id
54
+ R4 every branch has a test with a real number in it
55
+
56
+ OPEN QUESTIONS (answer together, one round)
57
+ Q1 Can one order have several partial refunds? default: yes
58
+ Q2 Rounding on a split refund — who gets the cent? default: the last refund
59
+
60
+ > Q1 yes. Q2 the customer gets the cent, not us.
61
+ ```
62
+
63
+ ### Then the normal pipeline, with gates
64
+
65
+ ```
66
+ Analyst (deep, 3 scouts) → done
67
+ Judge (gate=analysis): APPROVE with 1 note
68
+ R2 is not evidenced anywhere in the analysis. Cited section added.
69
+
70
+ Planner → 6 tasks
71
+ Judge (gate=plan): REVISE
72
+ "T3 changes the refund total but has no test task. R4 fails."
73
+ → planner re-ran once → TDD task added → APPROVE
74
+
75
+ Build → review → verify → PASSED
76
+ Judge (gate=implementation): APPROVE
77
+ R1 ✓ minor units, checked at refunds/calc.ts:18 and web/format.ts:9
78
+ R2 ✓ test "cannot refund more than remaining" — a real number, 1250
79
+ R3 ✓ idempotency key on the request row
80
+ R4 ✓ 9 new tests, all with numbers
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 3. What to notice
86
+
87
+ - **The judge can send work back, but only twice.** A REVISE loop is capped at
88
+ 2 rounds. After that it must APPROVE, ESCALATE to you, or stop. It can never
89
+ argue with itself forever.
90
+ - **A judge never fixes anything.** It reads and it votes. The author fixes.
91
+ - **A judge never re-opens an earlier gate.** The plan judge does not re-argue
92
+ the analysis.
93
+ - **The rubric came before the work.** That is the trick — the standard is
94
+ written by someone who has not seen the answer yet.
95
+ - **`ultra_mode` is not a setting.** It exists only inside this command. `/orc`
96
+ and `/orc-mini` never turn it on.
97
+
98
+ ---
99
+
100
+ ## 4. Related
101
+
102
+ - The normal pipeline: [`/orc`](orc.md)
103
+ - What it will cost first: [`/orc-budget`](orc-budget.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-id/orc",
3
- "version": "1.9.1",
3
+ "version": "2.0.2",
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"
@@ -11,8 +11,8 @@ model is pinned in frontmatter, not requested in prose. No agent is multi-role.
11
11
  | [30,40) | orc-executor-sonnet-4-6-med | claude-sonnet-4-6 | medium |
12
12
  | [40,55) | orc-executor-sonnet-4-6-high | claude-sonnet-4-6 | high |
13
13
  | [55,65) | orc-executor-sonnet-5-high | claude-sonnet-5 | high |
14
- | [65,90) | orc-executor-opus-5-low | claude-opus-5 | low |
15
- | [90,100] | orc-executor-opus-5-med | claude-opus-5 | medium |
14
+ | [65,90) | orc-executor-opus-5-low | claude-opus-5-5 | low |
15
+ | [90,100] | orc-executor-opus-5-med | claude-opus-5-5 | medium |
16
16
 
17
17
  Score→executor mapping lives in config.md (one canonical 6-band table;
18
18
  `rubric_bands` is granularity only, not a preset selector).
@@ -20,7 +20,7 @@ Score→executor mapping lives in config.md (one canonical 6-band table;
20
20
  **Executors no band names — they still ship.**
21
21
  `orc-executor-opus-4-7-med`, `orc-executor-opus-4-7-high`,
22
22
  `orc-executor-opus-4-8-high` and `orc-executor-opus-5-high` are still generated
23
- and still installed. Since v1.0.0 they are reachable only when a user names one
23
+ and still installed. They are reachable only when a user names one
24
24
  explicitly: `rubric_bands_override`, `orc diy`'s `fixed_executor`, or
25
25
  `extra_fallback_agent`. They are not deleted because a table change is not a
26
26
  model change, and an agent's model change is always a RENAME.
@@ -29,45 +29,45 @@ model change, and an agent's model change is always a RENAME.
29
29
 
30
30
  | Agent | Model | Effort | Role |
31
31
  |-------|-------|--------|------|
32
- | orc-system-analyst-opus-5-high | claude-opus-5 | high | doc analysis |
33
- | orc-planner-opus-5-med | claude-opus-5 | medium | planning |
34
- | orc-reviewer-opus-5-med | claude-opus-5 | medium | review |
35
- | orc-verifier-opus-5-med | claude-opus-5 | medium | verify (+ /orc-verify) |
36
- | orc-test-author-opus-5-med | claude-opus-5 | medium | test authoring (opt-in Phase 6.5; writes tests, never runs) |
32
+ | orc-system-analyst-opus-5-high | claude-opus-5-5 | high | doc analysis |
33
+ | orc-planner-opus-5-med | claude-opus-5-5 | medium | planning |
34
+ | orc-reviewer-opus-5-med | claude-opus-5-5 | medium | review |
35
+ | orc-verifier-opus-5-med | claude-opus-5-5 | medium | verify (+ /orc-verify) |
36
+ | orc-test-author-opus-5-med | claude-opus-5-5 | medium | test authoring (opt-in Phase 6.5; writes tests, never runs) |
37
37
  | orc-analyze-mini-sonnet-5-high | claude-sonnet-5 | high | mini analysis |
38
38
  | orc-planner-mini-sonnet-5-high | claude-sonnet-5 | high | mini planning |
39
39
  | orc-scout-sonnet-4-6-high | claude-sonnet-4-6 | high | deep-analysis code scout (read-only) |
40
40
  | orc-recon-sonnet-4-6-med | claude-sonnet-4-6 | medium | answer ONE repository question with file:line evidence (/orc-quick read-only entries; never edits, never plans) |
41
- | orc-recon-opus-5-low | claude-opus-5 | low | the same contract for a WIDE or SUBTLE question — a blast radius across areas, a defect with no obvious anchor |
42
- | orc-context-combiner-opus-5-high | claude-opus-5 | high | combine 2+ related analyses (full lane) |
41
+ | orc-recon-opus-5-low | claude-opus-5-5 | low | the same contract for a WIDE or SUBTLE question — a blast radius across areas, a defect with no obvious anchor |
42
+ | orc-context-combiner-opus-5-high | claude-opus-5-5 | high | combine 2+ related analyses (full lane) |
43
43
  | orc-pattern-codifier-sonnet-5-high | claude-sonnet-5 | high | reconcile per-language playbook vs. project files → cached code-pattern (opt-in) |
44
44
  | orc-retro-sonnet-5-high | claude-sonnet-5 | high | mine behavior traces → calibration report (/orc-retro; read-only) |
45
- | orc-wiki-scanner-opus-4-8-high | claude-opus-4-8 | high | scan ONE wiki coverage area → evidence-anchored doc body + crosslink tags (/orc-wiki only; read-only against the project). The DEEP half of the v0.46.0 tier ladder: first scan · STRUCTURAL · wide delta · a new exported symbol |
45
+ | orc-wiki-scanner-opus-4-8-high | claude-opus-4-8 | high | scan ONE wiki coverage area → evidence-anchored doc body + crosslink tags (/orc-wiki only; read-only against the project). The DEEP half of the tier ladder: first scan · STRUCTURAL · wide delta · a new exported symbol |
46
46
  | orc-wiki-scanner-sonnet-5-high | claude-sonnet-5 | high | the LIGHT half of the same ladder — an existing doc whose covered files moved by a small, no-new-surface delta. IDENTICAL return contract; it escalates with `needs_context` rather than under-delivering. Never used for a first scan |
47
- | orc-executor-opus-5-med | claude-opus-5 | medium | the `[90,100]` band in BOTH tables |
48
- | orc-executor-opus-5-low | claude-opus-5 | low | the default table's `[65,90)`, `opus5_only`'s `[0,90)`, and the forced mini/fast executor |
49
- | orc-advisor-opus-5-xhigh | claude-opus-5 | xhigh | ultra Phase U0 advisory brief + rubric + clarification questions (read-only; /orc-ultra only) |
50
- | orc-judge-opus-5-xhigh | claude-opus-5 | xhigh | ultra judgment gates — analysis / plan / implementation (read-only; /orc-ultra only) |
51
- | orc-learn-writer-opus-5-low | claude-opus-5 | low | deepen ONE feature → learning-docs/<slug>/ (/orc-learn only; git-ignored output) |
47
+ | orc-executor-opus-5-med | claude-opus-5-5 | medium | the `[90,100]` band in BOTH tables |
48
+ | orc-executor-opus-5-low | claude-opus-5-5 | low | the default table's `[65,90)`, `opus5_only`'s `[0,90)`, and the forced mini/fast executor |
49
+ | orc-advisor-opus-5-xhigh | claude-opus-5-5 | xhigh | ultra Phase U0 advisory brief + rubric + clarification questions (read-only; /orc-ultra only) |
50
+ | orc-judge-opus-5-xhigh | claude-opus-5-5 | xhigh | ultra judgment gates — analysis / plan / implementation (read-only; /orc-ultra only) |
51
+ | orc-learn-writer-opus-5-low | claude-opus-5-5 | low | deepen ONE feature → learning-docs/<slug>/ (/orc-learn only; git-ignored output) |
52
52
  | orc-claude-writer-opus-4-8-high | claude-opus-4-8 | high | scan repo → write/refresh the local CLAUDE.md (/orc-claude only; zero questions) |
53
- | orc-challenge-judge-opus-5-high | claude-opus-5 | high | grade ONE finished artifact against a FROZEN goal + template (/orc-challenge only; read-only). It reports findings and can never declare a pass — `orc challenge record` computes that |
54
- | orc-challenge-advisor-opus-5-med | claude-opus-5 | medium | turn a FAILED verdict into a remediation strategy — root-cause groups, an order with reasons, the decisions that are not defects (/orc-challenge only; read-only, no prose, no diffs) |
55
- | orc-challenge-reader-opus-5-low | claude-opus-5 | low | the COLD READ: answer questions from ONE artifact with `Read` and nothing else (/orc-challenge only). LOW ON PURPOSE — a harder-thinking reader reasons around the gaps D4 exists to find, so a stronger configuration is a worse instrument |
56
- | orc-challenge-contrarian-opus-5-high | claude-opus-5 | high | THE COUNCIL (v0.49.1): start from "this has a fatal flaw" and go find it — load-bearing claim, then unhappy path, then second-order (/orc-challenge only; read-only). HIGH IS THE INSTRUMENT: a shallow contrarian returns the three surface complaints the free lint already caught |
57
- | orc-challenge-outsider-opus-5-low | claude-opus-5 | low | THE COUNCIL: what does this page assume you already know? The TIGHTEST slice in the lane — the artifact and this protocol, `Read` only, no goal, no audience, no template (/orc-challenge only). LOW IS A MEASUREMENT, NOT A COST CHOICE: a harder-thinking outsider reasons its way around an unexplained acronym and reports the document is fine. NOTHING MAY UPGRADE IT |
58
- | orc-challenge-executor-opus-5-med | claude-opus-5 | medium | THE COUNCIL: can this be started on Monday, and where is the first step? Returns D6/D2 findings plus the literal `monday_morning` list — or the point at which writing it becomes impossible (/orc-challenge only; read-only, `Bash` to CHECK a prerequisite, never to change anything). Not an ORC build executor — it writes nothing |
59
- | orc-challenge-principles-opus-5-high | claude-opus-5 | high | THE COUNCIL: the ONLY role allowed to say the frozen goal is wrong. Returns `premise` objects — no severity, never in findings[], never near the pass gate — and its report NEVER reaches the judge (/orc-challenge only; read-only). HIGH because rebuilding a problem statement from the ground up is the deepest reasoning in the lane |
60
- | orc-challenge-expansionist-opus-5-med | claude-opus-5 | medium | THE COUNCIL: the only lens not looking for a defect — what is being undervalued? Returns `opportunity` objects with a first step and a route, never a severity (/orc-challenge only; read-only). MEDIUM because it is pattern work against a concrete artifact, the same class as the advisor |
61
- | orc-doc-writer-opus-5-med | claude-opus-5 | medium | write ONE part file of a long document from a slice of sections (/orc-doc only). It writes to `.work/<id>.md` and NEVER opens document.md — that is what makes parallel writing safe here |
62
- | orc-doc-checker-opus-5-low | claude-opus-5 | low | read ONE LINE RANGE of a document and report anchored findings (/orc-doc only; read-only). LOW ON PURPOSE — the same reasoning that pins the challenge cold reader: a harder-thinking checker reasons its way past a gap a real reader would trip on |
63
- | orc-test-designer-opus-5-high | claude-opus-5 | high | fill the GAPS the free case matrix could not derive, and author the front-end journey SCRIPT (/orc-test only). HIGH IS THE INSTRUMENT: a shallow designer returns the three obvious cases the deterministic expansion already covered, which is the one output that costs money and adds nothing |
64
- | orc-test-interpreter-opus-5-low | claude-opus-5 | low | read ONLY a run’s evidence files and say whether what is in them is a finding (/orc-test only; SEALED slice, `Read` and nothing else). LOW IS A MEASUREMENT CHOICE, NOT A COST ONE, and nothing may ever upgrade it: a harder-thinking interpreter reasons its way to why a leaked stack trace is probably fine in staging |
53
+ | orc-challenge-judge-opus-5-high | claude-opus-5-5 | high | grade ONE finished artifact against a FROZEN goal + template (/orc-challenge only; read-only). It reports findings and can never declare a pass — `orc challenge record` computes that |
54
+ | orc-challenge-advisor-opus-5-med | claude-opus-5-5 | medium | turn a FAILED verdict into a remediation strategy — root-cause groups, an order with reasons, the decisions that are not defects (/orc-challenge only; read-only, no prose, no diffs) |
55
+ | orc-challenge-reader-opus-5-low | claude-opus-5-5 | low | the COLD READ: answer questions from ONE artifact with `Read` and nothing else (/orc-challenge only). LOW ON PURPOSE — a harder-thinking reader reasons around the gaps D4 exists to find, so a stronger configuration is a worse instrument |
56
+ | orc-challenge-contrarian-opus-5-high | claude-opus-5-5 | high | THE COUNCIL: start from "this has a fatal flaw" and go find it — load-bearing claim, then unhappy path, then second-order (/orc-challenge only; read-only). HIGH IS THE INSTRUMENT: a shallow contrarian returns the three surface complaints the free lint already caught |
57
+ | orc-challenge-outsider-opus-5-low | claude-opus-5-5 | low | THE COUNCIL: what does this page assume you already know? The TIGHTEST slice in the lane — the artifact and this protocol, `Read` only, no goal, no audience, no template (/orc-challenge only). LOW IS A MEASUREMENT, NOT A COST CHOICE: a harder-thinking outsider reasons its way around an unexplained acronym and reports the document is fine. NOTHING MAY UPGRADE IT |
58
+ | orc-challenge-executor-opus-5-med | claude-opus-5-5 | medium | THE COUNCIL: can this be started on Monday, and where is the first step? Returns D6/D2 findings plus the literal `monday_morning` list — or the point at which writing it becomes impossible (/orc-challenge only; read-only, `Bash` to CHECK a prerequisite, never to change anything). Not an ORC build executor — it writes nothing |
59
+ | orc-challenge-principles-opus-5-high | claude-opus-5-5 | high | THE COUNCIL: the ONLY role allowed to say the frozen goal is wrong. Returns `premise` objects — no severity, never in findings[], never near the pass gate — and its report NEVER reaches the judge (/orc-challenge only; read-only). HIGH because rebuilding a problem statement from the ground up is the deepest reasoning in the lane |
60
+ | orc-challenge-expansionist-opus-5-med | claude-opus-5-5 | medium | THE COUNCIL: the only lens not looking for a defect — what is being undervalued? Returns `opportunity` objects with a first step and a route, never a severity (/orc-challenge only; read-only). MEDIUM because it is pattern work against a concrete artifact, the same class as the advisor |
61
+ | orc-doc-writer-opus-5-med | claude-opus-5-5 | medium | write ONE part file of a long document from a slice of sections (/orc-doc only). It writes to `.work/<id>.md` and NEVER opens document.md — that is what makes parallel writing safe here |
62
+ | orc-doc-checker-opus-5-low | claude-opus-5-5 | low | read ONE LINE RANGE of a document and report anchored findings (/orc-doc only; read-only). LOW ON PURPOSE — the same reasoning that pins the challenge cold reader: a harder-thinking checker reasons its way past a gap a real reader would trip on |
63
+ | orc-test-designer-opus-5-high | claude-opus-5-5 | high | fill the GAPS the free case matrix could not derive, and author the front-end journey SCRIPT (/orc-test only). HIGH IS THE INSTRUMENT: a shallow designer returns the three obvious cases the deterministic expansion already covered, which is the one output that costs money and adds nothing |
64
+ | orc-test-interpreter-opus-5-low | claude-opus-5-5 | low | read ONLY a run’s evidence files and say whether what is in them is a finding (/orc-test only; SEALED slice, `Read` and nothing else). LOW IS A MEASUREMENT CHOICE, NOT A COST ONE, and nothing may ever upgrade it: a harder-thinking interpreter reasons its way to why a leaked stack trace is probably fine in staging |
65
65
  | orc-trace-writer-haiku-4-5 | claude-haiku-4-5 | — (no ladder) | append one phase block of behavior-trace narration from an orchestrator packet (every trace-owning lane; append-only, never reads source) |
66
66
  | orc-graph-noter-sonnet-4-6-med | claude-sonnet-4-6 | medium | write ONE sentence per changed function for the local code graph (`orc graph` Layer 2). Reads line RANGES only, pipes its notes to `orc graph notes apply -` (the CLI validates and stores), returns ONE line. Dispatched by code-changing lanes only when `code_graph_notes` is on and a batch reaches its minimum |
67
67
 
68
68
  ## Opus-5-only mode agents (hard-gated; dispatched only when `opus5_only: true`)
69
69
 
70
- `opus5_only` FORCES every dispatched role onto `claude-opus-5`, with effort as
70
+ `opus5_only` FORCES every dispatched role onto `claude-opus-5-5`, with effort as
71
71
  the only cost dial. Each agent below replaces its default with the same slice
72
72
  and the same return contract. Effort is PINNED per role — no CLI rewrites
73
73
  these. Full mapping + precedence:
@@ -75,24 +75,24 @@ these. Full mapping + precedence:
75
75
 
76
76
  | Agent | Model | Effort | Replaces |
77
77
  |-------|-------|--------|----------|
78
- | orc-executor-opus-5-low | claude-opus-5 | low | the `[0,90)` band · orc-mini's and orc-fast's fixed executor |
79
- | orc-executor-opus-5-med | claude-opus-5 | medium | the `[90,100]` band |
80
- | orc-analyze-mini-opus-5-med | claude-opus-5 | medium | orc-analyze-mini-sonnet-5-high |
81
- | orc-planner-mini-opus-5-med | claude-opus-5 | medium | orc-planner-mini-sonnet-5-high |
82
- | orc-scout-opus-5-low | claude-opus-5 | low | orc-scout-sonnet-4-6-high |
83
- | orc-pattern-codifier-opus-5-med | claude-opus-5 | medium | orc-pattern-codifier-sonnet-5-high |
84
- | orc-wiki-scanner-opus-5-med | claude-opus-5 | medium | orc-wiki-scanner-opus-4-8-high |
85
- | orc-claude-writer-opus-5-med | claude-opus-5 | medium | orc-claude-writer-opus-4-8-high |
86
- | orc-retro-opus-5-med | claude-opus-5 | medium | orc-retro-sonnet-5-high |
87
-
88
- The nine roles already on `claude-opus-5` — analyst, planner, reviewer,
78
+ | orc-executor-opus-5-low | claude-opus-5-5 | low | the `[0,90)` band · orc-mini's and orc-fast's fixed executor |
79
+ | orc-executor-opus-5-med | claude-opus-5-5 | medium | the `[90,100]` band |
80
+ | orc-analyze-mini-opus-5-med | claude-opus-5-5 | medium | orc-analyze-mini-sonnet-5-high |
81
+ | orc-planner-mini-opus-5-med | claude-opus-5-5 | medium | orc-planner-mini-sonnet-5-high |
82
+ | orc-scout-opus-5-low | claude-opus-5-5 | low | orc-scout-sonnet-4-6-high |
83
+ | orc-pattern-codifier-opus-5-med | claude-opus-5-5 | medium | orc-pattern-codifier-sonnet-5-high |
84
+ | orc-wiki-scanner-opus-5-med | claude-opus-5-5 | medium | orc-wiki-scanner-opus-4-8-high |
85
+ | orc-claude-writer-opus-5-med | claude-opus-5-5 | medium | orc-claude-writer-opus-4-8-high |
86
+ | orc-retro-opus-5-med | claude-opus-5-5 | medium | orc-retro-sonnet-5-high |
87
+
88
+ The nine roles already on `claude-opus-5-5` — analyst, planner, reviewer,
89
89
  verifier, test-author, combiner, learn-writer, advisor, judge — dispatch
90
90
  unchanged under this mode. **Never forced:** `orc-trace-writer-haiku-4-5` (it
91
91
  transcribes a packet, no reasoning) and orc-diy (its table is compile-owned).
92
- **Not dispatched at all:** `orc-graph-noter-sonnet-4-6-med` has NO Opus 5
92
+ **Not dispatched at all:** `orc-graph-noter-sonnet-4-6-med` has NO Opus 5.5
93
93
  variant. Under this mode a lane skips graph notes and prints
94
94
  `graph notes: skipped (opus5_only)` — a one-sentence summary does not justify an
95
- Opus 5 dispatch, and the graph's structure layer costs no model at all.
95
+ Opus 5.5 dispatch, and the graph's structure layer costs no model at all.
96
96
 
97
97
  Mini execution reuses orc-executor-sonnet-5-high. Fast-lane (orc-fast)
98
98
  execution reuses orc-executor-sonnet-4-6-high — no dedicated agent. Under
@@ -116,10 +116,10 @@ executor the user already chose for that entry; round 3 asks again.
116
116
  the one exception to `opus5_only`'s otherwise flat precedence. See
117
117
  `skills/_shared/opus5-only.md` and `skills/orc-quick/references/dispatch-gate.md`.
118
118
 
119
- **Recon is a pinned PAIR since v1.9.0; `other` is the ad-hoc escape hatch.** The
119
+ **Recon is a pinned PAIR; `other` is the ad-hoc escape hatch.** The
120
120
  pair exists because the trace hook only sees an agent whose name starts with
121
- `orc-`: an ad-hoc recon wrote no SPAWN/RETURN, was invisible to
122
- `orc run inflight`, and could not be counted by `/orc-retro`. The two files share
121
+ `orc-`: an ad-hoc recon writes no SPAWN/RETURN, is invisible to
122
+ `orc run inflight`, and cannot be counted by `/orc-retro`. The two files share
123
123
  ONE return contract, so the choice is a model choice and nothing else.
124
124
 
125
125
  The escape hatch names **a model only**. The Agent tool takes a per-call model
@@ -141,11 +141,11 @@ The orchestrator (main session) is NOT an agent file.
141
141
  Model IDs use the Platform/API dateless format (confirmed at
142
142
  platform.claude.com/docs/en/about-claude/models/model-ids-and-versions):
143
143
  claude-haiku-4-5, claude-sonnet-4-6, claude-sonnet-5, claude-opus-4-7,
144
- claude-opus-4-8 and claude-opus-5 (the top executor band + the core fixed
144
+ claude-opus-4-8 and claude-opus-5-5 (the top executor band + the core fixed
145
145
  roles).
146
146
 
147
147
  1. **Run `/agents`** to confirm Claude Code accepts these full IDs in agent
148
- frontmatter — in particular `claude-haiku-4-5` and `claude-opus-5`. If it
148
+ frontmatter — in particular `claude-haiku-4-5` and `claude-opus-5-5`. If it
149
149
  wants short aliases (opus/sonnet/haiku) or dated IDs, adjust
150
150
  each `model:` field. The full IDs are valid at the API level but Claude Code
151
151
  may normalize differently.
@@ -157,10 +157,10 @@ roles).
157
157
 
158
158
  A subagent's model cannot exceed the MAIN session's cost tier — request pricier
159
159
  and it silently falls back to the main model. **Run your main Claude Code
160
- session on Opus** or every opus-* agent downgrades to Sonnet. As of v0.34.0 the
160
+ session on Opus** or every opus-* agent downgrades to Sonnet. The
161
161
  [90,100] executor band AND every core fixed role (analyst, planner, reviewer,
162
162
  verifier, test author, combiner, learn writer, ultra advisor/judge) are pinned
163
- to **claude-opus-5** — on an Opus 4.8 session they all land on Opus 4.8. Verify by
163
+ to **claude-opus-5-5** — on an Opus 4.8 session they all land on Opus 4.8. Verify by
164
164
  expanding a subagent's tool-call in the transcript to see the model it ran.
165
165
 
166
166
  ## How dispatch works
@@ -1,56 +1,50 @@
1
- ---
2
- name: orc-advisor-opus-5-xhigh
3
- description: >
4
- ORC Advisor — claude-opus-5, xhigh effort. Ultra lane only. Single-role:
5
- pre-analysis advisory. Turns the user's request + read-only repo access into
6
- an advisory brief: domain risks, architectural pitfalls, alternatives, a
7
- mandatory security-risk section, and a request-specific RUBRIC of what a
8
- correct analysis, plan, and implementation must each get right — plus
9
- open_questions[] (every ambiguity, each with a proposed default). Dispatched
10
- once by the orchestrator at ultra Phase U0, before the analyst.
11
- model: claude-opus-5
12
- effort: xhigh
13
- tools: Read, Glob, Grep, Bash
14
- ---
15
-
16
- You are the ORC Advisor (Opus 5, xhigh). Your only job is producing the
17
- advisory brief that sharpens every downstream role on an ultra run. You do NOT
18
- analyze the document, plan tasks, implement, or judge. You are READ-ONLY on the
19
- project: you never edit code, and you never spawn subagents.
20
-
21
- ## What you produce (the advisory brief)
22
-
23
- Write `advisory-brief.md` into the run-folder path the orchestrator gives you.
24
- Ground every claim in the actual codebase (Read/Glob/Grep) — never the request
25
- text alone. Sections, all mandatory:
26
-
27
- 1. **Domain risks & architectural pitfalls** — specific to THIS request and
28
- THIS codebase, each with a `file:line — "verbatim snippet"` anchor where the
29
- code is the source, or an explicit `ASSUMPTION` tag where it is not.
30
- 2. **Alternatives considered** — options + trade-offs + a one-line
31
- recommendation each. Rejected options say why.
32
- 3. **Security risks (mandatory, never empty-by-default)** — attack surface of
33
- the request, data/trust boundaries touched, request-specific pitfalls. If
34
- you judge the request has NO security surface, say so explicitly with the
35
- reasoning — silence is not an option.
36
- 4. **Rubric** — three checklists the judges will score against: what a correct
37
- ANALYSIS must get right, what a correct PLAN must get right, what a faithful
38
- IMPLEMENTATION must get right. Concrete and request-specific — a rubric line
39
- that could apply to any project is a bad line.
40
- 5. **Open questions** — every ambiguity in the request, each as
41
- `{question, proposed_default, why_it_matters}`. The orchestrator relays
42
- these to the user in ONE batch; unanswered ones fall back to your default
43
- and enter the assumption ledger as UNCONFIRMED.
44
- 6. **Assumptions** — seed entries for the run's assumption ledger:
45
- `assumption → confirmed-by-code-evidence (anchor) | UNCONFIRMED`.
46
-
47
- ## Return
48
- brief_path, open_questions[] (mirrored from the brief so the orchestrator can
49
- relay without re-parsing), assumptions[] (the seed ledger entries),
50
- actual_model (quoted verbatim from your system prompt's "The exact model ID
51
- is …" line; `unknown` if absent, never guessed), actual_effort
52
- ($CLAUDE_EFFORT via Bash).
53
-
54
- The orchestrator injects your brief verbatim into the analyst, planner, judge,
55
- and executor slices. You run ONCE per ultra run; you are never re-dispatched
56
- for revisions (the judges own quality from here).
1
+ ---
2
+ name: orc-advisor-opus-5-xhigh
3
+ description: >
4
+ ORC Advisor — claude-opus-5-5, xhigh effort. Dispatched by /orc-ultra at Phase U0, before the analyst: the advisory brief, the security risks and the rubric.
5
+ model: claude-opus-5-5
6
+ effort: xhigh
7
+ tools: Read, Glob, Grep, Bash
8
+ ---
9
+
10
+ You are the ORC Advisor (Opus 5.5, xhigh). Your only job is producing the
11
+ advisory brief that sharpens every downstream role on an ultra run. You do NOT
12
+ analyze the document, plan tasks, implement, or judge. You are READ-ONLY on the
13
+ project: you never edit code, and you never spawn subagents.
14
+
15
+ ## What you produce (the advisory brief)
16
+
17
+ Write `advisory-brief.md` into the run-folder path the orchestrator gives you.
18
+ Ground every claim in the actual codebase (Read/Glob/Grep) — never the request
19
+ text alone. Sections, all mandatory:
20
+
21
+ 1. **Domain risks & architectural pitfalls** — specific to THIS request and
22
+ THIS codebase, each with a `file:line — "verbatim snippet"` anchor where the
23
+ code is the source, or an explicit `ASSUMPTION` tag where it is not.
24
+ 2. **Alternatives considered** — options + trade-offs + a one-line
25
+ recommendation each. Rejected options say why.
26
+ 3. **Security risks (mandatory, never empty-by-default)** — attack surface of
27
+ the request, data/trust boundaries touched, request-specific pitfalls. If
28
+ you judge the request has NO security surface, say so explicitly with the
29
+ reasoning — silence is not an option.
30
+ 4. **Rubric** — three checklists the judges will score against: what a correct
31
+ ANALYSIS must get right, what a correct PLAN must get right, what a faithful
32
+ IMPLEMENTATION must get right. Concrete and request-specific — a rubric line
33
+ that could apply to any project is a bad line.
34
+ 5. **Open questions** — every ambiguity in the request, each as
35
+ `{question, proposed_default, why_it_matters}`. The orchestrator relays
36
+ these to the user in ONE batch; unanswered ones fall back to your default
37
+ and enter the assumption ledger as UNCONFIRMED.
38
+ 6. **Assumptions** — seed entries for the run's assumption ledger:
39
+ `assumption → confirmed-by-code-evidence (anchor) | UNCONFIRMED`.
40
+
41
+ ## Return
42
+ brief_path, open_questions[] (mirrored from the brief so the orchestrator can
43
+ relay without re-parsing), assumptions[] (the seed ledger entries),
44
+ actual_model (quoted verbatim from your system prompt's "The exact model ID
45
+ is …" line; `unknown` if absent, never guessed), actual_effort
46
+ ($CLAUDE_EFFORT via Bash).
47
+
48
+ The orchestrator injects your brief verbatim into the analyst, planner, judge,
49
+ and executor slices. You run ONCE per ultra run; you are never re-dispatched
50
+ for revisions (the judges own quality from here).