@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,330 @@
1
+ # Mock run — when a different AI model stops half-way
2
+
3
+ > A worker on another model wrote most of a file and then lost its connection.
4
+ > ORC can tell you exactly what it left behind, whose fault it was, and hand the
5
+ > rest to somebody who continues instead of starting again.
6
+
7
+ ---
8
+
9
+ ## 1. What this is about
10
+
11
+ You told ORC that small tasks may run on a cheaper model — DeepSeek, GLM, Kimi,
12
+ a model on your own laptop. That is `orc extra`, and it works.
13
+
14
+ Then one of those workers stops in the middle. The wifi drops. The provider
15
+ returns an error. The laptop sleeps. You close the terminal.
16
+
17
+ **The worker has already changed files on your disk.** It wrote five of six
18
+ lines and never wrote the sixth. Nothing warns you, and the build may even still
19
+ pass, because the file it half-wrote is not wired up yet.
20
+
21
+ Before ORC 0.54.0, ORC sent the same task again from the start — to a Claude
22
+ worker this time — as if nothing had happened. That new worker arrives at a file
23
+ that is already two-thirds written and has three bad choices:
24
+
25
+ - write the file again, and throw away work you already paid for;
26
+ - edit a file it thinks it knows and get it wrong, because its idea of the file
27
+ is out of date;
28
+ - read the file first and then guess whether what is there is good work, an
29
+ old attempt, or rubbish. It has no way to tell.
30
+
31
+ This release removes that. **A failed dispatch is a position, not a blank page.**
32
+
33
+ ---
34
+
35
+ ## 2. The story
36
+
37
+ You run a normal build. One task goes to your DeepSeek connection.
38
+
39
+ ```
40
+ /orc
41
+ ```
42
+
43
+ ```
44
+ extra: [0,40) → dipkshit/deepseek-v4-flash via api
45
+ wave 1 · 3 tasks
46
+ ```
47
+
48
+ Task `T-2` has to add a health route. The worker starts. It writes
49
+ `src/routes/health.js`. Then your wifi drops.
50
+
51
+ ```
52
+ ❌ dipkshit/deepseek-v4-flash — connection-lost-local:
53
+ the connection was established and then died mid-response
54
+ ```
55
+
56
+ ORC stops and tells you what it found.
57
+
58
+ ---
59
+
60
+ ## 3. What ORC knows, and why it knows it
61
+
62
+ Before that dispatch sent a single byte, ORC wrote down what your repository
63
+ looked like. Not the whole repository — only the files that task was allowed to
64
+ touch, plus the list of everything git already saw as changed.
65
+
66
+ That record is called the **journal**. It lives in
67
+ `.claude/orc/extra-journal/T-2/`.
68
+
69
+ **ORC writes it itself, while the dispatch runs.** It is not something the run
70
+ remembers to do at the end. This matters: if the process is killed, there is no
71
+ end. The record is already on disk.
72
+
73
+ Now ask what happened. This read is **free** — no model, no tokens:
74
+
75
+ ```
76
+ orc extra reconcile T-2
77
+ ```
78
+
79
+ ```
80
+ T-2 · attempt 1 of 1 — RESUMABLE
81
+ the worktree moved off the baseline — there is a position
82
+ dipkshit/deepseek-v4-flash · engine api · band [0,40)
83
+ ended: failed · connection-lost-local (retryable)
84
+
85
+ attributed: NETWORK
86
+ the connection to deepseek failed, and an UNAUTHENTICATED probe of
87
+ https://api.deepseek.com/v1/models also failed inside 3s. That points at this
88
+ machine's network, not at the provider.
89
+ · 3 turn(s) completed
90
+ · 1 file(s) were written before it stopped
91
+ · network probe: ECONNREFUSED after 3000ms
92
+ ⚠ a Claude fallback would fail too — falling back here burns a second failure
93
+ and a second cost for nothing.
94
+
95
+ the position:
96
+ src/routes/health.js — created (+7 −0)
97
+ src/app.js — untouched
98
+ last action: turn 4 of 12 · Write src/routes/health.js · ok
99
+ fidelity: per-turn — every turn and every tool call was recorded as it happened.
100
+ tokens so far: 8140/0/0/512 — read from the journal's per-turn vector. It is a
101
+ FLOOR — the true total may be higher, because the dispatch died before it
102
+ could report.
103
+
104
+ acceptance (carried forward, UNEVALUATED):
105
+ · GET /health returns 200 {status:'ok'}
106
+
107
+ resume target: hold
108
+ attributed to this machine's NETWORK. A Claude fallback would fail too, so
109
+ hold the wave and say why — do not spend a second failure finding that out.
110
+ ```
111
+
112
+ Read that last part again, because it is the point of the whole release.
113
+
114
+ **ORC did not send the task to Claude.** Your internet is down. A Claude worker
115
+ would fail for exactly the same reason, and you would have paid for two failures
116
+ instead of one. So ORC stopped and told you what to fix.
117
+
118
+ ---
119
+
120
+ ## 4. Whose fault was it
121
+
122
+ This is a real question with a real answer, and each answer means something
123
+ different for what you do next.
124
+
125
+ | verdict | what it means | what you do |
126
+ |---|---|---|
127
+ | `provider` | the other company's endpoint answered, and said no | send the task to Claude instead — that works |
128
+ | `network` | your machine could not reach anything | fix your connection; nothing else will work |
129
+ | `local` | something on this computer — a missing program, a disk error | fix it here |
130
+ | `worker` | the conversation was fine and the model ran out of turns or gave up | the task was too big for that band |
131
+ | `orc` | ORC built a request the endpoint refused | **an ORC bug**, and ORC says so |
132
+
133
+ ORC tells `provider` and `network` apart by making **one cheap request with no
134
+ key attached**, with a three-second limit. If that request gets any answer at
135
+ all — even a "wrong key" answer — the network is fine and the problem is the
136
+ endpoint. If it gets nothing, the problem is your machine.
137
+
138
+ `orc` is on that list on purpose. This is a report about somebody else's
139
+ service. A report that can never blame the person who wrote it is not a report
140
+ you should trust.
141
+
142
+ ---
143
+
144
+ ## 5. Continuing instead of starting again
145
+
146
+ Your wifi comes back. Now you continue:
147
+
148
+ ```
149
+ orc extra resume-slice T-2 --out .orc/T-2.resume.json
150
+ ```
151
+
152
+ ```
153
+ ✔ resuming T-2 on dipkshit/deepseek-v4-flash in a NEW session — 1 file(s)
154
+ already changed on disk are carried into the slice, not re-done.
155
+
156
+ target: extra dipkshit
157
+ `connection-lost-local` is retryable, so the same profile gets it again in a
158
+ NEW session — carrying the position it left behind.
159
+
160
+ carried into the slice:
161
+ src/routes/health.js — created (+7 −0)
162
+ src/app.js — untouched
163
+
164
+ /repo/.orc/T-2.resume.json
165
+ orc extra dispatch --task /repo/.orc/T-2.resume.json --json
166
+ ```
167
+
168
+ The new task file is the old one, plus a note at the top that ORC wrote:
169
+
170
+ > This task was already started by a worker that was cut off before it finished.
171
+ > **The repository already contains its partial work.** Do not start over and do
172
+ > not rewrite a file that is already correct. Read each file listed below before
173
+ > changing it. Finish the task; change nothing that is already done.
174
+ >
175
+ > `src/routes/health.js` — **created** by the previous attempt (+7 / −0 lines).
176
+ > `src/app.js` — **untouched**.
177
+ >
178
+ > Last recorded action: turn 4 of 12 · `Write src/routes/health.js` · ok.
179
+ > The previous attempt ended: `connection-lost-local` (attributed: network).
180
+
181
+ Then it runs like any other dispatch. There is no special mode and no new kind
182
+ of worker. Every rule that already protected you still applies.
183
+
184
+ The next worker reads the file, sees the six lines, adds the missing line, and
185
+ is done.
186
+
187
+ ---
188
+
189
+ ## 6. Four things a resume may never do
190
+
191
+ These are rules, not settings.
192
+
193
+ **It may never add a file to the list.** The task said which files it may
194
+ change. A continuation that could add one would widen that list through the one
195
+ door nobody is watching.
196
+
197
+ **It may never change what "done" means.** The goal was set before any of this
198
+ happened. A failure must not be allowed to lower its own bar.
199
+
200
+ **It may never change the score.** So it lands on the same band and the same
201
+ model. A resume is not a discount.
202
+
203
+ **It may never continue a task that changed.** ORC saved a fingerprint of the
204
+ original task. If the plan moved in between, ORC refuses and shows you both
205
+ fingerprints, because continuing a stale task quietly produces work nobody
206
+ asked for.
207
+
208
+ ---
209
+
210
+ ## 7. When ORC refuses
211
+
212
+ Six refusals, each with its own name, and each one writes nothing.
213
+
214
+ | name | what it means |
215
+ |---|---|
216
+ | `not-resumable` | nothing was written, so starting again is the right move |
217
+ | `in-flight` | that worker may still be running. Two workers on one file is worse than one lost worker |
218
+ | `reverted-file` | a file went **backwards** — closer to the last commit than it was. Something may have been deleted, and that is your call |
219
+ | `slice-drifted` | the task changed between attempts |
220
+ | `resume-cap` | you have already resumed this task twice (`extra_resume_max`) |
221
+ | `resume-disabled` | you turned `extra_resume` off |
222
+
223
+ `in-flight` is the important one. A dropped connection does **not** prove the
224
+ worker stopped. The other company's servers may still be sending. ORC waits for
225
+ one of two things: the process is gone, or the time it reserved has run out.
226
+
227
+ And it says the honest part out loud: after that time has passed, a process with
228
+ the same number is treated as somebody else's. That is a reasonable guess, not
229
+ proof, and ORC tells you which it is.
230
+
231
+ ---
232
+
233
+ ## 8. Dispatches that never came back at all
234
+
235
+ If the process was killed — you closed the terminal, the machine slept — ORC
236
+ never got to write down how it ended. That record has a beginning and no end.
237
+
238
+ ORC notices before your next run starts:
239
+
240
+ ```
241
+ ⚠ 1 foreign dispatch from an earlier run never reported back
242
+ T-9 · local-opencode/deepseek-chat · started 11:15 · 1 declared file, 1 changed on disk
243
+ orc extra reconcile T-9 → resumable
244
+ ```
245
+
246
+ **It tells you. It never continues it on its own.** Quietly finishing somebody
247
+ else's half-written change in your repository is not a thing ORC does without
248
+ asking — the same rule that makes ORC announce every task that leaves Claude.
249
+
250
+ It also does not stop your run. It is something to know, not a wall.
251
+
252
+ That killed dispatch cost real money, too. ORC recovers what it recorded and
253
+ writes it into the spending log, marked clearly:
254
+
255
+ > tokens recovered from the journal. This is a **floor** — the real total may be
256
+ > higher, because the dispatch died before it could report.
257
+
258
+ A number that might be too low is useful. A number that pretends to be exact is
259
+ not.
260
+
261
+ ---
262
+
263
+ ## 9. In the panel
264
+
265
+ ```
266
+ orc ui
267
+ ```
268
+
269
+ **Extra ▸ Recovery** lists every recorded dispatch. Click one and it opens in
270
+ place: which files changed and by how many lines, the last thing the worker did,
271
+ whose fault it was, and what the task had to achieve.
272
+
273
+ Two things about that screen:
274
+
275
+ - **The free read is a button. The paid one is a command you copy.** Reconciling
276
+ costs nothing, so you can press it. Continuing the task costs money and runs a
277
+ worker, so the panel gives you the command and you run it where work runs. The
278
+ panel never runs work for you.
279
+ - **Every row keeps its place.** A dispatch with nothing to resume still shows,
280
+ saying so. If ORC hid it, "there was nothing there" and "ORC never looked"
281
+ would look the same.
282
+
283
+ **Extra ▸ Spending** now also shows how often each connection actually finishes:
284
+
285
+ ```
286
+ dipkshit 41 dispatch(es) · 6 failed · 4 resumed · 1 never reported back 15% did not finish
287
+ provider 2 · network 3 · local 0 · worker 1 · orc 0 · unattributed 0
288
+ average time before a failure: 38s
289
+ ```
290
+
291
+ Under ten dispatches it says **sample too small** and shows no percentage. A
292
+ rate worked out from three tries is noise with a percent sign on it.
293
+
294
+ ---
295
+
296
+ ## 10. What you can change
297
+
298
+ Two settings, and that is on purpose.
299
+
300
+ | setting | default | what it does |
301
+ |---|---|---|
302
+ | `extra_resume` | `on` | Continue a stopped dispatch instead of starting it again. On by default, because off is the broken behaviour. |
303
+ | `extra_resume_max` | `2` | How many times one task may be continued before ORC hands it to Claude and tells you. |
304
+
305
+ There is deliberately **no** setting for where a resume goes — ORC works that
306
+ out from what failed. There is **no** way to switch the journal off: a record you
307
+ can turn off is turned off on the day you needed it.
308
+
309
+ ---
310
+
311
+ ## 11. What it will not do
312
+
313
+ **It will not tell you whether a file is finished.** ORC will not count brackets
314
+ or guess that a line looks cut off. A checker that is right eight times in ten
315
+ teaches you to trust it the other two, and that is worse than having none. ORC
316
+ gives you the facts — what changed, what did not, what the worker last did — and
317
+ the worker that continues makes the judgement. Your build, your tests and the
318
+ reviewer are what decide whether the work is done, exactly as before.
319
+
320
+ **It will not continue anything by itself.** Every one of these steps is
321
+ something you asked for.
322
+
323
+ ---
324
+
325
+ ## 12. The one line to remember
326
+
327
+ > **A failed dispatch is a position, not a blank page.**
328
+
329
+ ORC knows what was there before, it knows what is there now, and it can tell the
330
+ next worker the difference — instead of pretending the first one never ran.
@@ -0,0 +1,177 @@
1
+ # Mock run — the jobs that have no score
2
+
3
+ > Four ORC lanes never give a task a score. They give one job to one agent. This
4
+ > walkthrough shows you how to send one of those jobs to a cheaper model, and
5
+ > what ORC tells you before it does.
6
+
7
+ ---
8
+
9
+ ## 1. What this is about
10
+
11
+ `orc extra` lets a task run on a different AI model — DeepSeek, GLM, Kimi, or a
12
+ model on your own laptop. Until now you told it **which score ranges** may go
13
+ there:
14
+
15
+ ```
16
+ [0,30) → deepseek/deepseek-chat
17
+ [30,55) → glm/glm-4.6
18
+ ```
19
+
20
+ That works for `/orc`, `/orc-ultra`, `/orc-mini` and `/orc-diy`, because those
21
+ lanes give every task a score.
22
+
23
+ **Four lanes never do.** `/orc-quick`, `/orc-fast`, `/orc-doc` and `/orc-wiki`
24
+ give one job to one agent and no score at all. So they get **positions** instead
25
+ of ranges. A position is one job with one name:
26
+
27
+ | position | the lane | the job |
28
+ |---|---|---|
29
+ | `quick-executor` | `/orc-quick` | writing the code for one quick entry |
30
+ | `fast-executor` | `/orc-fast` | the single executor of a fast run |
31
+ | `doc-writer` | `/orc-doc` | writing one part of a document |
32
+ | `doc-checker` | `/orc-doc` | reading one part back and reporting on it |
33
+ | `wiki-scanner-deep` | `/orc-wiki` | a full scan of one area |
34
+ | `wiki-scanner-light` | `/orc-wiki` | a small update to a doc that exists |
35
+
36
+ ---
37
+
38
+ ## 2. Looking at the positions
39
+
40
+ ```
41
+ $ orc extra role
42
+ ```
43
+
44
+ ```
45
+ ORC · extra — the positions
46
+ ───────────────────────────
47
+
48
+ quick-executor claude · orc-executor-sonnet-4-6-med /orc-quick
49
+ fast-executor claude · orc-executor-sonnet-4-6-high /orc-fast
50
+ doc-writer claude · orc-doc-writer-opus-5-med /orc-doc
51
+ doc-checker claude · orc-doc-checker-opus-5-low /orc-doc
52
+ wiki-scanner-deep claude · orc-wiki-scanner-opus-4-8-high /orc-wiki
53
+ wiki-scanner-light claude · orc-wiki-scanner-sonnet-5-high /orc-wiki
54
+
55
+ what each position is
56
+ quick-executor asked at the gate
57
+ fast-executor announced: the F0 preflight `extra:` line, before wave 1
58
+ doc-writer announced: before the wave, naming the sections
59
+ ...
60
+
61
+ A slot with no row is not a hole — it is Claude, and it is printed so "I left
62
+ the checker on Claude on purpose" and "there is no checker" never look the same.
63
+ ```
64
+
65
+ **All six are always listed, even the ones you have not touched.** A row you did
66
+ not fill in is not missing — it runs on the Claude agent printed beside it, and
67
+ you can see which one that is without going to look.
68
+
69
+ ---
70
+
71
+ ## 3. Giving one job to a cheaper model
72
+
73
+ You already connected DeepSeek and tested it (`orc extra add`, then
74
+ `orc extra ping`). Now give it the doc **writer** job — and only that one:
75
+
76
+ ```
77
+ $ orc extra role set doc-writer ds/deepseek-chat
78
+ ```
79
+
80
+ ```
81
+ doc-writer → ds/deepseek-chat /orc-doc
82
+ takes this position off: orc-doc-writer-opus-5-med
83
+ ```
84
+
85
+ Two things it will not do:
86
+
87
+ - **It will not let you point a job at a connection that never answered.** You
88
+ get a refusal that names the connection and the command that tests it.
89
+ - **It will not change any other job.** The doc *checker* is still on Claude, and
90
+ `orc extra role` will keep saying so.
91
+
92
+ ---
93
+
94
+ ## 4. What the document lane tells you, before it spends anything
95
+
96
+ A document is the one thing where the model is visible in the result — it is the
97
+ writing. So `/orc-doc` says which model writes which sections **before** the
98
+ wave, not after:
99
+
100
+ ```
101
+ $ orc doc next prd-billing
102
+ ```
103
+
104
+ ```
105
+ extra: writer — sections 03-scope, 04-users will be written off Claude.
106
+ writer → deepseek/deepseek-chat (via ds, displaces orc-doc-writer-opus-5-med).
107
+ A document's voice is the deliverable, so this is said before the wave, not
108
+ after it.
109
+ ```
110
+
111
+ The **checker** is not mentioned, because the checker is not going anywhere. Two
112
+ different jobs, two different answers — that is the whole point of a position.
113
+
114
+ You can also switch it off for one document without touching the position:
115
+
116
+ ```
117
+ $ orc doc extra prd-billing --set off
118
+ ```
119
+
120
+ ---
121
+
122
+ ## 5. The quick lane ASKS. It always asks.
123
+
124
+ `/orc-quick` never picks an agent for you. So a position there does not route
125
+ anything — it just **adds a third line to the menu you already read**:
126
+
127
+ ```
128
+ Which executor for entry 2 — "add retry header"?
129
+
130
+ 1. orc-executor-sonnet-4-6-med cheap, fits a 3-file change
131
+ 2. orc-executor-opus-5-low thinks harder, about 3× the cost
132
+ 3. deepseek/deepseek-chat via profile `ds` — sends this slice to a third party
133
+ ```
134
+
135
+ - It is **never** the default.
136
+ - It does **not** stick to the next entry.
137
+ - If it fails, the same menu comes back with the reason. ORC does not quietly
138
+ pick option 1 for you.
139
+
140
+ ---
141
+
142
+ ## 6. What ORC costs, and where it went
143
+
144
+ A job that ran somewhere else is written down like any other:
145
+
146
+ ```
147
+ $ orc extra stats
148
+ ```
149
+
150
+ ```
151
+ ds / slot:doc-writer 4 dispatches in 41.2k · cw 0 · cr 128.0k · out 9.1k $0.03
152
+ ds / [0,30) 11 dispatches in 88.0k · cw 0 · cr 210.4k · out 22.6k $0.07
153
+ ```
154
+
155
+ Each position gets its own line, so "the doc writer cost this much" is a
156
+ question you can answer.
157
+
158
+ ---
159
+
160
+ ## 7. The one rule underneath all of it
161
+
162
+ > **Extra decides whether a Claude agent runs at all. `opus5_only` and the score
163
+ > tables only decide which Claude agent runs where extra did not take it.**
164
+
165
+ If you gave `doc-writer` to DeepSeek, `opus5_only` is not consulted for that job
166
+ at all. It is still fully in charge of `doc-checker`, because you left that one
167
+ alone. `orc config list` prints both facts, so a setting is never quietly doing
168
+ nothing.
169
+
170
+ ---
171
+
172
+ ## 8. What this walkthrough did not do
173
+
174
+ - It never sent your code anywhere without printing a line about it first.
175
+ - It never picked a model for you in `/orc-quick`.
176
+ - It added **no new settings** to your config file. A position is a row you set
177
+ with one command and remove with one command.
@@ -0,0 +1,43 @@
1
+ # mock-run/media — where the demo video goes
2
+
3
+ This folder holds the screen recordings the mocked runs link to. It ships empty
4
+ on purpose: the files are big, and they go out of date faster than the docs do.
5
+
6
+ ## Add the `orc ui` walkthrough
7
+
8
+ 1. Start the panel on canned data, so nothing private is on screen:
9
+
10
+ ```bash
11
+ orc ui --fixtures
12
+ ```
13
+
14
+ 2. Record it. Keep it under about two minutes. A good route is:
15
+ Overview → Worth doing → Settings (stage two edits, apply) → Flow (the
16
+ stepper) → Crosslink (the graph) → **Mocked Skill Use** → Maintenance
17
+ (preview, then apply).
18
+
19
+ 3. Save the files here with **these exact names** — the links in
20
+ [`../orc-ui.md`](../orc-ui.md) and in the repository `README.md` already
21
+ point at them:
22
+
23
+ | File | What it is |
24
+ |---|---|
25
+ | `orc-ui-demo.mp4` | the recording (H.264 mp4 plays everywhere) |
26
+ | `orc-ui-demo-poster.png` | one still frame, used as the clickable image |
27
+
28
+ 4. Delete the placeholder comment block at the top of `../orc-ui.md`.
29
+
30
+ ## Playing it on GitHub
31
+
32
+ A `<video>` tag with a repo-relative `src` does **not** play inline on
33
+ github.com. Two things that do work:
34
+
35
+ - the image link that is already in the docs — clicking it opens the file, or
36
+ - drag `orc-ui-demo.mp4` into a GitHub issue or pull request comment, copy the
37
+ `https://github.com/user-attachments/...` URL that GitHub generates, and paste
38
+ that URL on its own line in the markdown. GitHub renders that as a player.
39
+
40
+ ## Size
41
+
42
+ Keep each file under about 10 MB. If the recording is bigger, host it somewhere
43
+ else and link it instead — a repository is a bad video host.