@azure-id/orc 0.55.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 (449) hide show
  1. package/CHANGELOG.md +2017 -0
  2. package/README-id.md +521 -0
  3. package/README.md +485 -0
  4. package/bin/build-agents.js +86 -0
  5. package/bin/cli.js +29050 -0
  6. package/bin/mockrun-catalog.js +267 -0
  7. package/bin/onboarding-content.js +172 -0
  8. package/bin/pricing.json +200 -0
  9. package/bin/providers.json +437 -0
  10. package/bin/ui.js +95 -0
  11. package/bin/verify-contracts.js +3277 -0
  12. package/bin/verify-package.js +498 -0
  13. package/bin/webui/api.js +1163 -0
  14. package/bin/webui/app.html +198 -0
  15. package/bin/webui/css/00-tokens.css +92 -0
  16. package/bin/webui/css/01-base.css +42 -0
  17. package/bin/webui/css/02-shell.css +103 -0
  18. package/bin/webui/css/03-components.css +462 -0
  19. package/bin/webui/css/04-motion.css +91 -0
  20. package/bin/webui/css/05-tour.css +100 -0
  21. package/bin/webui/css/06-responsive.css +108 -0
  22. package/bin/webui/css/panels/boundary.css +26 -0
  23. package/bin/webui/css/panels/challenge.css +151 -0
  24. package/bin/webui/css/panels/crosslink.css +194 -0
  25. package/bin/webui/css/panels/docs.css +254 -0
  26. package/bin/webui/css/panels/experiment.css +23 -0
  27. package/bin/webui/css/panels/extra.css +536 -0
  28. package/bin/webui/css/panels/flow.css +177 -0
  29. package/bin/webui/css/panels/handoff.css +67 -0
  30. package/bin/webui/css/panels/knowledge.css +86 -0
  31. package/bin/webui/css/panels/learn.css +154 -0
  32. package/bin/webui/css/panels/maintenance.css +55 -0
  33. package/bin/webui/css/panels/mockrun.css +268 -0
  34. package/bin/webui/css/panels/overview.css +100 -0
  35. package/bin/webui/css/panels/pact.css +43 -0
  36. package/bin/webui/css/panels/runs.css +105 -0
  37. package/bin/webui/css/panels/settings.css +227 -0
  38. package/bin/webui/css/panels/stats.css +87 -0
  39. package/bin/webui/fixtures/boundary.js +92 -0
  40. package/bin/webui/fixtures/challenge.js +825 -0
  41. package/bin/webui/fixtures/crosslink.js +31 -0
  42. package/bin/webui/fixtures/docs.js +982 -0
  43. package/bin/webui/fixtures/extra.js +1934 -0
  44. package/bin/webui/fixtures/flow.js +81 -0
  45. package/bin/webui/fixtures/handoff.js +35 -0
  46. package/bin/webui/fixtures/index.js +486 -0
  47. package/bin/webui/fixtures/knowledge.js +291 -0
  48. package/bin/webui/fixtures/maintenance.js +42 -0
  49. package/bin/webui/fixtures/mockrun.js +36 -0
  50. package/bin/webui/fixtures/pact.js +111 -0
  51. package/bin/webui/fixtures/runs.js +109 -0
  52. package/bin/webui/fixtures/settings.js +78 -0
  53. package/bin/webui/fixtures/shell.js +48 -0
  54. package/bin/webui/fixtures/stats.js +104 -0
  55. package/bin/webui/i18n/TERMS.md +134 -0
  56. package/bin/webui/i18n/en/banner.json +29 -0
  57. package/bin/webui/i18n/en/boundary.json +20 -0
  58. package/bin/webui/i18n/en/challenge.json +106 -0
  59. package/bin/webui/i18n/en/common.json +69 -0
  60. package/bin/webui/i18n/en/crosslink.json +69 -0
  61. package/bin/webui/i18n/en/docs.json +175 -0
  62. package/bin/webui/i18n/en/experiment.json +17 -0
  63. package/bin/webui/i18n/en/extra.json +313 -0
  64. package/bin/webui/i18n/en/flow.json +30 -0
  65. package/bin/webui/i18n/en/handoff.json +37 -0
  66. package/bin/webui/i18n/en/knowledge.json +141 -0
  67. package/bin/webui/i18n/en/learn.json +16 -0
  68. package/bin/webui/i18n/en/maintenance.json +52 -0
  69. package/bin/webui/i18n/en/mockrun.json +19 -0
  70. package/bin/webui/i18n/en/nav.json +19 -0
  71. package/bin/webui/i18n/en/overview.json +89 -0
  72. package/bin/webui/i18n/en/pact.json +36 -0
  73. package/bin/webui/i18n/en/runs.json +51 -0
  74. package/bin/webui/i18n/en/settings.json +49 -0
  75. package/bin/webui/i18n/en/stats.json +69 -0
  76. package/bin/webui/i18n/en/tour.json +33 -0
  77. package/bin/webui/i18n/id/banner.json +29 -0
  78. package/bin/webui/i18n/id/boundary.json +20 -0
  79. package/bin/webui/i18n/id/challenge.json +106 -0
  80. package/bin/webui/i18n/id/common.json +70 -0
  81. package/bin/webui/i18n/id/crosslink.json +69 -0
  82. package/bin/webui/i18n/id/docs.json +175 -0
  83. package/bin/webui/i18n/id/experiment.json +17 -0
  84. package/bin/webui/i18n/id/extra.json +313 -0
  85. package/bin/webui/i18n/id/flow.json +30 -0
  86. package/bin/webui/i18n/id/handoff.json +37 -0
  87. package/bin/webui/i18n/id/knowledge.json +141 -0
  88. package/bin/webui/i18n/id/learn.json +16 -0
  89. package/bin/webui/i18n/id/maintenance.json +52 -0
  90. package/bin/webui/i18n/id/mockrun.json +19 -0
  91. package/bin/webui/i18n/id/nav.json +19 -0
  92. package/bin/webui/i18n/id/overview.json +89 -0
  93. package/bin/webui/i18n/id/pact.json +36 -0
  94. package/bin/webui/i18n/id/runs.json +51 -0
  95. package/bin/webui/i18n/id/settings.json +49 -0
  96. package/bin/webui/i18n/id/stats.json +69 -0
  97. package/bin/webui/i18n/id/tour.json +33 -0
  98. package/bin/webui/js/00-core.js +115 -0
  99. package/bin/webui/js/01-i18n.js +149 -0
  100. package/bin/webui/js/02-ui.js +211 -0
  101. package/bin/webui/js/03-md.js +286 -0
  102. package/bin/webui/js/04-router.js +51 -0
  103. package/bin/webui/js/05-banners.js +172 -0
  104. package/bin/webui/js/06-edit.js +183 -0
  105. package/bin/webui/js/90-tour.js +488 -0
  106. package/bin/webui/js/91-shortcuts.js +126 -0
  107. package/bin/webui/js/99-boot.js +118 -0
  108. package/bin/webui/js/panels/boundary.js +104 -0
  109. package/bin/webui/js/panels/challenge.js +781 -0
  110. package/bin/webui/js/panels/crosslink.js +654 -0
  111. package/bin/webui/js/panels/docs.js +1338 -0
  112. package/bin/webui/js/panels/experiment.js +98 -0
  113. package/bin/webui/js/panels/extra.js +3011 -0
  114. package/bin/webui/js/panels/flow.js +297 -0
  115. package/bin/webui/js/panels/handoff.js +169 -0
  116. package/bin/webui/js/panels/knowledge.js +890 -0
  117. package/bin/webui/js/panels/learn.js +220 -0
  118. package/bin/webui/js/panels/maintenance.js +235 -0
  119. package/bin/webui/js/panels/mockrun.js +227 -0
  120. package/bin/webui/js/panels/overview.js +447 -0
  121. package/bin/webui/js/panels/pact.js +189 -0
  122. package/bin/webui/js/panels/runs.js +416 -0
  123. package/bin/webui/js/panels/settings.js +573 -0
  124. package/bin/webui/js/panels/stats.js +378 -0
  125. package/bin/webui/serve.js +557 -0
  126. package/mock-run/INDEX.md +106 -0
  127. package/mock-run/a-normal-day.md +587 -0
  128. package/mock-run/context-combiner.md +100 -0
  129. package/mock-run/extra-recovery.md +330 -0
  130. package/mock-run/extra-slots.md +177 -0
  131. package/mock-run/media/README.md +43 -0
  132. package/mock-run/orc-aftermath.md +392 -0
  133. package/mock-run/orc-boundary.md +356 -0
  134. package/mock-run/orc-brainstorm.md +177 -0
  135. package/mock-run/orc-budget.md +534 -0
  136. package/mock-run/orc-challenge-council.md +262 -0
  137. package/mock-run/orc-challenge.md +416 -0
  138. package/mock-run/orc-cli.md +200 -0
  139. package/mock-run/orc-diy.md +129 -0
  140. package/mock-run/orc-doc.md +448 -0
  141. package/mock-run/orc-explain.md +86 -0
  142. package/mock-run/orc-export.md +423 -0
  143. package/mock-run/orc-extra.md +392 -0
  144. package/mock-run/orc-fast.md +106 -0
  145. package/mock-run/orc-grill.md +151 -0
  146. package/mock-run/orc-handoff.md +480 -0
  147. package/mock-run/orc-pact.md +421 -0
  148. package/mock-run/orc-pattern.md +112 -0
  149. package/mock-run/orc-plan.md +108 -0
  150. package/mock-run/orc-pr-setup.md +126 -0
  151. package/mock-run/orc-quick.md +113 -0
  152. package/mock-run/orc-route.md +93 -0
  153. package/mock-run/orc-ui.md +125 -0
  154. package/mock-run/orc-ultra.md +103 -0
  155. package/mock-run/orc.md +157 -0
  156. package/mock-run/the-example-project.md +55 -0
  157. package/package.json +39 -0
  158. package/templates/agents/MODEL-MAPPING.md +168 -0
  159. package/templates/agents/orc-advisor-fable-5.md +50 -0
  160. package/templates/agents/orc-advisor-opus-5-xhigh.md +56 -0
  161. package/templates/agents/orc-analyst-fable-5.md +115 -0
  162. package/templates/agents/orc-analyze-mini-opus-5-med.md +60 -0
  163. package/templates/agents/orc-analyze-mini-sonnet-5-high.md +58 -0
  164. package/templates/agents/orc-challenge-advisor-opus-5-med.md +75 -0
  165. package/templates/agents/orc-challenge-contrarian-opus-5-high.md +110 -0
  166. package/templates/agents/orc-challenge-executor-opus-5-med.md +114 -0
  167. package/templates/agents/orc-challenge-expansionist-opus-5-med.md +112 -0
  168. package/templates/agents/orc-challenge-judge-opus-5-high.md +132 -0
  169. package/templates/agents/orc-challenge-outsider-opus-5-low.md +109 -0
  170. package/templates/agents/orc-challenge-principles-opus-5-high.md +109 -0
  171. package/templates/agents/orc-challenge-reader-opus-5-low.md +90 -0
  172. package/templates/agents/orc-claude-writer-opus-4-8-high.md +53 -0
  173. package/templates/agents/orc-claude-writer-opus-5-med.md +55 -0
  174. package/templates/agents/orc-context-combiner-opus-5-high.md +88 -0
  175. package/templates/agents/orc-doc-checker-opus-5-low.md +108 -0
  176. package/templates/agents/orc-doc-writer-opus-5-med.md +134 -0
  177. package/templates/agents/orc-executor-haiku-4-5.md +113 -0
  178. package/templates/agents/orc-executor-opus-4-7-high.md +114 -0
  179. package/templates/agents/orc-executor-opus-4-7-med.md +114 -0
  180. package/templates/agents/orc-executor-opus-4-8-high.md +114 -0
  181. package/templates/agents/orc-executor-opus-5-high.md +114 -0
  182. package/templates/agents/orc-executor-opus-5-low.md +114 -0
  183. package/templates/agents/orc-executor-opus-5-med.md +114 -0
  184. package/templates/agents/orc-executor-sonnet-4-6-high.md +114 -0
  185. package/templates/agents/orc-executor-sonnet-4-6-med.md +114 -0
  186. package/templates/agents/orc-executor-sonnet-5-high.md +114 -0
  187. package/templates/agents/orc-judge-fable-5.md +79 -0
  188. package/templates/agents/orc-judge-opus-5-xhigh.md +85 -0
  189. package/templates/agents/orc-learn-writer-opus-5-low.md +73 -0
  190. package/templates/agents/orc-pattern-codifier-opus-5-med.md +65 -0
  191. package/templates/agents/orc-pattern-codifier-sonnet-5-high.md +63 -0
  192. package/templates/agents/orc-planner-fable-5.md +152 -0
  193. package/templates/agents/orc-planner-mini-opus-5-med.md +69 -0
  194. package/templates/agents/orc-planner-mini-sonnet-5-high.md +67 -0
  195. package/templates/agents/orc-planner-opus-5-med.md +160 -0
  196. package/templates/agents/orc-retro-opus-5-med.md +73 -0
  197. package/templates/agents/orc-retro-sonnet-5-high.md +72 -0
  198. package/templates/agents/orc-reviewer-fable-5.md +57 -0
  199. package/templates/agents/orc-reviewer-opus-5-med.md +60 -0
  200. package/templates/agents/orc-scout-opus-5-low.md +40 -0
  201. package/templates/agents/orc-scout-sonnet-4-6-high.md +39 -0
  202. package/templates/agents/orc-system-analyst-opus-5-high.md +120 -0
  203. package/templates/agents/orc-test-author-opus-5-med.md +71 -0
  204. package/templates/agents/orc-trace-writer-haiku-4-5.md +107 -0
  205. package/templates/agents/orc-verifier-opus-5-med.md +69 -0
  206. package/templates/agents/orc-wiki-scanner-opus-4-8-high.md +79 -0
  207. package/templates/agents/orc-wiki-scanner-opus-5-med.md +81 -0
  208. package/templates/agents/orc-wiki-scanner-sonnet-5-high.md +106 -0
  209. package/templates/commands/orc-aftermath.md +49 -0
  210. package/templates/commands/orc-analyze.md +21 -0
  211. package/templates/commands/orc-boundary.md +46 -0
  212. package/templates/commands/orc-brainstorm.md +51 -0
  213. package/templates/commands/orc-budget.md +54 -0
  214. package/templates/commands/orc-challenge.md +58 -0
  215. package/templates/commands/orc-claude.md +14 -0
  216. package/templates/commands/orc-diy.md +13 -0
  217. package/templates/commands/orc-doc.md +128 -0
  218. package/templates/commands/orc-explain.md +20 -0
  219. package/templates/commands/orc-export.md +46 -0
  220. package/templates/commands/orc-fast.md +15 -0
  221. package/templates/commands/orc-grill.md +40 -0
  222. package/templates/commands/orc-handoff.md +52 -0
  223. package/templates/commands/orc-learn.md +17 -0
  224. package/templates/commands/orc-mini.md +12 -0
  225. package/templates/commands/orc-pact.md +44 -0
  226. package/templates/commands/orc-pattern.md +15 -0
  227. package/templates/commands/orc-plan.md +22 -0
  228. package/templates/commands/orc-poly.md +21 -0
  229. package/templates/commands/orc-pr-driver.md +30 -0
  230. package/templates/commands/orc-pr-setup.md +31 -0
  231. package/templates/commands/orc-quick.md +33 -0
  232. package/templates/commands/orc-retro.md +17 -0
  233. package/templates/commands/orc-route.md +41 -0
  234. package/templates/commands/orc-ultra.md +17 -0
  235. package/templates/commands/orc-verify.md +11 -0
  236. package/templates/commands/orc-wiki.md +42 -0
  237. package/templates/commands/orc.md +16 -0
  238. package/templates/hooks/orc-effort-guard.js +178 -0
  239. package/templates/hooks/orc-statusline.js +305 -0
  240. package/templates/hooks/orc-trace.js +471 -0
  241. package/templates/hooks/orc-update-lib.js +125 -0
  242. package/templates/skills/_shared/README.md +50 -0
  243. package/templates/skills/_shared/detecting-artifacts.md +90 -0
  244. package/templates/skills/_shared/drift-recovery.md +98 -0
  245. package/templates/skills/_shared/extra-dispatch.md +1051 -0
  246. package/templates/skills/_shared/fable5-override.md +56 -0
  247. package/templates/skills/_shared/fallback-handoff.md +42 -0
  248. package/templates/skills/_shared/gh-stack-commands.md +65 -0
  249. package/templates/skills/_shared/gotchas.md +177 -0
  250. package/templates/skills/_shared/interview.md +144 -0
  251. package/templates/skills/_shared/lane-suspend.md +82 -0
  252. package/templates/skills/_shared/opus5-only.md +131 -0
  253. package/templates/skills/_shared/pr-templates.md +106 -0
  254. package/templates/skills/_shared/read-ladder.md +54 -0
  255. package/templates/skills/_shared/return-validation.md +145 -0
  256. package/templates/skills/_shared/smoke-gate.md +28 -0
  257. package/templates/skills/_shared/stack-plan.md +135 -0
  258. package/templates/skills/_shared/untrusted-input.md +63 -0
  259. package/templates/skills/context-combiner/SKILL.md +187 -0
  260. package/templates/skills/context-combiner/schemas/combined-report.md +78 -0
  261. package/templates/skills/context-combiner/schemas/combined-requirement-spec.md +87 -0
  262. package/templates/skills/orc/README.md +150 -0
  263. package/templates/skills/orc/SKILL.md +526 -0
  264. package/templates/skills/orc/config.md +389 -0
  265. package/templates/skills/orc/examples/full-run-mock.md +73 -0
  266. package/templates/skills/orc/references/analyst-gates.md +124 -0
  267. package/templates/skills/orc/references/effort-and-mode.md +224 -0
  268. package/templates/skills/orc/references/house-rules.md +20 -0
  269. package/templates/skills/orc/references/intake.md +120 -0
  270. package/templates/skills/orc/references/log-protocol.md +39 -0
  271. package/templates/skills/orc/references/pattern-gate.md +89 -0
  272. package/templates/skills/orc/references/plan-handoff.md +84 -0
  273. package/templates/skills/orc/references/preflight-report.md +220 -0
  274. package/templates/skills/orc/references/security-checklist.md +39 -0
  275. package/templates/skills/orc/references/stop-and-resume.md +160 -0
  276. package/templates/skills/orc/references/trace-protocol.md +314 -0
  277. package/templates/skills/orc/references/ultra-mode.md +123 -0
  278. package/templates/skills/orc/references/wave-grouping.md +121 -0
  279. package/templates/skills/orc/references/wiki-consult.md +177 -0
  280. package/templates/skills/orc/schemas/checkpoint.md +122 -0
  281. package/templates/skills/orc/schemas/intent-spec.md +42 -0
  282. package/templates/skills/orc/schemas/planning-output.md +279 -0
  283. package/templates/skills/orc/subskills/orc-checkpoint/SKILL.md +55 -0
  284. package/templates/skills/orc/subskills/orc-execution/SKILL.md +72 -0
  285. package/templates/skills/orc/subskills/orc-execution/core.md +151 -0
  286. package/templates/skills/orc/subskills/orc-execution/subagent.md +13 -0
  287. package/templates/skills/orc/subskills/orc-planner/SKILL.md +264 -0
  288. package/templates/skills/orc/subskills/orc-planner-mini/SKILL.md +121 -0
  289. package/templates/skills/orc/subskills/orc-pr/SKILL.md +51 -0
  290. package/templates/skills/orc/subskills/orc-pr/pr.md +22 -0
  291. package/templates/skills/orc/subskills/orc-pr/stack-gate.md +108 -0
  292. package/templates/skills/orc/subskills/orc-review-verify/SKILL.md +76 -0
  293. package/templates/skills/orc/subskills/orc-review-verify/core.md +135 -0
  294. package/templates/skills/orc/subskills/orc-review-verify/subagent.md +7 -0
  295. package/templates/skills/orc/subskills/orc-testgen/SKILL.md +45 -0
  296. package/templates/skills/orc/subskills/orc-testgen/core.md +59 -0
  297. package/templates/skills/orc/subskills/orc-testgen/subagent.md +7 -0
  298. package/templates/skills/orc-advisor/SKILL.md +60 -0
  299. package/templates/skills/orc-aftermath/SKILL.md +136 -0
  300. package/templates/skills/orc-aftermath/references/report.md +95 -0
  301. package/templates/skills/orc-analyze/SKILL.md +220 -0
  302. package/templates/skills/orc-analyze/examples/analyze-mock.md +42 -0
  303. package/templates/skills/orc-analyze/references/branching.md +51 -0
  304. package/templates/skills/orc-analyze/references/deep-mode.md +27 -0
  305. package/templates/skills/orc-analyze/references/thin-input.md +77 -0
  306. package/templates/skills/orc-analyze/schemas/report-audit.md +83 -0
  307. package/templates/skills/orc-analyze/schemas/report-prose.md +63 -0
  308. package/templates/skills/orc-analyze/schemas/report-requirement.md +78 -0
  309. package/templates/skills/orc-analyze/schemas/requirement-spec.md +77 -0
  310. package/templates/skills/orc-analyze-mini/SKILL.md +112 -0
  311. package/templates/skills/orc-analyze-mini/examples/quick-analysis-mock.md +31 -0
  312. package/templates/skills/orc-boundary/SKILL.md +208 -0
  313. package/templates/skills/orc-boundary/references/card.md +78 -0
  314. package/templates/skills/orc-boundary/references/gate.md +113 -0
  315. package/templates/skills/orc-brainstorm/SKILL.md +339 -0
  316. package/templates/skills/orc-brainstorm/references/brainstorm-doc.md +133 -0
  317. package/templates/skills/orc-brainstorm/references/lenses.md +152 -0
  318. package/templates/skills/orc-budget/SKILL.md +225 -0
  319. package/templates/skills/orc-budget/references/corpus.md +87 -0
  320. package/templates/skills/orc-challenge/README.md +142 -0
  321. package/templates/skills/orc-challenge/SKILL.md +255 -0
  322. package/templates/skills/orc-challenge/examples/code-module.md +110 -0
  323. package/templates/skills/orc-challenge/examples/council-full-roster.md +273 -0
  324. package/templates/skills/orc-challenge/examples/tsd-two-iterations.md +213 -0
  325. package/templates/skills/orc-challenge/references/conservation.md +107 -0
  326. package/templates/skills/orc-challenge/references/council.md +315 -0
  327. package/templates/skills/orc-challenge/references/cycle-state.md +185 -0
  328. package/templates/skills/orc-challenge/references/dimensions.md +121 -0
  329. package/templates/skills/orc-challenge/references/fix-brief.md +130 -0
  330. package/templates/skills/orc-challenge/references/intake.md +171 -0
  331. package/templates/skills/orc-challenge/references/kinds.md +44 -0
  332. package/templates/skills/orc-challenge/references/plain-english.md +98 -0
  333. package/templates/skills/orc-challenge/references/rubric.md +109 -0
  334. package/templates/skills/orc-challenge/references/sealed-slice.md +97 -0
  335. package/templates/skills/orc-challenge/references/verdict-doc.md +154 -0
  336. package/templates/skills/orc-claude/SKILL.md +199 -0
  337. package/templates/skills/orc-claude/examples/claude-run-mock.md +65 -0
  338. package/templates/skills/orc-claude/references/refresh.md +76 -0
  339. package/templates/skills/orc-claude/references/template.md +109 -0
  340. package/templates/skills/orc-diy/README.md +142 -0
  341. package/templates/skills/orc-diy/SKILL.md +70 -0
  342. package/templates/skills/orc-diy/references/blocks/analyze.md +24 -0
  343. package/templates/skills/orc-diy/references/blocks/execution.md +42 -0
  344. package/templates/skills/orc-diy/references/blocks/extra.md +55 -0
  345. package/templates/skills/orc-diy/references/blocks/header.md +55 -0
  346. package/templates/skills/orc-diy/references/blocks/mock-example.md +22 -0
  347. package/templates/skills/orc-diy/references/blocks/pattern.md +18 -0
  348. package/templates/skills/orc-diy/references/blocks/planning.md +34 -0
  349. package/templates/skills/orc-diy/references/blocks/review.md +18 -0
  350. package/templates/skills/orc-diy/references/blocks/scoring.md +16 -0
  351. package/templates/skills/orc-diy/references/blocks/security.md +25 -0
  352. package/templates/skills/orc-diy/references/blocks/ship.md +25 -0
  353. package/templates/skills/orc-diy/references/blocks/summary.md +18 -0
  354. package/templates/skills/orc-diy/references/blocks/testgen.md +17 -0
  355. package/templates/skills/orc-diy/references/blocks/trace.md +28 -0
  356. package/templates/skills/orc-diy/references/blocks/verify.md +25 -0
  357. package/templates/skills/orc-diy/references/blocks/wiki.md +26 -0
  358. package/templates/skills/orc-diy/references/compile.md +59 -0
  359. package/templates/skills/orc-diy/references/flow-schema.md +100 -0
  360. package/templates/skills/orc-diy/references/locked-blocks.md +37 -0
  361. package/templates/skills/orc-doc/README.md +229 -0
  362. package/templates/skills/orc-doc/SKILL.md +444 -0
  363. package/templates/skills/orc-doc/examples/orc-doc-prd-run.md +325 -0
  364. package/templates/skills/orc-doc/references/chunking.md +527 -0
  365. package/templates/skills/orc-doc/references/gates.md +311 -0
  366. package/templates/skills/orc-doc/references/generation-rules.md +122 -0
  367. package/templates/skills/orc-doc/references/house-rules.md +170 -0
  368. package/templates/skills/orc-doc/references/import-targets.md +40 -0
  369. package/templates/skills/orc-doc/references/plain-language.md +66 -0
  370. package/templates/skills/orc-doc/references/portable-markdown.md +74 -0
  371. package/templates/skills/orc-doc/references/resume-protocol.md +228 -0
  372. package/templates/skills/orc-doc/references/templates/collaboration.md +118 -0
  373. package/templates/skills/orc-doc/references/templates/prd.md +133 -0
  374. package/templates/skills/orc-doc/references/templates/report.md +102 -0
  375. package/templates/skills/orc-doc/references/templates/tsd.md +122 -0
  376. package/templates/skills/orc-doc/references/templates/workflow.md +112 -0
  377. package/templates/skills/orc-explain/SKILL.md +57 -0
  378. package/templates/skills/orc-export/SKILL.md +154 -0
  379. package/templates/skills/orc-fast/SKILL.md +188 -0
  380. package/templates/skills/orc-grill/SKILL.md +207 -0
  381. package/templates/skills/orc-grill/references/grill-doc.md +105 -0
  382. package/templates/skills/orc-handoff/SKILL.md +204 -0
  383. package/templates/skills/orc-handoff/references/handoff-log.md +67 -0
  384. package/templates/skills/orc-handoff/references/surfaces.md +88 -0
  385. package/templates/skills/orc-judge/SKILL.md +82 -0
  386. package/templates/skills/orc-learn/SKILL.md +156 -0
  387. package/templates/skills/orc-learn/examples/learn-run-mock.md +61 -0
  388. package/templates/skills/orc-learn/references/deepen.md +70 -0
  389. package/templates/skills/orc-learn/references/refresh.md +65 -0
  390. package/templates/skills/orc-learn/references/template-knowledge.md +83 -0
  391. package/templates/skills/orc-learn/references/template-learning.md +67 -0
  392. package/templates/skills/orc-mini/SKILL.md +226 -0
  393. package/templates/skills/orc-mini/examples/mini-run-mock.md +50 -0
  394. package/templates/skills/orc-pact/SKILL.md +218 -0
  395. package/templates/skills/orc-pact/references/gate.md +70 -0
  396. package/templates/skills/orc-pact/references/ledger.md +99 -0
  397. package/templates/skills/orc-pattern/SKILL.md +124 -0
  398. package/templates/skills/orc-pattern/references/INDEX.md +73 -0
  399. package/templates/skills/orc-pattern/references/be-django.md +80 -0
  400. package/templates/skills/orc-pattern/references/be-express.md +82 -0
  401. package/templates/skills/orc-pattern/references/be-fastapi.md +107 -0
  402. package/templates/skills/orc-pattern/references/be-go.md +96 -0
  403. package/templates/skills/orc-pattern/references/be-nestjs.md +86 -0
  404. package/templates/skills/orc-pattern/references/be-postgres.md +98 -0
  405. package/templates/skills/orc-pattern/references/fe-a11y.md +36 -0
  406. package/templates/skills/orc-pattern/references/fe-angular.md +87 -0
  407. package/templates/skills/orc-pattern/references/fe-nextjs.md +65 -0
  408. package/templates/skills/orc-pattern/references/fe-perf.md +39 -0
  409. package/templates/skills/orc-pattern/references/fe-react.md +83 -0
  410. package/templates/skills/orc-pattern/references/fe-vue.md +75 -0
  411. package/templates/skills/orc-pattern/schemas/pattern-doc.md +62 -0
  412. package/templates/skills/orc-poly/SKILL.md +216 -0
  413. package/templates/skills/orc-poly/examples/poly-run-mock.md +51 -0
  414. package/templates/skills/orc-poly/references/gather.md +70 -0
  415. package/templates/skills/orc-poly/references/poly-spec.md +84 -0
  416. package/templates/skills/orc-pr-driver/README.md +349 -0
  417. package/templates/skills/orc-pr-driver/SKILL.md +167 -0
  418. package/templates/skills/orc-pr-driver/references/conflict-playbook.md +78 -0
  419. package/templates/skills/orc-pr-driver/references/green-gate.md +105 -0
  420. package/templates/skills/orc-pr-driver/references/orc-run-split.md +99 -0
  421. package/templates/skills/orc-pr-setup/README.md +436 -0
  422. package/templates/skills/orc-pr-setup/SKILL.md +184 -0
  423. package/templates/skills/orc-pr-setup/references/certainty-gate.md +66 -0
  424. package/templates/skills/orc-pr-setup/references/layer-taxonomy.md +67 -0
  425. package/templates/skills/orc-quick/README.md +423 -0
  426. package/templates/skills/orc-quick/SKILL.md +306 -0
  427. package/templates/skills/orc-quick/references/context-doc.md +114 -0
  428. package/templates/skills/orc-quick/references/dispatch-gate.md +163 -0
  429. package/templates/skills/orc-quick/references/gh-mode.md +127 -0
  430. package/templates/skills/orc-retro/SKILL.md +222 -0
  431. package/templates/skills/orc-retro/examples/retro-mock.md +171 -0
  432. package/templates/skills/orc-route/SKILL.md +165 -0
  433. package/templates/skills/orc-verify/SKILL.md +86 -0
  434. package/templates/skills/orc-verify/examples/verify-mock.md +33 -0
  435. package/templates/skills/orc-wiki/README.md +325 -0
  436. package/templates/skills/orc-wiki/SKILL.md +322 -0
  437. package/templates/skills/orc-wiki/examples/wiki-run-mock.md +37 -0
  438. package/templates/skills/orc-wiki/references/claude-md-injection.md +61 -0
  439. package/templates/skills/orc-wiki/references/crosslink-compile.md +39 -0
  440. package/templates/skills/orc-wiki/references/crosslink-kinds.md +57 -0
  441. package/templates/skills/orc-wiki/references/crosslink.md +284 -0
  442. package/templates/skills/orc-wiki/references/extra.md +79 -0
  443. package/templates/skills/orc-wiki/references/integrity-check.md +86 -0
  444. package/templates/skills/orc-wiki/references/orientation.md +51 -0
  445. package/templates/skills/orc-wiki/references/partial-refresh.md +203 -0
  446. package/templates/skills/orc-wiki/references/pattern-prewarm.md +19 -0
  447. package/templates/skills/orc-wiki/references/staleness.md +288 -0
  448. package/templates/skills/orc-wiki/schemas/crosslink-tag.md +166 -0
  449. package/templates/skills/orc-wiki/schemas/wiki-doc.md +120 -0
@@ -0,0 +1,534 @@
1
+ # Mock run — `/orc-budget`
2
+
3
+ > What will this run burn, **before** you start it — in the unit you are
4
+ > actually billed in.
5
+
6
+ ---
7
+
8
+ ## 1. What it does
9
+
10
+ There are many tools that tell you how much you spent **last month**. That
11
+ problem is solved.
12
+
13
+ Nobody can tell you what **this one plan** will burn, before you run it.
14
+
15
+ To answer that you need a record of your own past runs: what score each task
16
+ had, which model ran it, how many tokens of each kind it used, and whether it
17
+ worked. **ORC already has this.** Behavior traces are always on. Claude Code
18
+ writes a usage transcript for every session. Nobody has ever joined the two.
19
+
20
+ ### Two things the first design got wrong
21
+
22
+ **Wrong 1: one number.** "407k tokens" hides that about 80% of it is *cache
23
+ reads*, which cost about a tenth of a normal input token. Four kinds of token
24
+ exist and they behave completely differently:
25
+
26
+ | Kind | Usual share | Relative price | Why it must be separate |
27
+ |---|---|---|---|
28
+ | `input` | small | 1× | fresh, uncached prompt |
29
+ | `cache write` | medium | ~1.25× | writing the cache — a real cost |
30
+ | `cache read` | **usually the biggest** | ~0.1× | almost free, and it dominates the raw count |
31
+ | `output` | small | ~5× | the most expensive tokens in the run |
32
+
33
+ **Wrong 2: dollars as the headline.** On Pro or Max you do **not** pay per
34
+ token. You burn against a 5-hour session window and a weekly limit. "$7.02"
35
+ means nothing to that user. **"18% of your 5-hour window" means everything.**
36
+
37
+ So the rule is: **tokens are the unit of truth, and everything else is derived
38
+ from them.**
39
+
40
+ | View | Unit | Who it is for |
41
+ |---|---|---|
42
+ | **tokens** | in / cache-write / cache-read / out | everyone, always shown |
43
+ | **quota** | % of the 5-hour window, % of the weekly limit | Pro / Max — most users |
44
+ | **usd** | $ from a dated price table | API billing, enterprise |
45
+ | **context** | peak tokens per agent vs its window | everyone, shown only at risk |
46
+
47
+ ---
48
+
49
+ ## 2. The run — forecast
50
+
51
+ Rina has the same 12-task plan from lane 02. She is on Max 20x.
52
+
53
+ ```
54
+ > /orc-budget plan.md
55
+ ```
56
+
57
+ ```
58
+ ORC · budget · forecast
59
+
60
+ Reading plan.md — 12 tasks, 4 waves.
61
+ Reading your history:
62
+ ORC traces 31 runs, 189 task dispatches
63
+ usage transcripts ~/.claude/projects/C--dev-shopcart/ — 47 sessions
64
+ joined 184 of 189 dispatches (5 unattributed, 2.6%)
65
+
66
+ No model is used for this. It is arithmetic on your own logs.
67
+ Your plan: Max 20x (change with: orc config set budget_plan <plan>)
68
+ ```
69
+
70
+ ```
71
+ ORC · budget · TOKENS (p50 → p90)
72
+
73
+ band model / count input cache-w cache-r output
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
83
+ fixed roles analyst · planner · reviewer · verifier · trace writer
84
+ 18.2k 121.0k 248.0k 26.4k
85
+ ────────────────────────────────────────────────────────────────────────────
86
+ TOTAL p50 61.4k 418.8k 847.8k 89.3k
87
+ TOTAL p90 93.0k 632.0k 1,318.0k 140.0k
88
+
89
+ raw total p50 1.42M tokens p90 2.18M
90
+ weighted total p50 652k-equivalent p90 1.01M
91
+ (cache-read counted at 0.1×)
92
+
93
+ server tools 3 web searches · 1 web fetch
94
+
95
+ ORC · budget · the other views
96
+
97
+ QUOTA 21% → 32% of a 5-hour window on Max 20x
98
+ 4.7% → 7.3% of the weekly limit
99
+ USD $6.76 → $10.50 price table 2026-08-01, 9 days old ✓
100
+ TIME 18 → 31 min
101
+
102
+ ORC · budget · CONTEXT RISK — 1 of 12 tasks
103
+
104
+ T12 backfill 1.4M rows opus-5-high est. peak 189k / 200k 95% ⚠
105
+ what is in the slice:
106
+ 3 wiki docs 58k ← orc-reference-config.md used 2/20
107
+ code pattern (typescript) 11k
108
+ 6 declared files 74k
109
+ plan + contracts 31k
110
+ pact + boundary cards 4k
111
+ headroom for the work 11k
112
+ This task will probably compact. Compaction is silent and it lowers
113
+ quality. Three options:
114
+ · split T12 into two tasks
115
+ · drop orc-reference-config.md from the slice (used 2 of 20 runs)
116
+ · raise the band so a larger-window model takes it
117
+
118
+ Other 11 tasks: highest is T09 at 142k / 200k (71%). Fine.
119
+ ```
120
+
121
+ ```
122
+ ORC · budget · the same plan, on other lanes
123
+
124
+ lane raw tok weighted quota (Max 20x) usd p50 time note
125
+ ──────────────────────────────────────────────────────────────────────────────
126
+ /orc-ultra 2.78M 1.24M 41% of window $14.20 34–58m 4 judge gates
127
+ /orc 1.42M 652k 21% of window $6.76 18–31m ← recommended
128
+ /orc-mini 0.47M 216k 7% of window $2.10 9–15m no review, no verify
129
+ /orc-fast not possible 1 REFUSE, 3 ESCALATE
130
+ /orc-quick 0.29M 133k 4% per request $1.30 per req you drive it
131
+
132
+ From /orc-boundary: T12 is REFUSE. With boundary_gate: block it is never
133
+ dispatched, and /orc drops to 1.23M raw / 564k weighted / 18% / $5.31.
134
+ That also removes the only context-risk task.
135
+
136
+ My reading, not a decision:
137
+ 3 tasks over score 70 and it touches money. /orc-mini would skip review
138
+ on the Stripe call. I would not recommend that here.
139
+ ```
140
+
141
+ ```
142
+ ORC · budget · how sure am I
143
+
144
+ band past dispatches confidence
145
+ ─────────────────────────────────────────────
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
153
+ [90,100] 2 LOW — insufficient history
154
+
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.
157
+
158
+ Cache-read has its own range and it is the widest part of the forecast —
159
+ it depends on how much of your repo is already warm. Do not budget on the
160
+ raw total; budget on the weighted one.
161
+
162
+ 5 dispatches (2.6%) could not be joined to a task. They are counted in an
163
+ `unattributed` bucket, never dropped.
164
+
165
+ This gets better on its own. Every run sharpens the next forecast.
166
+
167
+ Wrote: orc-budget/partial-refunds/forecast.md
168
+ Trace: run-budget-partial-refunds-100826-163310.txt
169
+ ```
170
+
171
+ ---
172
+
173
+ ## 3. Where the numbers come from
174
+
175
+ This part is real, not hand-waved. It was checked on a live machine.
176
+
177
+ Claude Code writes one JSONL transcript per session at
178
+ `~/.claude/projects/<project-slug>/*.jsonl`. Every assistant message carries:
179
+
180
+ ```json
181
+ "usage": {
182
+ "input_tokens": 2,
183
+ "cache_creation_input_tokens": 44439,
184
+ "cache_read_input_tokens": 18432,
185
+ "output_tokens": 582,
186
+ "server_tool_use": { "web_search_requests": 0, "web_fetch_requests": 0 }
187
+ }
188
+ ```
189
+
190
+ and the line also carries `model`, `effort`, `timestamp`, `requestId`, `cwd`,
191
+ `sessionId`, and **`isSidechain`** — which is how a subagent dispatch is told
192
+ apart from the main conversation.
193
+
194
+ **The join is the part nobody else has:**
195
+
196
+ ```
197
+ transcript → isSidechain block · model · effort · 4 token counts · timestamp
198
+ ORC trace → DISPATCH: task id, score, band, expect=<model>/<effort>,
199
+ wiki: continuation · RETURN: actual_model, actual_effort
200
+ join key → cwd + run time window + sidechain grouping + model/effort
201
+ ```
202
+
203
+ The transcript gives the **cost**. The ORC trace gives the **meaning** — which
204
+ task, which band, whether it was requeued, whether the slice carried wiki
205
+ material. Neither is enough alone. Community spend tools have the left column
206
+ only, which is why they can total your month but cannot price your plan.
207
+
208
+ **Honesty rules for the data path:**
209
+
210
+ - **No transcripts found** → forecast in **tokens only, from ORC trace
211
+ metadata**, and print *"dollars and quota unavailable: no local usage data"*.
212
+ Never invent a price.
213
+ - **A sidechain block that cannot be joined** goes to `unattributed`, always
214
+ printed, never silently dropped.
215
+ - **Cache reads get their own p50/p90**, never a share of a blended number.
216
+ - **The price table is dated.** Older than 90 days → a staleness warning next to
217
+ every dollar figure.
218
+
219
+ ---
220
+
221
+ ## 4. The run — actual, after the build
222
+
223
+ ```
224
+ $ orc budget actual run-orc-partial-refunds-100826-171450
225
+ ```
226
+
227
+ ```
228
+ BUDGET · actual vs forecast · run-orc-partial-refunds-100826-171450
229
+
230
+ band forecast p50 (weighted) actual diff note
231
+ ────────────────────────────────────────────────────────────────────────
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%
239
+ [90,100] — — not run T12 blocked
240
+ fixed roles 178k 187k +5%
241
+ ────────────────────────────────────────────────────────────────────────
242
+ forecast 564k weighted · 1.23M raw · 18% window · $5.31
243
+ actual 757k weighted · 1.58M raw · 24% window · $6.66
244
+ over by +34% weighted, +28% raw — inside the p90 of 1.01M. Held.
245
+
246
+ cache-read share 74% forecast → 71% actual (cache behaved as expected)
247
+ output tokens +52% over forecast (repairs are output-heavy)
248
+ unattributed 2.1% — 12 sidechain blocks
249
+ wall time 16 min forecast → 21 min actual
250
+
251
+ What went wrong, for the record:
252
+ T04 (refund payout target) was requeued 2 times. It is the task
253
+ /orc-boundary marked ESCALATE because PACT-006 has no test. The
254
+ executor had nothing to check itself against, so it guessed, got
255
+ reviewed, and tried again. Every retry is almost pure output tokens,
256
+ which is why the money moved more than the raw count did.
257
+
258
+ Same finding from three angles. Cheap fix: write the test for PACT-006.
259
+
260
+ Fed to /orc-retro. Band [70,80) now has 10 samples.
261
+ ```
262
+
263
+ **Why both weighted and raw are reported:** raw is what fills a context window
264
+ and a rate limit. Weighted is what fills an invoice. They move differently — in
265
+ this run raw went +28% while weighted went +34%, because the extra work was
266
+ output-heavy. One number would have hidden whichever one was about to bite.
267
+
268
+ ---
269
+
270
+ ## 5. The file it made
271
+
272
+ ### `orc-budget/partial-refunds/forecast.md`
273
+
274
+ ````markdown
275
+ # Budget forecast — partial-refunds
276
+
277
+ Made 10-08-2026 16:33 at commit `c273793`.
278
+ Corpus: 31 ORC runs / 189 dispatches, joined to 47 usage transcripts.
279
+ Plan: Max 20x. Price table 2026-08-01.
280
+
281
+ ## Headline
282
+
283
+ | Lane | raw tok | weighted | quota | usd p50 | time |
284
+ |---|---|---|---|---|---|
285
+ | `/orc-ultra` | 2.78M | 1.24M | 41% | $14.20 | 34–58 min |
286
+ | **`/orc`** | **1.42M** | **652k** | **21%** | **$6.76** | **18–31 min** |
287
+ | `/orc-mini` | 0.47M | 216k | 7% | $2.10 | 9–15 min |
288
+ | `/orc-fast` | not possible | | | | |
289
+
290
+ ## Token split, p50, on /orc
291
+
292
+ | kind | tokens | share of raw | share of cost |
293
+ |---|---|---|---|
294
+ | input | 61k | 4% | 9% |
295
+ | cache write | 419k | 30% | 79% |
296
+ | cache read | 848k | 60% | 12% |
297
+ | output | 89k | 6% | — see note |
298
+
299
+ Note: output is 6% of the raw count and the single most expensive line per
300
+ token. A run that retries a lot moves the bill far more than it moves the
301
+ token count.
302
+
303
+ ## Context risk
304
+
305
+ `T12` at 189k / 200k (95%) — likely to compact.
306
+ Largest slice item: 3 wiki docs at 58k, one of which (`orc-reference-config.md`)
307
+ was used in 2 of the last 20 runs.
308
+
309
+ ## Confidence
310
+
311
+ Bands `[80,90)` and `[90,100]` have fewer than 5 samples. Their p90 is derived,
312
+ not measured. `unattributed` = 2.6%.
313
+
314
+ ## Assumptions
315
+
316
+ - No repair rounds assumed. Each repair round adds roughly 40% of that task's
317
+ weighted cost, and far more of its output tokens.
318
+ - Wall time assumes waves run in parallel at `max_parallel: 3`.
319
+ - Cache-read assumes a warm repo. A cold first run of the day runs higher.
320
+ ````
321
+
322
+ ---
323
+
324
+ ## 6. The CLI part
325
+
326
+ ```
327
+ $ orc budget forecast plan.md --as quota
328
+ ```
329
+
330
+ ```
331
+ BUDGET · /orc · Max 20x
332
+
333
+ 21% → 32% of a 5-hour window
334
+ 4.7% → 7.3% of the weekly limit
335
+
336
+ You have used 38% of this window already. This run would take you to
337
+ about 59%, or 70% at p90.
338
+ ```
339
+
340
+ ```
341
+ $ orc budget forecast plan.md --json
342
+ ```
343
+
344
+ ```json
345
+ {
346
+ "plan": "plan.md",
347
+ "tasks": 12, "waves": 4,
348
+ "corpus": { "runs": 31, "dispatches": 189, "joined": 184, "unattributed_pct": 2.6 },
349
+ "budget_plan": "max20",
350
+ "price_table_version": "2026-08-01",
351
+ "price_table_age_days": 9,
352
+ "lanes": [
353
+ {
354
+ "lane": "orc",
355
+ "possible": true,
356
+ "tokens": {
357
+ "p50": { "input": 61400, "cache_write": 418800, "cache_read": 847800, "output": 89300 },
358
+ "p90": { "input": 93000, "cache_write": 632000, "cache_read": 1318000, "output": 140000 }
359
+ },
360
+ "raw_total": { "p50": 1417300, "p90": 2183000 },
361
+ "weighted_total": { "p50": 652000, "p90": 1010000 },
362
+ "server_tool_use": { "web_search_requests": 3, "web_fetch_requests": 1 },
363
+ "usd": { "p50": 6.76, "p90": 10.50 },
364
+ "quota": { "session_pct": { "p50": 21, "p90": 32 }, "weekly_pct": { "p50": 4.7, "p90": 7.3 } },
365
+ "wall_minutes": { "p50": 18, "p90": 31 }
366
+ },
367
+ { "lane": "orc-fast", "possible": false, "blocked_by": "boundary: 1 refuse, 3 escalate" }
368
+ ],
369
+ "context_risk": [
370
+ {
371
+ "task": "T12", "model": "claude-opus-5",
372
+ "est_peak_tokens": 189000, "window": 200000, "pct": 95,
373
+ "slice": { "wiki_docs": 58000, "pattern": 11000, "declared_files": 74000,
374
+ "plan_contracts": 31000, "pact_boundary": 4000 },
375
+ "options": ["split the task", "drop orc-reference-config.md (used 2/20)", "raise the band"]
376
+ }
377
+ ],
378
+ "bands": [
379
+ { "band": "[80,90)", "samples": 4, "confidence": "low", "reason": "insufficient history" },
380
+ { "band": "[90,100]", "samples": 2, "confidence": "low", "reason": "insufficient history" }
381
+ ],
382
+ "exit": 2
383
+ }
384
+ ```
385
+
386
+ Exit `0` normal · `1` at least one band is low-confidence · `2` a task is at
387
+ context risk · `3` no history, no forecast possible.
388
+
389
+ **When there is no history:**
390
+
391
+ ```
392
+ BUDGET · no forecast
393
+
394
+ 0 past runs in .claude/orc/logs/ and no usable transcripts in
395
+ ~/.claude/projects/.
396
+
397
+ I will not invent numbers.
398
+ Run /orc or /orc-mini once. After that I can forecast.
399
+
400
+ A floor from the public price table only, ignoring how your repo
401
+ actually behaves: orc budget forecast --naive
402
+ ```
403
+
404
+ **When there are traces but no transcripts:**
405
+
406
+ ```
407
+ BUDGET · tokens only
408
+
409
+ ORC traces found (31 runs). Usage transcripts not found.
410
+ I can forecast TOKENS from trace metadata. I cannot price them.
411
+
412
+ dollars : unavailable — no local usage data
413
+ quota : unavailable — no local usage data
414
+
415
+ raw total p50 1.42M tokens
416
+ ⚠ this estimate is coarser than usual: without transcripts I cannot
417
+ separate cache reads, so the raw total is a band-average, not measured.
418
+ ```
419
+
420
+ Exit still `0`. **This is the honesty rule in action** — a smaller answer, not a
421
+ fake one.
422
+
423
+ Two more commands:
424
+
425
+ ```
426
+ $ orc budget rates
427
+ ```
428
+
429
+ ```
430
+ BAND RATES · from 189 dispatches
431
+
432
+ band n input cache-w cache-r output weighted p50
433
+ ──────────────────────────────────────────────────────────────────────
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
437
+ [90,100] 2 8.0k 56.0k 114.0k 14.2k 103.0k LOW
438
+ ```
439
+
440
+ ```
441
+ $ orc budget calibrate
442
+ ```
443
+
444
+ Rebuilds the per-band model from transcripts + traces. Run it after a batch of
445
+ runs, or when the join rate drops.
446
+
447
+ ---
448
+
449
+ ## 7. Inside a normal `/orc` run
450
+
451
+ **At Phase 2 intake**, next to the batch pause confirmation:
452
+
453
+ ```
454
+ Intake · confirm before we start
455
+
456
+ 12 tasks · 4 waves · pause after every 2 waves
457
+
458
+ Forecast 1.42M raw / 652k weighted tokens
459
+ 21% → 32% of your 5-hour window
460
+ $6.76 → $10.50 · 18 → 31 minutes
461
+ (from your own 31 runs; 2 bands have low confidence)
462
+
463
+ ⚠ T12 is forecast at 95% of its context window and will probably compact.
464
+
465
+ Pause points are also budget points. At each pause I will tell you what
466
+ you have burned and what is left.
467
+
468
+ 1 Start
469
+ 2 Switch to /orc-mini (216k weighted · 7% of window · $2.10, no review)
470
+ 3 Fix the context risk first
471
+ 4 Change the plan
472
+ ```
473
+
474
+ **At each batch pause:**
475
+
476
+ ```
477
+ Pause after wave 2 of 4
478
+
479
+ Burned so far : 281k weighted · 9% of window (forecast to here 244k–390k)
480
+ Left to go : 240k → 420k weighted · 8–13% of window
481
+ Inside the forecast.
482
+
483
+ 1 Continue 2 Stop here
484
+ ```
485
+
486
+ **In `/orc-route`**, a unit-aware cost column:
487
+
488
+ ```
489
+ Recommended lane: /orc
490
+
491
+ lane score weighted quota why
492
+ ────────────────────────────────────────────────────────────────────────
493
+ /orc 88 652k 21% 3 tasks over 70, money code, needs review
494
+ /orc-mini 61 216k 7% cheaper, but skips review on the Stripe call
495
+ /orc-ultra 54 1.24M 41% more rigor than this plan needs
496
+ /orc-fast 0 — — not possible: 1 REFUSE task
497
+ ```
498
+
499
+ Before this, routing was a feeling. Now it has a price **in the unit you are
500
+ billed in**.
501
+
502
+ ---
503
+
504
+ ## 8. Why this is good for ORC
505
+
506
+ **It is the one thing only ORC can do.** Every competitor can count tokens after
507
+ the fact. Only ORC has per-task scores, per-band models, per-dispatch traces,
508
+ and a slice it composed itself — so only ORC can join a cost to a *meaning*.
509
+ This forecast is impossible without that.
510
+
511
+ **It speaks the user's actual currency.** Most Claude Code users are on Pro or
512
+ Max and do not pay per token. A quota view is the difference between a number
513
+ they ignore and a number they act on. No spend tool does per-plan quota
514
+ forecasting.
515
+
516
+ **Context risk is a new kind of answer.** Compaction is silent, it lowers
517
+ quality, and today nothing warns you before it happens. ORC can, because ORC
518
+ builds the slice. And the fix it suggests — *drop the wiki doc nobody uses* —
519
+ comes straight out of the wiki usage work.
520
+
521
+ **It makes `/orc-route` real.** "This lane costs 3× more and here is what you
522
+ get" is a far better sentence than "this lane is more thorough".
523
+
524
+ **It gets better by itself.** Every run adds samples. The lane starts weak and
525
+ says so, then sharpens. That is a good shape for a product: it rewards staying.
526
+
527
+ **It closes a loop with `/orc-retro`.** Forecast vs actual per band is exactly
528
+ 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
530
+ the overage was mostly *output* tokens, which points straight at retries rather
531
+ than at big context.
532
+
533
+ **It costs almost nothing to run.** Pure arithmetic in `bin/cli.js`. No model,
534
+ no tokens. And because it speaks `--json`, `orc ui` gets a Cost panel free.