@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,587 @@
1
+ # A normal day — what it looks like when all six new lanes are installed
2
+
3
+ > One normal day. One normal run. `/orc-pact`, `/orc-boundary`, `/orc-handoff`,
4
+ > `/orc-budget`, `/orc-aftermath` and `/orc-export` are all installed, plus
5
+ > the wiki partial refresh.
6
+
7
+ This is the file that answers: **so what actually changes?**
8
+
9
+ The other six files each show one lane alone. That is not how you will meet
10
+ them. You will meet them all at once, inside a run you were going to do anyway.
11
+
12
+ ---
13
+
14
+ ## 1. The setup
15
+
16
+ ```
17
+ $ orc --version
18
+ orc 0.53.0
19
+
20
+ $ orc doctor
21
+ ✓ install manifest current (40 agents, 29 skills)
22
+ ✓ settings wiring present
23
+ ✓ trace pointer clean
24
+ ✓ AGENTS.md current
25
+ ```
26
+
27
+ Same project as the other files: **shopcart**, a small web shop.
28
+ Same two people: **Rina** (developer) and **Budi** (product manager, does not
29
+ read code).
30
+
31
+ Config, all defaults except two:
32
+
33
+ ```yaml
34
+ boundary_gate: block # Rina moved this up from `warn` after one month
35
+ wiki_scan_tier: ladder
36
+ ```
37
+
38
+ Today's job: **"let customers take a refund as store credit instead of money
39
+ back."**
40
+
41
+ This touches the front end, the back end, the database, and money. It is a
42
+ good test, because it hits every new lane at once.
43
+
44
+ ---
45
+
46
+ ## 2. The run, from start to end
47
+
48
+ ### Phase 1 — preflight
49
+
50
+ This is the screen that changed the most. Six lines instead of three.
51
+
52
+ ```
53
+ > /orc add store credit as a refund option
54
+ ```
55
+
56
+ ```
57
+ ORC · run-orc-store-credit-081026-093012
58
+
59
+ Preflight
60
+ wiki : FRESH — 14 docs · 8 in active use · 2 pending refresh, est. $0.14
61
+ pattern : typescript cached (02-09-2026)
62
+ crosslink : none configured
63
+ pact : 5 holding · 1 drifted · 0 uncheckable ← 01
64
+ boundary : 3 areas execute · 1 escalate · 1 refuse ← 02
65
+ aftermath : api/refunds/ churned after the last run here ← 05
66
+
67
+ Three of those need a word before we start.
68
+
69
+ 1 PACT-004 is DRIFTED.
70
+ "A refund is only allowed inside 45 days."
71
+ api/refunds/window.ts changed 4 days ago and we owe it a re-check.
72
+ It takes 4 seconds and costs nothing. I will run it now unless you say no.
73
+
74
+ 2 db/migrations is REFUSE.
75
+ Store credit almost certainly needs a table. I will plan the migration
76
+ as a draft that nobody runs, and hand it to you at the end.
77
+ (This is boundary_gate: block. Set it to warn to change this.)
78
+
79
+ 3 api/refunds/ churned after run-orc-tax-rounding-190826 — the file was
80
+ rewritten twice in the 8 days after we shipped there. Something about
81
+ that area is harder than it looks. I will tell the analyst.
82
+
83
+ Continue? [yes] / stop / change something
84
+ ```
85
+
86
+ ```
87
+ > yes
88
+ ```
89
+
90
+ ```
91
+ Preflight · re-check
92
+
93
+ PACT-004 npm test -- refund-window ✓ pass → HOLDING
94
+ re-anchored at 3b71ce2
95
+
96
+ pact now: 6 holding · 0 drifted · 0 uncheckable
97
+ ```
98
+
99
+ **Note what happened.** A free 4-second check cleared a stale promise before
100
+ one token was spent on planning. Last year that promise would have sat
101
+ forgotten and the planner would never have known about it.
102
+
103
+ **And PACT-006 is gone from the uncheckable list.** In the `/orc-aftermath` mock it had been
104
+ uncheckable for 47 days, flagged by three lanes. Someone finally wrote the
105
+ test. This is what the flywheel looks like when it works.
106
+
107
+ ---
108
+
109
+ ### Phase 2 — intake and the price tag
110
+
111
+ ```
112
+ ORC · intake
113
+
114
+ The analyst asked 4 questions. You answered. Spec is settled.
115
+ The planner produced 14 tasks in 5 waves.
116
+
117
+ Two promises point at files this plan touches. They are now hard constraints
118
+ for the planner: ← 01
119
+
120
+ PACT-004 refund window is 45 days (temporary, review 01-12-2026)
121
+ PACT-006 refund money goes back to the original payment method
122
+
123
+ ⚠ PACT-006 is interesting here. "Store credit" is NOT the original payment
124
+ method. This plan may break a promise you made in July.
125
+
126
+ Is store credit an exception to PACT-006, or does PACT-006 need to change?
127
+
128
+ 1 It is an exception. Store credit is opt-in, the customer chooses it.
129
+ 2 PACT-006 needs to change. Rewrite it.
130
+ 3 Stop and think about this.
131
+ ```
132
+
133
+ ```
134
+ > 1
135
+ ```
136
+
137
+ ```
138
+ Recorded. PACT-006 gains an exception clause and a new test case is added
139
+ to the plan (T13) that proves the exception is explicit and opt-in.
140
+ A promise was not quietly broken. That is the whole point of the ledger.
141
+ ```
142
+
143
+ Then the budget:
144
+
145
+ ```
146
+ ORC · intake · cost ← 04
147
+
148
+ 14 tasks · 5 waves · pause after every 2 waves
149
+ Your plan: Max 20x. Primary unit: quota.
150
+
151
+ lane raw tok weighted quota usd p50 time note
152
+ ──────────────────────────────────────────────────────────────────────────
153
+ /orc-ultra 3.10M 1.38M 45% $16.80 38–62m more than needed
154
+ /orc 1.64M 752k 24% $7.90 22–36m ← recommended
155
+ /orc-mini 0.58M 266k 9% $2.60 11–18m no review on money
156
+ /orc-fast not possible 1 REFUSE, 2 ESCALATE
157
+
158
+ T12 (the migration) is REFUSE and will not be dispatched.
159
+ Without it: 1.34M raw · 614k weighted · 20% of window · $6.45 → $10.10.
160
+
161
+ token split, p50, on /orc
162
+ input 71k ( 4%) cache write 484k (30%)
163
+ cache read 979k (60%) output 103k ( 6%)
164
+ cache read is 60% of the count and 12% of the cost. Budget on the
165
+ weighted number, not the raw one.
166
+
167
+ Confidence: good in 6 bands, fair in 1, LOW in 1.
168
+ Band [90,100] has 4 samples. The top of the range is soft.
169
+ Unattributed in the corpus: 2.4%.
170
+
171
+ Context: no task above 78% of its window. Nothing at risk.
172
+
173
+ 1 Start on /orc 614k weighted · 20% of window · $6.45 → $10.10
174
+ 2 Switch to /orc-mini
175
+ 3 Change the plan first
176
+ ```
177
+
178
+ ```
179
+ > 1
180
+ ```
181
+
182
+ **Before all this, that screen said:** *"14 tasks, 5 waves, pause after 2.
183
+ Continue?"* Now it has a token ledger, the unit Rina is actually billed in, a
184
+ lane comparison, a context-risk check, and an honest note about which numbers
185
+ are soft.
186
+
187
+ ---
188
+
189
+ ### Phase 3 — waves
190
+
191
+ ```
192
+ Wave 1 of 5 — 3 tasks
193
+
194
+ T01 TDD: red proof for store-credit refund sonnet-5-high [EXECUTE]
195
+ T02 TDD: red proof for the PACT-006 exception sonnet-5-high [EXECUTE]
196
+ T03 Add the store_credit type to the API sonnet-4-6-high [EXECUTE]
197
+
198
+ wiki: orc-feature-refunds.md → T01, T02, T03
199
+ ```
200
+
201
+ ```
202
+ Wave 3 of 5 — 3 tasks
203
+
204
+ T08 Call the credit ledger on refund opus-4-8-high [ESCALATE]
205
+ card: api/refunds — this touches money and PACT-006's new exception.
206
+ Rina must read this before ship.
207
+
208
+ T09 Show the store-credit option in the UI sonnet-4-6-high [EXECUTE]
209
+
210
+ T12 Create the store_credit table NOT DISPATCHED [REFUSE] ← 02
211
+ db/migrations card: no down-migration, no staging database.
212
+ Lifted out of the wave. The wave continues with 2 tasks.
213
+
214
+ I will still write db/migrations/0011_store_credit.sql as a DRAFT.
215
+ Nobody runs it. It is yours to review and run.
216
+ ```
217
+
218
+ At the pause:
219
+
220
+ ```
221
+ Pause after wave 2 of 5
222
+
223
+ Burned so far : 267k weighted · 8% of window · $2.14 ← 04
224
+ (forecast to here 238k–390k · 7–12%)
225
+ Left to go : 347k → 610k weighted · 11–19% of window
226
+ Inside the forecast.
227
+
228
+ Waves done : 2 of 5
229
+ Tasks done : 6 of 13 dispatched (1 refused)
230
+
231
+ 1 Continue 2 Stop here 3 Show me what changed so far
232
+ ```
233
+
234
+ ---
235
+
236
+ ### Phase 5 and 6 — review, verify, promises
237
+
238
+ ```
239
+ Phase 5 · review 12 files · 3 findings (1 P1, 2 P3)
240
+ P1: the store-credit path skips the idempotency guard
241
+ → sent back to T08, repaired, re-reviewed, clean
242
+
243
+ Phase 6 · verify
244
+ build ✓
245
+ tests ✓ 158 passed (14 new)
246
+ TDD gate ✓ both red proofs went green
247
+ acceptance criteria ✓ 6 of 6
248
+
249
+ pact re-check — only what this change touched ← 01
250
+ PACT-001 payments never double-written ✓ HOLDING
251
+ PACT-004 refund window 45 days ✓ HOLDING
252
+ PACT-006 refund to original method ✓ HOLDING
253
+ exception recorded: store credit, opt-in, proved by T02
254
+
255
+ boundary re-check ← 02
256
+ api/refunds ESCALATE → still ESCALATE. Rina must read T08.
257
+ db/migrations REFUSE → unchanged. The draft migration is waiting.
258
+ ```
259
+
260
+ ---
261
+
262
+ ### Phase 7 — ship, and the five new closing lines
263
+
264
+ ```
265
+ ORC · ship
266
+
267
+ Shipped 12 tasks. 19 files changed. Branch: feat/store-credit
268
+
269
+ ── Before you merge ────────────────────────────────────────────────
270
+
271
+ 1 Read this one yourself ← 02
272
+ T08 api/refunds/credit.ts — the credit ledger call.
273
+ Why: it touches money and it is the first code under PACT-006's
274
+ new exception. The reviewer passed it. A human should still look.
275
+
276
+ 2 Handed back to you, not attempted ← 02
277
+ T12 Create the store_credit table.
278
+ Draft written: db/migrations/0011_store_credit.sql — NOT run.
279
+ To let ORC do this next time:
280
+ ☐ add 0011_store_credit.down.sql
281
+ ☐ add staging.database_url to config/app.yaml
282
+ ☐ add a CI job that runs migrations up and down
283
+ Then `orc boundary status db/migrations` will say ESCALATE.
284
+
285
+ ── Small things ────────────────────────────────────────────────────
286
+
287
+ 3 2 of these files were GREEN self-serve surfaces ← 03
288
+ web/locales/en.json
289
+ web/locales/id.json
290
+ Next time a product manager can change those text strings alone,
291
+ with /orc-handoff or the Self-serve panel. No run needed.
292
+
293
+ 4 The wiki is now 3 docs behind — 79k tokens / $0.20 ← wiki
294
+ This run changed api/refunds/ and web/checkout/.
295
+ orc-feature-refunds.md TOUCHED 6 files used 17/20 deep 46k $0.14
296
+ orc-feature-checkout.md TOUCHED 2 files used 9/20 light 21k $0.04
297
+ orc-reference-config.md TOUCHED 1 file used 2/20 light 12k $0.02
298
+ Free first: [ orc wiki sync ] — registration only, 0 tokens
299
+ Then: /orc-wiki refresh --top 1 (46k covers 17 of 28 recorded uses)
300
+
301
+ 5 AGENTS.md is stale — 2 sources moved ← 06
302
+ Cursor and Codex on this team are reading the old version.
303
+ Fix: orc export (3 seconds, no tokens)
304
+
305
+ ── Cost ────────────────────────────────────────────────────────────
306
+
307
+ forecast p50 actual diff ← 04
308
+ raw 1.34M tokens 1.47M +10%
309
+ weighted 614k 670k +9% inside p90
310
+ quota 20% of window 22%
311
+ usd $6.45 $7.02
312
+ time 22–36 min 27 min
313
+
314
+ cache read 60% of raw forecast → 58% actual (cache behaved)
315
+ output 103k forecast → 129k actual (+25%) ← the repair round
316
+
317
+ Band [80,90) ran +22% weighted — T08 needed one repair after the P1
318
+ finding, and a repair is almost pure output tokens. That is why the
319
+ money moved more than the token count did.
320
+
321
+ Fed to /orc-retro. That band now has 7 samples.
322
+ ```
323
+
324
+ ---
325
+
326
+ ## 3. What changed, line by line
327
+
328
+ Here is the same run, before and after, side by side.
329
+
330
+ | Moment | v0.45.0 (today) | v0.53.0 (all shipped) |
331
+ |---|---|---|
332
+ | Preflight | 3 lines: wiki, pattern, crosslink | 6 lines. A stale promise is re-checked free. A REFUSE area is named. A past churn warning is passed to the analyst. |
333
+ | Intake | "14 tasks, 5 waves. Continue?" | Plus a token ledger per lane in the unit you are billed in, a context-risk check, a confidence note, and two promises turned into planner constraints |
334
+ | **A promise about to break** | Nobody notices. It breaks in November. | ORC asks one question at Phase 2 and adds a test |
335
+ | Wave dispatch | All 14 tasks dispatched | 13 dispatched. The one nobody could safely run is lifted out and drafted instead |
336
+ | Pause | "Continue?" | Plus spend so far vs forecast |
337
+ | Verify | build + tests + criteria | Plus a re-check of only the promises this change touched |
338
+ | Ship | "Shipped 12 tasks" | Plus what to read, what was handed back with a checklist, what a PM could have done alone, the wiki debt with a price, and a stale export warning |
339
+ | After ship | nothing | Cost forecast vs actual, fed to retro. Aftermath will grade this run in 7 days. |
340
+
341
+ ---
342
+
343
+ ## 4. The rhythm — a month with all of it
344
+
345
+ None of these lanes are things you run every day. Here is the real shape.
346
+
347
+ ### Every run — automatic, no extra work
348
+
349
+ - Preflight shows pact, boundary, wiki debt.
350
+ - Free promise re-checks happen before any spending.
351
+ - REFUSE tasks are not dispatched.
352
+ - Ship names the wiki debt and the export staleness.
353
+
354
+ **Extra time cost: about 10 seconds. Extra token cost: zero** — all of this is
355
+ CLI arithmetic on files ORC already writes.
356
+
357
+ ### Weekly — 2 minutes
358
+
359
+ ```
360
+ $ orc pact status # any promise drifted?
361
+ $ orc wiki debt # how far behind is the wiki?
362
+ $ orc export --check # is AGENTS.md still telling the truth?
363
+ ```
364
+
365
+ All three are free and instant. If they are all green, you are done.
366
+
367
+ ### After a few runs — pay a little
368
+
369
+ ```
370
+ /orc-wiki refresh --top 2 ~$0.20 · 2 minutes
371
+ ```
372
+
373
+ The debt list makes this a small habit instead of a scary $6 event once a
374
+ quarter. **That is the real budget win** — not a cheaper full refresh, but a
375
+ full refresh you never need.
376
+
377
+ ### Monthly — 5 minutes
378
+
379
+ ```
380
+ /orc-aftermath --since 30d # did last month's work hold up?
381
+ /orc-retro # process + result together now
382
+ ```
383
+
384
+ ### When something changes shape — rare
385
+
386
+ ```
387
+ /orc-boundary # after adding a staging DB, a CI job, a test runner
388
+ /orc-pact # after a grill or brainstorm session
389
+ /orc-handoff # after a big refactor moves the safe surfaces
390
+ ```
391
+
392
+ ---
393
+
394
+ ## 5. Budi's week — the non-developer side
395
+
396
+ Budi never opens a terminal. He opens the browser panel.
397
+
398
+ **Monday.** He opens `orc ui` → **Promises**. He reads six sentences about what
399
+ the system guarantees. One says *"refund money goes back to the original payment
400
+ method — exception: store credit, opt-in"*. He now knows, without asking Rina,
401
+ that store credit shipped and how it behaves.
402
+
403
+ **Tuesday.** Support says the empty-cart message sounds cold. Budi opens
404
+ **Self-serve**, searches "empty cart", edits the English and the Indonesian,
405
+ clicks Preview, then Apply. The check runs and passes. He copies the two git
406
+ commands and sends them to Rina in chat.
407
+
408
+ Time: 3 minutes. Before: a ticket, and three days.
409
+
410
+ **Wednesday.** He needs a number for a planning meeting. He opens **Stats →
411
+ Cost** and picks the plan file. The panel has three buttons — Tokens, Quota,
412
+ USD. His team is on Max 20x, so Quota is already selected: store credit used
413
+ **22% of a 5-hour window** and took 27 minutes. He clicks USD to get $7.02 for
414
+ the finance slide. He writes both in the deck.
415
+
416
+ **Thursday.** He wants a small copy change in an order email. **Self-serve**
417
+ shows it as 🔴 RED with a plain reason: *"looks like text, but it is code — a
418
+ rule inside decides which lines show."* It tells him to ask Rina, and offers to
419
+ save his exact wording as a note so Rina only pastes it. He does that.
420
+
421
+ He was told no, and it did not feel like a wall.
422
+
423
+ **Friday.** The **Boundary** panel has one red card: `db/migrations`. He reads
424
+ the three-item checklist. He now understands why the AI does not touch the
425
+ database, in concrete terms, and he can put "add a staging database" on the
426
+ roadmap with a real reason behind it.
427
+
428
+ **None of this needed Rina.** That is the change.
429
+
430
+ ---
431
+
432
+ ## 6. The compounding — one problem, four lanes
433
+
434
+ This is the effect that is invisible when you read the lanes one at a time.
435
+
436
+ In these mocks, one small thing — *"PACT-006 has no test"* — was found four
437
+ different ways:
438
+
439
+ | Lane | How it found it | When |
440
+ |---|---|---|
441
+ | `/orc-pact` | Refused to mark it HOLDING. Printed `UNCHECKABLE`. | 10-08 |
442
+ | `/orc-boundary` | Marked that task ESCALATE — the agent could not check itself. | 10-08 |
443
+ | `/orc-budget` | Band `[70,80)` ran **151% over**. The executor had nothing to check against, so it guessed and got requeued twice. | 10-08 |
444
+ | `/orc-aftermath` | Still uncheckable 47 days later, and named the other two lanes. | 08-09 |
445
+
446
+ Four methods. One cause. One cheap fix: write the test.
447
+
448
+ By the run in this file, the test exists, and:
449
+ - the promise is HOLDING
450
+ - the area is EXECUTE instead of ESCALATE
451
+ - that band's cost went back to forecast
452
+ - and a new store-credit exception could be added **safely**, because there was
453
+ finally something to prove it against
454
+
455
+ **One test. Four improvements.** No single lane could have made that case
456
+ convincingly. That agreement is the product.
457
+
458
+ ---
459
+
460
+ ## 7. The money, honestly
461
+
462
+ Rough monthly numbers for a team doing about 20 runs a month.
463
+
464
+ ### What the new lanes cost
465
+
466
+ Most of them cost **nothing**, because they are CLI arithmetic on files ORC
467
+ already writes. Only the four that dispatch an agent cost anything.
468
+
469
+ | Lane | When it runs | Weighted tokens | USD | Quota |
470
+ |---|---|---|---|---|
471
+ | `orc pact status` / `check` | every run + weekly | **0** | **$0** | **0%** |
472
+ | `/orc-pact` reconcile | ~2×/month | 34k each | ~$0.30 | ~1% |
473
+ | `orc boundary status` | every run | **0** | **$0** | **0%** |
474
+ | `/orc-boundary` cards | ~1×/month | 62k | ~$0.60 | ~2% |
475
+ | `orc handoff surfaces` | when asked | **0** | **$0** | **0%** |
476
+ | `/orc-handoff` map | ~1×/month | 27k | ~$0.25 | ~1% |
477
+ | `orc budget forecast/actual` | every run | **0** | **$0** | **0%** |
478
+ | `/orc-aftermath` | monthly | 44k | ~$0.40 | ~1% |
479
+ | `orc export` | weekly | **0** | **$0** | **0%** |
480
+ | **Total added** | | **~201k/month** | **~$2.15** | **~6% of one window** |
481
+
482
+ ### What they save
483
+
484
+ | Saving | How | Weighted tokens | USD |
485
+ |---|---|---|---|
486
+ | REFUSE tasks never dispatched | ~1 per 3 runs, often in a top band | −740k | −$8 |
487
+ | Fewer repair loops | executors get promises + cards in the slice | −460k | −$5 |
488
+ | Fewer compactions | context risk flagged before the wave, not after | −180k | −$2 |
489
+ | Wiki: light tier on small deltas | ~40% off each refresh | −370k | −$4 |
490
+ | Wiki: never a full refresh | debt cleared in small pieces | −560k | −$6 |
491
+ | Wiki: 2 dead docs retired | never scanned, and never in a slice again | −185k | −$2 |
492
+ | Right lane chosen, with a price | fewer `/orc-ultra` runs "just in case" | −920k | −$10 |
493
+ | **Total saved** | | **~3.4M/month** | **~$37** |
494
+
495
+ **Net: about 3.2M weighted tokens saved per month, on a 201k investment.**
496
+ In dollars, about **$35 saved on a $2 spend**. On Max 20x, roughly **a whole
497
+ 5-hour window given back per month.**
498
+
499
+ Two notes on reading this:
500
+
501
+ - **The two wiki lines are the biggest single block** (−1.1M). That is the
502
+ argument for shipping W1 in the middle of the sequence rather than last.
503
+ - **"Fewer repair loops" is worth more than it looks.** A repair round is almost
504
+ pure *output* tokens, the most expensive kind. It moves the bill about twice
505
+ as much as it moves the token count.
506
+
507
+ And all of this is still the small part. The bigger saving is the reverted run
508
+ in the `/orc-aftermath` mock — one revert costs a developer half a day, which is worth more than
509
+ a whole month of tokens.
510
+
511
+ ---
512
+
513
+ ## 8. What does NOT change
514
+
515
+ Just as important. If you install all of this:
516
+
517
+ - **No lane you use today behaves differently by default.** `boundary_gate`
518
+ ships as `warn`, not `block`. Rina had to turn it up herself.
519
+ - **No new agent is added** except one wiki scanner for the cheap tier.
520
+ - **Nothing runs automatically.** Every paid action is still a thing you ask
521
+ for. The panel still never runs a lane.
522
+ - **The effort guard is unchanged.** It still matches the exact name `orc`.
523
+ - **`/orc-quick` is still standalone** and still ignores every config key.
524
+ - **No lane blocks you.** Boundary at `block` skips a dispatch — it never stops
525
+ the run and never refuses your direct instruction.
526
+ - **Traces, run state, checkpoints, resume** — all unchanged. These lanes read
527
+ them; they do not change how they are written.
528
+
529
+ ---
530
+
531
+ ## 9. Where this could go wrong
532
+
533
+ An honest list. Each one needs a decision before building.
534
+
535
+ **1 · Preflight becomes noise.**
536
+ Six lines is already a lot. At ten lines people stop reading, and then a real
537
+ warning is invisible.
538
+ *Rule to hold:* a lane only gets a preflight line when it has something to say.
539
+ `aftermath` in the mock above prints **only** because the area being touched
540
+ churned. On a clean run it prints nothing.
541
+
542
+ **2 · The pact ledger becomes a second wiki.**
543
+ If every small decision becomes a promise, the ledger grows to 80 entries and
544
+ nobody reads it.
545
+ *Rule to hold:* only `constraint`-tagged decisions become promises, never
546
+ `intent`. And the ledger is reviewed — retirement is offered, not forbidden.
547
+
548
+ **3 · Boundary at `block` blocks the wrong thing.**
549
+ A wrong REFUSE is worse than no boundary at all, because it stops real work.
550
+ *Rule to hold:* the checklist makes every refusal falsifiable, and `warn` is the
551
+ default for at least one release. Watch `/orc-retro` for tasks that were
552
+ refused and then done by hand with no trouble — that is a mis-calibration
553
+ signal.
554
+
555
+ **4 · Self-serve writes something bad.**
556
+ The whole safety argument is "a check exists". A weak check that passes is worse
557
+ than no check.
558
+ *Rule to hold:* AMBER exists precisely for this. If ORC is not sure the check is
559
+ strong, the surface is AMBER, and AMBER always shows the human check as a task
560
+ — never as a pass.
561
+
562
+ **5 · The budget forecast gets trusted too early, or in the wrong unit.**
563
+ A number on a screen looks true. And a dollar figure shown to a Max user is a
564
+ number they will quietly ignore, which is worse than showing nothing.
565
+ *Rules to hold:* `insufficient history` is printed, not hidden. The range is
566
+ never collapsed into one number. Tokens are always available, and cache-read is
567
+ always separable — a blended count re-hides the thing the four-way split exists
568
+ to expose. No dollar figure without a dated price table, no quota figure without
569
+ a known plan, and `unattributed` is always shown.
570
+
571
+ **6 · The light wiki tier misses something.**
572
+ A cheap scanner writes a shallow doc, and the wiki quietly gets worse.
573
+ *Rule to hold:* `wiki_scan_tier: always_deep` restores today's behaviour
574
+ exactly, the tier is always printed, and STRUCTURAL is always deep. Watch the
575
+ integrity self-check failure rate per tier.
576
+
577
+ ---
578
+
579
+ ## 10. One sentence
580
+
581
+ **Before:** ORC is a very good build pipeline that forgets everything the moment
582
+ a run ends.
583
+
584
+ **After:** ORC is a build pipeline that remembers what you promised, knows what
585
+ it should not try, tells you the price first, checks later whether the work
586
+ held up, and lets the person who cannot read code change the things that are
587
+ safe to change.
@@ -0,0 +1,100 @@
1
+ # Mock run — the context combiner
2
+
3
+ > Two analyses of two related documents, merged into one spec — and it proves
4
+ > that nothing was lost.
5
+
6
+ There is no slash command for this. It is offered by `/orc-analyze` when two or
7
+ more related analyses already exist.
8
+
9
+ ---
10
+
11
+ ## 1. What it does
12
+
13
+ You analysed the refund policy PDF last week. Today you analysed the support
14
+ escalation doc. Both talk about refunds. Building from either one alone means
15
+ building half the thing.
16
+
17
+ The combiner pools **every** requirement from **every** source and gives each
18
+ one exactly one outcome. Then it counts. If the count is not 100%, it does not
19
+ hand off.
20
+
21
+ ---
22
+
23
+ ## 2. The run
24
+
25
+ ```
26
+ /orc-analyze … Phase F:
27
+
28
+ Two related analyses found. Merge them into one spec?
29
+ · refund-policy 11 requirements 2026-08-04
30
+ · support-escalation 7 requirements 2026-08-12
31
+
32
+ > yes
33
+ ```
34
+
35
+ ```
36
+ Dispatching orc-context-combiner-opus-5-high …
37
+ returned as: claude-opus-5 / high ✓
38
+
39
+ Phase B — are these really related?
40
+ shared files api/refunds/ (both), web/refunds/ (both)
41
+ shared subject refund state and who is told about it
42
+ Verdict: related. Continuing.
43
+
44
+ Phase C — pooled 18 requirements, reconciled one at a time
45
+
46
+ exact duplicate R-04 = S-02 "refund state must be visible to support"
47
+ → ONE row, both sources cited
48
+ partial overlap R-07 "notify the customer" vs S-05 "notify support"
49
+ → SPLIT into two rows, never collapsed into "notify"
50
+ conflict R-09 says refunds are final; S-06 describes a re-open
51
+ → CONFLICT, raised to you (below)
52
+ ordering S-01 must happen before R-02 (it creates the state)
53
+
54
+ Phase D — one question at a time
55
+
56
+ ❓ R-09 vs S-06 — can a closed refund be re-opened?
57
+ R-09 (policy PDF, p.4): "a completed refund is final"
58
+ S-06 (escalation doc, §2): "support may re-open within 14 days"
59
+ ➡️ The escalation doc is newer. I recommend S-06 wins, with R-09 kept
60
+ as a note. Your call.
61
+
62
+ > S-06 wins, and add the 14 days as a hard rule
63
+
64
+ Phase E — conservation gate
65
+ source requirements 18
66
+ rows in the merged spec 19 (one split into two)
67
+ every source id has exactly one outcome:
68
+ kept 15 · merged 2 · split 1→2 · resolved-by-you 1 · dropped 0
69
+ coverage_pct: 100 → handoff allowed
70
+
71
+ Phase F — written
72
+ combined-report.md
73
+ combined-requirement-spec.md (a normal spec, plus the source map)
74
+
75
+ Evidence freshness: 2 anchors from last week no longer match HEAD.
76
+ api/refunds/create.ts:31 → now :44 (flagged, not silently fixed)
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 3. What to notice
82
+
83
+ - **Nothing may vanish quietly.** Below 100% coverage there is no handoff.
84
+ Dropping a requirement is allowed — but only as your explicit decision, and
85
+ it is recorded as one.
86
+ - **A partial overlap is split, never collapsed.** Collapsing two similar
87
+ requirements into one shorter sentence is how scope disappears.
88
+ - **Old evidence is re-checked against HEAD**, because an anchor that was true
89
+ last week is not a fact today.
90
+ - **The merged spec is a normal spec.** The planner and the build pipeline do
91
+ not know or care that it came from two documents.
92
+ - **Full lane only.** There is no mini version of this, and it never builds
93
+ anything or spawns anything itself.
94
+
95
+ ---
96
+
97
+ ## 4. Related
98
+
99
+ - Where it starts: [`/orc-analyze`](../templates/skills/orc-analyze/examples/analyze-mock.md)
100
+ - What happens next: [`/orc-plan`](orc-plan.md)