@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,356 @@
1
+ # Mock run — `/orc-boundary`
2
+
3
+ > The lane that says what the AI should **not** try here, and why.
4
+
5
+ ---
6
+
7
+ ## 1. What it does
8
+
9
+ Every AI coding skill in the world assumes the answer to *"should the AI do
10
+ this?"* is **yes**.
11
+
12
+ Research says this is expensive. Agents that do not know their limits spend
13
+ **5 to 50 times longer** than a human expert, and most of that time is spent on
14
+ work that was never going to succeed. When you teach an agent to stop early,
15
+ performance goes up about **20%** and the wasted time drops about **80%**.
16
+
17
+ Nobody has shipped this as a skill. `/orc-boundary` ships it.
18
+
19
+ It gives one of three answers for each piece of work:
20
+
21
+ | Verdict | Easy English |
22
+ |---|---|
23
+ | **EXECUTE** | Let the agent do it. It can check its own work here. |
24
+ | **ESCALATE** | Let the agent do it, but a named human must look before ship. |
25
+ | **REFUSE** | The agent should not try this. Here is what must change first. |
26
+
27
+ **A REFUSE always says what would make it a yes.** "No" with no "unless" is not
28
+ a boundary. It is just a shrug. ORC never does that.
29
+
30
+ ### How ORC decides — no guessing
31
+
32
+ The verdict comes from four questions, and ORC already has a real answer to all
33
+ four. It does not ask the model to feel it out.
34
+
35
+ | Question | How ORC answers it, for real |
36
+ |---|---|
37
+ | Can the agent **check its own work**? | Does a test runner exist? Does the build run? Is there a smoke gate? |
38
+ | Does the agent **know this area**? | `orc wiki status` coverage · `orc pattern status <lang>` · past traces that touched these files |
39
+ | Is it **easy to undo**? | Is it a DB migration, a live payment call, a published package, a deleted row? |
40
+ | Is it a **decision, not a fact**? | `_shared/interview.md` already draws this line. A decision belongs to the human. |
41
+
42
+ ---
43
+
44
+ ## 2. The run
45
+
46
+ Rina has a plan from `/orc-plan`. 12 tasks. She wants to know what is safe to
47
+ hand to the agent before she starts an expensive run.
48
+
49
+ ```
50
+ > /orc-boundary plan.md
51
+ ```
52
+
53
+ ```
54
+ ORC · boundary
55
+
56
+ Preflight (silent probes)
57
+ wiki status : FRESH — 12 docs
58
+ pattern status : typescript → cached
59
+ test runner : vitest (npm test) → the agent CAN check itself
60
+ build : npm run build works
61
+ git remote : origin (github)
62
+ past traces : 31 runs, 9 touched api/payments
63
+ pact ledger : 4 holding · 2 uncheckable
64
+
65
+ Reading plan.md — 12 tasks, 4 waves.
66
+ Looking at each task. Read-only. I will not change any file.
67
+ ```
68
+
69
+ ```
70
+ ORC · boundary · verdicts
71
+
72
+ EXECUTE — 8 tasks
73
+ T01 Add a partial-refund field to the refund form web/refunds/
74
+ T02 Add the partial amount to the refund API type api/refunds/
75
+ T03 Translate the 4 new labels web/locales/
76
+ T05 Add a unit test for the partial amount api/refunds/
77
+ T06 Show the partial amount on the receipt web/receipt/
78
+ T08 Add a red proof for the 45-day window api/refunds/
79
+ T10 Update the refund docs page docs/
80
+ T11 Add the new field to the admin table web/admin/
81
+
82
+ Why these are safe: tests exist for all of them, the wiki covers these
83
+ folders, and every change can be undone with `git revert`.
84
+
85
+ ESCALATE — 3 tasks
86
+ T04 Change the refund payout target
87
+ reason : PACT-006 covers this file and is UNCHECKABLE.
88
+ The agent can write the code but cannot prove it is right.
89
+ who : Rina (code) + Finance (behaviour)
90
+ when : before ship, not before the wave
91
+
92
+ T07 Add a rate limit to POST /refunds
93
+ reason : no load test exists. The agent can set a number but cannot
94
+ tell you if that number is correct for real traffic.
95
+ who : Rina
96
+ when : before ship
97
+
98
+ T09 Call the Stripe refund API with the partial amount
99
+ reason : this reaches a third party and moves real money.
100
+ The sandbox key is present, so the agent can work — but a
101
+ human must confirm the amount rounding before it goes live.
102
+ who : Rina
103
+ when : before ship
104
+
105
+ REFUSE — 1 task
106
+ T12 Backfill partial_amount on 1.4M old refund rows
107
+ reason 1: this is a DB migration that writes to production data.
108
+ It cannot be undone with git.
109
+ reason 2: no rollback migration exists in db/migrations/.
110
+ reason 3: no staging database is configured in config/app.yaml.
111
+
112
+ This becomes EXECUTE when ALL THREE are true:
113
+ [ ] a down-migration file exists next to the up-migration
114
+ [ ] config/app.yaml has a staging database URL
115
+ [ ] the backfill is written to run in batches with a resume point
116
+
117
+ Until then this is a human task. I can still WRITE the migration
118
+ for you as a draft that nobody runs — ask me and I will.
119
+ ```
120
+
121
+ ```
122
+ ORC · boundary · cards
123
+
124
+ Wrote 3 boundary cards:
125
+ .claude/orc/boundary/api-refunds.md
126
+ .claude/orc/boundary/api-payments.md
127
+ .claude/orc/boundary/db-migrations.md
128
+
129
+ A card is per AREA, not per task. So the next run reads the card instead of
130
+ thinking about this again. Cards go stale the same way a wiki doc does — only
131
+ when the files they cover actually change.
132
+
133
+ Trace: run-boundary-partial-refunds-100826-161240.txt
134
+ ```
135
+
136
+ ---
137
+
138
+ ## 3. The file it made
139
+
140
+ ### `.claude/orc/boundary/db-migrations.md`
141
+
142
+ ```markdown
143
+ ---
144
+ area: db/migrations
145
+ anchored_files:
146
+ - db/migrations/**
147
+ - config/app.yaml
148
+ verified_commit: c273793
149
+ generated_by: orc-boundary
150
+ generated_at: 2026-08-10T16:12:40Z
151
+ default_verdict: REFUSE
152
+ ---
153
+
154
+ # Boundary card — db/migrations
155
+
156
+ ## Default verdict: REFUSE
157
+
158
+ The agent should not run a migration in this repo yet.
159
+
160
+ ## Why
161
+
162
+ | Check | Result | Evidence |
163
+ |---|---|---|
164
+ | Can the agent verify itself? | **No** | No migration test job. `npm test` does not touch the DB. |
165
+ | Does the agent know this area? | Partly | Wiki covers the schema, not the migration process. |
166
+ | Is it easy to undo? | **No** | No down-migration in any of the 7 files in `db/migrations/`. |
167
+ | Is it a human decision? | Partly | Data loss on production is not the agent's call. |
168
+
169
+ ## What would change the verdict
170
+
171
+ This area becomes **ESCALATE** when:
172
+ - [ ] every migration file has a matching down-migration
173
+ - [ ] `config/app.yaml` declares a `staging.database_url`
174
+
175
+ This area becomes **EXECUTE** when the two above are true **and**:
176
+ - [ ] a CI job runs migrations up and down against a throwaway database
177
+
178
+ ## What the agent MAY still do here
179
+
180
+ - Write a migration file as a draft. Nobody runs it.
181
+ - Read migrations to understand the schema.
182
+ - Suggest the down-migration that is missing.
183
+
184
+ ## Not covered by this card
185
+
186
+ `db/seeds/` — that is fixture data, graded separately. See
187
+ `.claude/orc/boundary/db-seeds.md`.
188
+ ```
189
+
190
+ ---
191
+
192
+ ## 4. The CLI part
193
+
194
+ ```
195
+ $ orc boundary status
196
+ ```
197
+
198
+ ```
199
+ BOUNDARY · shopcart
200
+
201
+ api/refunds ESCALATE card fresh (2 open preconditions)
202
+ api/payments EXECUTE card fresh
203
+ db/migrations REFUSE card fresh (3 open preconditions)
204
+ web/ EXECUTE card fresh
205
+ config/ ESCALATE card STALE → 4 commits since c273793
206
+
207
+ 4 areas ready · 1 card needs a refresh
208
+ ```
209
+
210
+ Exit code: `2` — because at least one area is REFUSE.
211
+
212
+ **The exit codes:**
213
+
214
+ | Code | Meaning |
215
+ |---|---|
216
+ | 0 | Everything in scope is EXECUTE |
217
+ | 1 | At least one ESCALATE |
218
+ | 2 | At least one REFUSE |
219
+ | 3 | No card, or the card is stale |
220
+
221
+ ```
222
+ $ orc boundary status db/migrations --json
223
+ ```
224
+
225
+ ```json
226
+ {
227
+ "area": "db/migrations",
228
+ "verdict": "REFUSE",
229
+ "card_present": true,
230
+ "card_stale": false,
231
+ "verified_commit": "c273793",
232
+ "reasons": [
233
+ { "check": "self_verification", "pass": false, "evidence": "no migration test job" },
234
+ { "check": "reversible", "pass": false, "evidence": "no down-migration in db/migrations/" },
235
+ { "check": "domain_known", "pass": "partial", "evidence": "wiki covers schema, not process" }
236
+ ],
237
+ "preconditions": [
238
+ { "to_reach": "ESCALATE", "items": ["down-migration for every file", "staging.database_url in config/app.yaml"] },
239
+ { "to_reach": "EXECUTE", "items": ["CI job runs migrations up and down"] }
240
+ ],
241
+ "allowed_anyway": ["write a draft migration", "read migrations", "suggest a missing down-migration"],
242
+ "exit": 2
243
+ }
244
+ ```
245
+
246
+ ---
247
+
248
+ ## 5. Inside a normal `/orc` run
249
+
250
+ **Phase 1 — preflight.** One new line.
251
+
252
+ ```
253
+ Preflight
254
+ wiki : FRESH
255
+ pattern : typescript cached
256
+ pact : 4 holding · 2 uncheckable
257
+ boundary : 8 execute · 3 escalate · 1 refuse ← new
258
+ ```
259
+
260
+ **Phase 3 — waves.** This is where it saves money.
261
+
262
+ With `boundary_gate: block`:
263
+
264
+ ```
265
+ Wave 3 of 4 — dispatching 3 tasks
266
+
267
+ T09 Stripe partial refund call → orc-executor-opus-5-high [ESCALATE]
268
+ T11 Admin table column → orc-executor-sonnet-5-high [EXECUTE]
269
+ T12 Backfill 1.4M rows → NOT DISPATCHED [REFUSE]
270
+
271
+ T12 was lifted out of this wave.
272
+ Reason: db/migrations card says REFUSE — no down-migration, no staging DB.
273
+ It is now in the handback list. The wave continues without it.
274
+
275
+ This saved an estimated 1 executor dispatch at opus-5-high
276
+ (~38k tokens) that would have produced code nobody could safely run.
277
+ ```
278
+
279
+ At the end of the run:
280
+
281
+ ```
282
+ Ship
283
+
284
+ Shipped: 11 tasks
285
+ Handed back to you: 1 task
286
+
287
+ T12 Backfill partial_amount on 1.4M old refund rows
288
+ I did not attempt this. Here is what to do:
289
+ 1. Write db/migrations/0009_backfill_partial.down.sql
290
+ 2. Add staging.database_url to config/app.yaml
291
+ 3. Re-run `orc boundary status db/migrations` — it should say ESCALATE
292
+ 4. Then `/orc-quick` can do the backfill with you watching
293
+
294
+ ESCALATE items that need your eyes before merge:
295
+ T04 refund payout target → PACT-006 has no test
296
+ T07 rate limit number → no load test
297
+ T09 Stripe amount rounding → real money
298
+ ```
299
+
300
+ ### The three settings
301
+
302
+ ```yaml
303
+ boundary_gate: off | warn | block
304
+ ```
305
+
306
+ - `off` — the lane still works when you call it. `/orc` ignores it.
307
+ - `warn` (**default**) — the task is still dispatched, but the card goes into
308
+ the slice so the executor knows the risk.
309
+ - `block` — a REFUSE task is never dispatched.
310
+
311
+ Default is `warn` because `block` changes how existing runs behave, and a
312
+ surprise on upgrade is bad. Move to `block` one release later.
313
+
314
+ ### It also fixes `/orc-route`
315
+
316
+ ```
317
+ $ /orc-route plan.md
318
+ ```
319
+
320
+ ```
321
+ Recommended lane: /orc
322
+
323
+ /orc-fast NOT POSSIBLE
324
+ reason: the plan has 1 REFUSE task and 3 ESCALATE tasks.
325
+ orc-fast has one executor and no review phase. It cannot
326
+ hold an escalation.
327
+ ```
328
+
329
+ Before `/orc-boundary`, routing could only count tasks and scores. Now it can
330
+ say *why a lane is not allowed*.
331
+
332
+ ---
333
+
334
+ ## 6. Why this is good for ORC
335
+
336
+ **It is the only lane in the world that does this.** The research is published
337
+ and measured. The skill does not exist. ORC would be first, and the claim is
338
+ easy to say out loud: *"ORC is the only agent that tells you what it should not
339
+ try."*
340
+
341
+ **It saves real money on every run.** A REFUSE task is a dispatch that never
342
+ happens. In the mock above that is one `opus-5-high` executor — the most
343
+ expensive band ORC has. The lane pays for itself the first time it stops one.
344
+
345
+ **It uses probes ORC already has.** No new machinery. `orc wiki status`,
346
+ `orc pattern status`, the smoke gate, the trace corpus, the pact ledger. Every
347
+ input already ships. This is why ORC can build it in weeks and a standalone
348
+ skill cannot build it at all.
349
+
350
+ **It makes the other lanes smarter for free.** `/orc-route` gets a hard
351
+ constraint. `/orc-ultra`'s judge gets something to score against. `/orc-quick`
352
+ can show the card at its dispatch gate. One lane, four upgrades.
353
+
354
+ **It answers the question every manager is asking in 2026.** *"How much should
355
+ I let the AI do?"* Right now the honest answer everywhere is "try it and see".
356
+ ORC would give a per-area answer with evidence and a checklist.
@@ -0,0 +1,177 @@
1
+ # Mock run — `/orc-brainstorm`
2
+
3
+ > For when you do not have the idea yet. It makes the options. **You** pick.
4
+
5
+ ---
6
+
7
+ ## 1. What it does
8
+
9
+ `/orc-grill` sharpens one idea you already have. `/orc-brainstorm` is for the
10
+ step before that: you have a problem, a goal, or a hunch, and no candidates.
11
+
12
+ It works in two halves:
13
+
14
+ - **Diverge** — it generates a lot of ideas on purpose, using named thinking
15
+ lenses, and says **nothing bad about any of them yet**. An objection said too
16
+ early kills the three ideas that would have come after it.
17
+ - **Converge** — judgment comes back on. Every idea is stress-tested, then ORC
18
+ recommends one and **waits**.
19
+
20
+ It does not have to be about code. A product name, an onboarding flow, or a
21
+ support-queue problem are all fine.
22
+
23
+ ---
24
+
25
+ ## 2. The run
26
+
27
+ ```
28
+ > /orc-brainstorm our refund support tickets keep growing and I don't know why
29
+ ```
30
+
31
+ ### B1 — Frame
32
+
33
+ ```
34
+ Before I generate anything, let me pin the problem.
35
+
36
+ Problem refund tickets are growing
37
+ Better fewer tickets per 100 refunds, not faster replies
38
+ Fixed we cannot change the bank's 3–5 day settlement
39
+ Free anything in web/, api/, and the emails we send
40
+
41
+ Is that the problem, or did I frame it wrong?
42
+
43
+ > right, but also: support says most tickets are "where is my money"
44
+ ```
45
+
46
+ ### B2 — Diverge (no criticism here, on purpose)
47
+
48
+ ```
49
+ Lens 1 — Inversion: how would we make this WORSE?
50
+ 1 Say "refunded" the moment the button is pressed, then go silent
51
+ 2 Send no email at all
52
+ 3 Hide refund status behind a login wall
53
+
54
+ (Flipping each of those gives us:)
55
+ 4 Tell the truth about the 3–5 days, in the moment of the refund
56
+ 5 Send one email when the bank confirms
57
+ 6 A public refund status link, no login
58
+
59
+ Lens 2 — Analogy: what does a parcel company do?
60
+ 7 A tracking page with 3 fixed steps and a date range
61
+ 8 A "still on time" message that appears BEFORE anyone worries
62
+ 9 One number to look up on the front page
63
+
64
+ Lens 3 — This repo's own history:
65
+ 10 We already built order tracking (wiki/orc-feature-orders.md). Reuse it
66
+ for refunds instead of building a second thing.
67
+ 11 gotcha #7: we tried customer-facing ETAs once and support hated them
68
+ because the ETA was wrong. Any ETA must be a range, not a date.
69
+
70
+ Lens 4 — Constraint flip: what if support could not answer tickets at all?
71
+ 12 The refund email answers the question before it is asked
72
+ 13 A canned reply that is one click and always correct
73
+
74
+ That is 13 candidates across 4 lenses. More? Or shall I cluster?
75
+ · anything of your own to add — say it and it goes in the pool as #14
76
+
77
+ > add: let support see the bank reference number. cluster after that.
78
+
79
+ 14 (yours) support sees the bank reference number
80
+ ```
81
+
82
+ ### B3 — Cluster
83
+
84
+ ```
85
+ 4 directions. Every one of the 14 candidates is in exactly one of them, or
86
+ in the graveyard with a reason.
87
+
88
+ | Direction | The bet | Must be true | Costs | Kills |
89
+ |---|---|---|---|---|
90
+ | A Tell the truth early | People ask because we implied it was instant | Customers accept 3–5 days if told up front | Small: copy + one state | The word "instant" in marketing |
91
+ | B Tracking page | People want to look, not to ask | They will visit a link | Medium: reuse order tracking (#10) | A second status system |
92
+ | C Arm support | Tickets are fine, answering is slow | Support is the bottleneck, not the customer | Small | Nothing |
93
+ | D Do nothing visible, fix the email | One good email removes the question | The email is opened | Smallest | — |
94
+
95
+ Graveyard
96
+ #3 hide behind login — makes the problem worse, kept only as an inversion
97
+ #9 front-page lookup — no. YAGNI for our volume.
98
+ ```
99
+
100
+ ### B4 — Stress (judgment back on)
101
+
102
+ ```
103
+ A · pre-mortem: "it failed because we told people 3–5 days and the bank took 9."
104
+ worst a truthful message that is still wrong
105
+ best ticket volume drops without any new screen
106
+ repo gotcha #7 applies. Use a range, never a date.
107
+
108
+ B · pre-mortem: "we built a page nobody visited."
109
+ worst a second status system to maintain
110
+ best support links it and stops typing the same reply
111
+ repo order tracking already exists — this is cheaper than it looks
112
+
113
+ C · pre-mortem: "support got faster at answering a question we caused."
114
+ worst we optimise the symptom
115
+ best immediate relief this week
116
+
117
+ D · pre-mortem: "the email went to spam."
118
+ ```
119
+
120
+ ### B5 — Converge (ORC recommends, then stops)
121
+
122
+ ```
123
+ Recommendation: A first, then B.
124
+
125
+ Why: A is the cheapest thing that attacks the cause, and B is nearly free
126
+ because #10 lets us reuse order tracking. C treats the symptom — but it is
127
+ one afternoon, so do it alongside if support is drowning now.
128
+
129
+ 1 A
130
+ 2 A then B ← my recommendation
131
+ 3 B only
132
+ 4 C only
133
+ 5 something else, or combine — say it in your own words
134
+
135
+ > 2, but the range must come from real data not a guess
136
+
137
+ constraint any customer-facing refund ETA is a RANGE from measured
138
+ settlement times, never a fixed date
139
+ intent tell the customer the truth at the moment of refund
140
+ intent reuse the order tracking components for refunds
141
+ ```
142
+
143
+ ### B6 — Exit
144
+
145
+ ```
146
+ Ready to write the session doc? It saves the pick AND every direction that
147
+ lost, with the reason.
148
+
149
+ 1 Write it → orc/brainstorming-session/refund-tickets/brainstorm-session.md
150
+ 2 Carry into /orc-grill to sharpen direction A
151
+ 3 Drop it
152
+
153
+ > 1
154
+ ```
155
+
156
+ ---
157
+
158
+ ## 3. What to notice
159
+
160
+ - **ORC never picks.** It recommends, then waits. A lane that picks its own
161
+ favourite has broken this lane's contract.
162
+ - **Every menu ends with your own slot**, and it is always last. What you type
163
+ goes into the pool word for word and gets stress-tested like the rest.
164
+ - **Nothing evaporates.** Every candidate lands in a direction or in the
165
+ graveyard **with a reason**. The most valuable part of the saved doc is *why
166
+ the others lost*.
167
+ - **It stops before writing anything.** "Complete" is a proposal, never a
168
+ verdict.
169
+ - **The repo's own history is a lens.** `gotcha #7` is the kind of thing no
170
+ generic brainstorm can give you.
171
+
172
+ ---
173
+
174
+ ## 4. Related
175
+
176
+ - Sharpen the direction you picked: [`/orc-grill`](orc-grill.md)
177
+ - Turn constraints into lasting promises: [`/orc-pact`](orc-pact.md)