@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,262 @@
1
+ # Mock run — the `/orc-challenge` council
2
+
3
+ > One reviewer sees one kind of problem. The council is six more ways of looking, and YOU choose which ones run.
4
+
5
+ ---
6
+
7
+ ## 1. The problem with one reviewer
8
+
9
+ `/orc-challenge` already reads your finished document and tells you what is
10
+ wrong with it. But it reads it **one way**: *does this document do what a
11
+ document is supposed to do?*
12
+
13
+ That misses whole kinds of problem. Six of them, in fact — and each one is
14
+ missed for a different reason:
15
+
16
+ | The way of looking | The question it asks | What goes wrong without it |
17
+ |---|---|---|
18
+ | **The Contrarian** | where is the fatal flaw? | everyone assumes the document is fine and stops looking |
19
+ | **The First Principles Thinker** | are we even solving the right problem? | nobody questions the thing you asked for |
20
+ | **The Expansionist** | what is being undervalued here? | only the bad news gets counted |
21
+ | **The Outsider** | what does this assume I already know? | an expert cannot un-know things |
22
+ | **The Executor** | what do you actually do on Monday? | the theory is graded, the first step never is |
23
+
24
+ Plus **The Cold Reader**, which you already had: *can a stranger answer the
25
+ questions this document promised to answer?*
26
+
27
+ That is six. The seventh — **The Judge** — always runs, and it is the one that
28
+ decides what happens to everything the other six find.
29
+
30
+ ---
31
+
32
+ ## 2. ORC suggests. You pick.
33
+
34
+ This is the part that matters, and it is the one rule the whole design is built
35
+ around:
36
+
37
+ > **ORC suggests a council. You choose it. ORC never chooses for you.**
38
+
39
+ Choosing the council is choosing **which kinds of criticism you are allowed to
40
+ hear**. That is a bigger decision than any single thing the review will find, so
41
+ ORC will not make it for you. If you do not answer, the command refuses:
42
+
43
+ ```
44
+ ❌ --council is required and has no default. ORC SUGGESTS a roster (from the kind
45
+ and the goal); the user PICKS it.
46
+ ```
47
+
48
+ When you open a cycle, question 7 looks like this:
49
+
50
+ ```
51
+ 7 Who is on the council for this review? (judge always runs; advisor runs on a fail)
52
+
53
+ ORC suggests, for a TSD aimed at implementers:
54
+ [x] cold reader can a stranger answer this document's own questions?
55
+ [x] contrarian assume it has a fatal flaw, then go find it
56
+ [x] executor can this be started on Monday? where is the first step?
57
+ [ ] outsider what does this assume you already know?
58
+ [ ] principles is this even the right problem? (never blocks)
59
+ [ ] expansionist what upside is being missed? (never blocks)
60
+
61
+ Reply with the ones you want (or "all", or "none").
62
+ Each one is one extra read-only Opus 5 dispatch per iteration.
63
+ ```
64
+
65
+ Three things about that block:
66
+
67
+ - **The suggestion is worked out from what you told it** — the kind of document
68
+ and what it is for. That is a fact, so ORC is allowed to work it out.
69
+ - **The cost is in dispatches, never in money.** ORC will not put a dollar figure
70
+ on anything it has not priced from a real, dated price table.
71
+ - **"none" is a real answer.** It gives you exactly the review you had before,
72
+ and nothing is lost by saying it.
73
+
74
+ ---
75
+
76
+ ## 3. Two of them never block anything
77
+
78
+ Four of the six find **problems**. Two of them cannot, and pretending otherwise
79
+ would make them lie.
80
+
81
+ ### The Expansionist finds upside, not defects
82
+
83
+ Its whole job is *"what is this worth that nobody is counting?"* — which, by
84
+ definition, is **not** something you asked for. So it cannot report a problem
85
+ against your goal, because there is no goal to report it against.
86
+
87
+ It writes **opportunities** instead. An opportunity has no severity, never
88
+ blocks a pass, and always comes with a first step:
89
+
90
+ ```
91
+ OPPORTUNITIES — not work, nothing here blocks
92
+
93
+ X-001 the retry table would work for every write in the service, not just this one
94
+ first step: list the four existing retry rules side by side
95
+ route: /orc-brainstorm
96
+ ```
97
+
98
+ You keep it or you let it go, and either way you say why. An idea that quietly
99
+ disappears looks exactly like an idea nobody ever had.
100
+
101
+ ### The First Principles Thinker questions your goal
102
+
103
+ It is the only one allowed to say **the goal is wrong**. And that is exactly why
104
+ it cannot report a problem: a problem is measured *against* the goal, and this
105
+ one is arguing about the goal itself. Those cannot be the same thing.
106
+
107
+ It writes a **premise challenge**, and when there is one, it is the first thing
108
+ you read:
109
+
110
+ ```
111
+ OPEN PREMISE CHALLENGE — read this before the findings
112
+
113
+ Q-001 disputes: goal
114
+
115
+ Reframe: the real job here is not "describe self-serve signup"; it is
116
+ "decide whether signup is self-serve at all". Three sections answer the
117
+ second question as if the first were already settled.
118
+
119
+ Cheapest test: ask the growth lead whether the decision has been taken.
120
+ One message. No rewrite.
121
+
122
+ Neither answer is automatic and ORC never picks:
123
+ agree orc challenge goals <slug> --set <path> --reason "…"
124
+ disagree orc challenge premise <slug> Q-001 --dismiss --reason "…"
125
+ ```
126
+
127
+ **Only a person can settle this.** If you agree, you write a new goal and the
128
+ review starts measuring against that instead. If you disagree, you say why — and
129
+ your reason stays in the report forever.
130
+
131
+ The Judge never sees this report. Handing a judge a document arguing that the
132
+ goal is wrong would bend every single thing it says afterwards.
133
+
134
+ ---
135
+
136
+ ## 4. What stops six reviewers from being a waste of money
137
+
138
+ The obvious way this goes wrong: six reviewers run, the Judge quietly ignores
139
+ four of them, and the review looks exactly the same as before while costing five
140
+ times more.
141
+
142
+ So the CLI **reads what each reviewer wrote, from disk**, and demands that the
143
+ Judge account for every single thing they raised:
144
+
145
+ ```
146
+ ❌ malformed verdict — council coverage is below 100% — every id the council
147
+ raised needs exactly ONE disposition (adopted | merged | rejected |
148
+ out-of-goal). Missing: O-003
149
+ ```
150
+
151
+ The Judge cannot make the list shorter by leaving something out, because the
152
+ list was never the Judge's to write.
153
+
154
+ Four possible answers, and three of them need a reason:
155
+
156
+ | Answer | Means |
157
+ |---|---|
158
+ | `adopted` | agreed — it becomes a real finding |
159
+ | `merged` | the same problem as another finding (and it must say which) |
160
+ | `rejected` | read it, disagreed — **and says why** |
161
+ | `out-of-goal` | real, but nothing you asked for covers it — **and says why**. Reported, never quietly dropped |
162
+
163
+ ---
164
+
165
+ ## 5. Whoever found it, keeps the credit
166
+
167
+ When the Judge agrees with something the Contrarian found, it stays `C-004`.
168
+ Forever — in this review, in the report, and in iteration nine.
169
+
170
+ That is not tidiness. It is the only way you ever find out whether a reviewer is
171
+ worth what it costs:
172
+
173
+ ```
174
+ RAN reader raised 3 · adopted 2 · merged 1 · rejected 0
175
+ RAN contrarian raised 6 · adopted 4 · merged 1 · rejected 1
176
+ RAN outsider raised 3 · adopted 1 · merged 2 · rejected 0
177
+ RAN executor raised 2 · adopted 2 · merged 0 · rejected 0
178
+ NOT-RUN principles usage limit reached mid-batch
179
+ ```
180
+
181
+ After two rounds you can see plainly that the Contrarian found four of the six
182
+ things that mattered, and that one reviewer has never landed anything. Drop it.
183
+
184
+ ---
185
+
186
+ ## 6. A reviewer that did not run is never silent
187
+
188
+ Look at that last line again. `principles` did not run, and it says so, with the
189
+ reason.
190
+
191
+ If a reviewer you chose simply vanished from the report, "it found nothing" and
192
+ "it never ran" would look identical — and one of those means you should relax
193
+ and the other means you should look again. So a reviewer that was selected and
194
+ did not run is **rejected as malformed** unless it says why:
195
+
196
+ ```
197
+ ❌ malformed verdict — executor is on the roster but returned neither a report
198
+ nor an explicit { "lens": "executor", "ran": false, "reason": "…" }.
199
+ A selected role is never silently absent.
200
+ ```
201
+
202
+ ---
203
+
204
+ ## 7. What you actually do Monday morning
205
+
206
+ The Executor writes one thing that nobody else does — the literal first three
207
+ things an implementer would do with your document today:
208
+
209
+ ```
210
+ What you would actually do first
211
+
212
+ 1. open docs/tsd-payments.md §4.2 and write the retry window in seconds
213
+ 2. ask the payments lead which queue the dead letters go to
214
+ 3. — stops here. The document never names the queue.
215
+ ```
216
+
217
+ **That third line is the useful one.** It does not pretend. If the list cannot be
218
+ finished, it says exactly where it stops and why — and that sentence is usually
219
+ the clearest thing in the whole review for somebody who does not read code.
220
+
221
+ ---
222
+
223
+ ## 8. You can change your mind
224
+
225
+ The council is frozen per review, like the goal and the template. Changing it is
226
+ a recorded decision with a reason:
227
+
228
+ ```bash
229
+ orc challenge council my-tsd --set contrarian,executor \
230
+ --reason "the framing question is settled; what is left is completeness"
231
+ ```
232
+
233
+ The timeline draws a line at that point, because a round judged by three
234
+ reviewers and a round judged by six are not comparable.
235
+
236
+ **Anything still open stays open.** The Judge answers every carried finding
237
+ whatever found it — it re-reads your document from disk every time, so it never
238
+ needed the original reviewer. You can change the council freely and lose
239
+ nothing.
240
+
241
+ ---
242
+
243
+ ## 9. What this never does
244
+
245
+ - **It never picks the council for you.**
246
+ - **It never lets an opportunity or a premise block a pass.** Neither has a
247
+ severity, and neither ever will.
248
+ - **It never bumps a severity because two reviewers agreed.** Agreement is a
249
+ signal worth showing you. It is not a verdict.
250
+ - **It never fixes anything.** Same as before: ORC judges, you fix somewhere
251
+ else, ORC judges again.
252
+ - **It never quietly leaves a reviewer out.**
253
+
254
+ ---
255
+
256
+ ## 10. What it costs
257
+
258
+ One extra read-only dispatch per reviewer, per round. That is it.
259
+
260
+ The suggestion defaults to three, `none` is free and gives you the old review
261
+ exactly, and the per-reviewer numbers in section 5 tell you within two rounds
262
+ which ones to keep.
@@ -0,0 +1,416 @@
1
+ # Mock run — `/orc-challenge`
2
+
3
+ > ORC grades your finished document, then stops and makes you fix it somewhere else.
4
+
5
+ ---
6
+
7
+ ## 1. What it does
8
+
9
+ Every other ORC lane **makes** something. This one does not.
10
+
11
+ It reads a finished thing — a design document, a README, a runbook, a module of
12
+ code — and tells you what is wrong with it. Then it **stops**. You go and fix the
13
+ thing in a **new chat**. Then you come back and it grades it again.
14
+
15
+ > **ORC judges. You fix. ORC judges again. ORC never fixes what it judged.**
16
+
17
+ That sounds like extra work. It is the whole point.
18
+
19
+ If the same chat writes the fix, that chat will also mark it as fixed. It will
20
+ always say the work is good, because it just did the work. Keeping the two apart
21
+ is the only way the score means anything.
22
+
23
+ ---
24
+
25
+ ## 2. It never guesses what "good" means
26
+
27
+ A document can be finished for one purpose and nowhere near done for another.
28
+
29
+ | Your real goal | What ORC should attack |
30
+ |---|---|
31
+ | "a backend team must build this without asking me anything" | every open question, every `TBD` |
32
+ | "this goes to a review board on Tuesday" | missing sections, things that contradict each other |
33
+ | "our team abroad must read it cold" | idioms, long sentences, words nobody explained |
34
+ | "did I forget anything obvious?" | gaps, not wording |
35
+
36
+ So ORC asks you first. It does not pick one for you.
37
+
38
+ If it guessed, every problem it found would still *sound* right — and you would
39
+ spend three rounds fixing things that did not matter. That is worse than being
40
+ obviously wrong.
41
+
42
+ ---
43
+
44
+ ## 3. Session 1 — you start
45
+
46
+ ```
47
+ > /orc-challenge docs/tsd-payments.md
48
+ ```
49
+
50
+ ORC asks six questions, all at once:
51
+
52
+ ```
53
+ Before I can judge this, I need to know what "good" means for it.
54
+ Six questions, one round:
55
+
56
+ 1 What must this document achieve?
57
+ 2 Who reads it, and what do they already know?
58
+ 3 What would you accept as finished?
59
+ 4 Do you have a template it should follow? Paste it, or give me a path.
60
+ 5 Anything deliberately OUT of scope?
61
+ 6 When you fix it, where will the fixed version go?
62
+ a over the same file b docs/<name>-v2.md c a folder
63
+ ```
64
+
65
+ You type: **"just tell me if it's good"**.
66
+
67
+ ORC does **not** start:
68
+
69
+ ```
70
+ That is not enough for me to judge it, and guessing would be worse than useless.
71
+
72
+ Which of these is closest?
73
+
74
+ a a backend team must implement it without asking me anything
75
+ b it has to survive Tuesday's architecture review board
76
+ c our offshore team, several non-native English readers, must read it cold
77
+ d I just want to know if I forgot anything obvious
78
+ e your own words
79
+ ```
80
+
81
+ You pick **a**, say who reads it, paste your team's template, and say the fixed
82
+ version goes to `docs/tsd-payments-v2.md`.
83
+
84
+ ORC saves your answers to a file and **freezes them**. From now on every round is
85
+ judged against the same goal — otherwise the history would mean nothing.
86
+
87
+ ---
88
+
89
+ ## 4. Still session 1 — the three checks
90
+
91
+ ### Check 1 — the free one
92
+
93
+ ```
94
+ 13 findings · 5 sentences · p50 8w / p90 43w · passive 40% · grade 8.1
95
+ template: 4/5 required sections present, missing 1
96
+ ```
97
+
98
+ This costs **nothing**. No AI ran. A small program counted the things a program
99
+ can count: missing sections, one 43-word sentence, short words, `TBD`, links that
100
+ go nowhere, words nobody explained.
101
+
102
+ ORC says out loud what this is: **a signal, not a verdict.** A long sentence is
103
+ not automatically bad. It just hands the numbers to the judge so the judge does
104
+ not spend money counting.
105
+
106
+ ### Check 2 — the cold reader
107
+
108
+ ORC sends the document to an agent that **can only read that one file**. No
109
+ search. No repo. No chat history. It does not even know what the document is for.
110
+
111
+ Its job is not to review. Its job is to **answer questions from the document**.
112
+
113
+ ```
114
+ It asked itself 12 questions.
115
+ 8 it could answer from the document
116
+ 3 it had to guess
117
+ 1 it could not answer at all
118
+
119
+ Words used before anyone explained them: "idempotency window", "SoR", "cutover"
120
+ ```
121
+
122
+ **8 out of 12.** That is what "someone new can follow this" actually means, as a
123
+ number.
124
+
125
+ Why an agent that thinks *less*? Because a clever reader fills in the gaps
126
+ without noticing. You want a reader that stops when the document stops.
127
+
128
+ ### Check 3 — the judge
129
+
130
+ Now a strong agent reads the document properly, with your frozen template and
131
+ your frozen goal.
132
+
133
+ It gets **file paths only** — never a summary of what changed, never "the user
134
+ says they fixed this". A summary is where bias gets in.
135
+
136
+ It finds problems like this one:
137
+
138
+ ```
139
+ F-001 · P0 · docs/tsd-payments.md:118
140
+
141
+ "the idempotency window is applied appropriately"
142
+
143
+ What is wrong: the window is never given a value anywhere.
144
+ What it costs: two teams building from this will pick different values,
145
+ and you find out in production.
146
+ Fixed when: §4.2 names the window in seconds and the dead-letter target.
147
+ Serves: done_means
148
+ ```
149
+
150
+ Three things matter here:
151
+
152
+ - **"What it costs"** — not "this is unclear", but what somebody builds wrong.
153
+ - **"Fixed when"** — so you are never guessing what done looks like.
154
+ - **"Serves"** — which of YOUR goals this helps. A problem it cannot tie back to
155
+ your goal gets **thrown away**.
156
+
157
+ ---
158
+
159
+ ## 5. The result — and ORC does not decide it
160
+
161
+ ```
162
+ iteration 1: FAIL — 4 blocking findings, coverage 100%
163
+ 1 finding dropped for having no `serves` (out of scope of the stated goal).
164
+ ```
165
+
166
+ The judge does not say pass or fail. It only lists problems. A small program
167
+ counts them and decides.
168
+
169
+ That is on purpose. **A judge that can pass something can be talked into passing
170
+ something.** A judge that can only find things cannot.
171
+
172
+ The dropped one was about the mobile app — which you said was out of scope. You
173
+ did not have to trust the judge to remember. The rule is in the program.
174
+
175
+ ---
176
+
177
+ ## 6. ORC stops
178
+
179
+ ```
180
+ Fix brief written: orc/orc-challenge/tsd-payments/fix-brief-01.md
181
+
182
+ Paste this into a NEW Claude Code session:
183
+
184
+ Fix the findings in orc/orc-challenge/tsd-payments/fix-brief-01.md.
185
+
186
+ Artifact: docs/tsd-payments.md
187
+ Goal: orc/orc-challenge/tsd-payments/goals.md (read this first)
188
+
189
+ Write the revised version to: docs/tsd-payments-v2.md
190
+
191
+ Rules:
192
+ - Change the document only. Do not edit anything under orc/orc-challenge/.
193
+ - Do not mark findings resolved. The next judgement decides that.
194
+ - If you think a finding is wrong, do not argue with it here —
195
+ run: orc challenge rebut tsd-payments F-007 "why"
196
+
197
+ When you are done, start ANOTHER new session and run:
198
+ /orc-challenge tsd-payments
199
+ ```
200
+
201
+ And it **ends the turn**. It does not ask "would you like me to fix these?"
202
+
203
+ Offering would break the rule politely, which is still breaking it.
204
+
205
+ The brief also groups the problems. Twelve findings are usually three causes:
206
+
207
+ ```
208
+ Group 1 — the glossary fixes F-004 F-009 F-011 F-012 F-015 F-018
209
+ Root cause: three terms are never defined, and six findings come from that.
210
+ Do this first: six findings disappear when you define the terms once.
211
+ ```
212
+
213
+ ---
214
+
215
+ ## 7. Session 2 — the fix session
216
+
217
+ A **new chat**. It reads the brief. It edits `docs/tsd-payments-v2.md`. It stops.
218
+
219
+ It does not run `/orc-challenge`. **This is the important part.**
220
+
221
+ One thing it may do: if a finding looks wrong, say so on the record.
222
+
223
+ ```
224
+ $ orc challenge rebut tsd-payments F-004 "the phrasal verbs are quoted from JIRA-4412"
225
+
226
+ ✓ F-004 rebutted. The next judgement MUST answer it explicitly — withdrawn (with
227
+ an admission) or upheld (with new evidence).
228
+ ```
229
+
230
+ Without this, one wrong finding would loop forever and your only move would be to
231
+ give up.
232
+
233
+ ---
234
+
235
+ ## 8. Session 3 — round two
236
+
237
+ ```
238
+ > /orc-challenge tsd-payments
239
+ ```
240
+
241
+ ORC opens with what actually changed:
242
+
243
+ ```
244
+ expected revision: docs/tsd-payments-v2.md FOUND (6fd76797 → f475e8e4, +24 −0)
245
+ carried findings: 5 · 5 touched · 0 untouched
246
+
247
+ touched/untouched is a hint for you. The judge re-reads the document either way.
248
+ ```
249
+
250
+ It knew where to look because you said so in session 1. **It never asks you where
251
+ you put the fixed version.**
252
+
253
+ If the file is not there:
254
+
255
+ ```
256
+ expected revision: docs/tsd-payments-v2.md MISSING
257
+
258
+ Candidates changed since iteration 1:
259
+ 1 docs/tsd-payments-v2.draft.md +51 −12
260
+ 2 docs/tsd-payments.md +4 −0
261
+
262
+ Which of these is the revision — or is the work not done yet?
263
+ ```
264
+
265
+ It **lists**. It does not pick. A judge pointed at the wrong file writes a page of
266
+ confident, useless findings.
267
+
268
+ ### Nothing is allowed to disappear
269
+
270
+ Every problem from last time must get an answer this time:
271
+
272
+ | Answer | Meaning |
273
+ |---|---|
274
+ | `resolved` | the judge looked again and it is gone |
275
+ | `still-open` | not fixed, or fixed wrongly |
276
+ | `superseded` | the document moved; a new finding replaces it |
277
+ | `withdrawn` | the judge now agrees it was not a problem |
278
+
279
+ If the judge forgets one:
280
+
281
+ ```
282
+ ❌ malformed verdict — coverage is 20% — every finding carried in must get
283
+ exactly ONE outcome. Missing: F-002, F-003, F-004, F-005
284
+ ```
285
+
286
+ If it ignores your rebuttal:
287
+
288
+ ```
289
+ ❌ malformed verdict — these rebuttals were not addressed: F-004
290
+ ```
291
+
292
+ If it quietly skips a check:
293
+
294
+ ```
295
+ ❌ malformed verdict — dimension D5 is selected but reported nothing.
296
+ NOT-CHECKED with a reason is allowed; silence is not.
297
+ ```
298
+
299
+ A problem that quietly vanishes looks exactly like a problem that got fixed. That
300
+ is how review cycles pretend to succeed.
301
+
302
+ Round two:
303
+
304
+ ```
305
+ iteration 2: FAIL — 1 blocking finding, coverage 100%
306
+ ```
307
+
308
+ Nine, then four, then one. The judge also withdrew `F-004` — you were right, it
309
+ was a quotation.
310
+
311
+ ---
312
+
313
+ ## 9. The last one, and a way out
314
+
315
+ The last problem is real, and you are not going to fix it: the endpoint list
316
+ lives in a different document.
317
+
318
+ ```
319
+ $ orc challenge accept tsd-payments F-003 "the endpoints land in the sibling API spec, not here"
320
+
321
+ ✓ F-003 accepted as a known gap. It stops blocking, and it stays visible in
322
+ every report with your reason.
323
+ ```
324
+
325
+ "Good enough, and here is why" is a real ending. ORC writes your reason down
326
+ forever instead of quietly lowering the bar.
327
+
328
+ ---
329
+
330
+ ## 10. Pass
331
+
332
+ ```
333
+ PASSED passed at iteration 2; nothing has changed since
334
+
335
+ ✓ CHALLENGE.md rendered from the ledger — 2 iterations.
336
+ ✓ final report: final-report-120826-192451.md
337
+
338
+ Not staged. Commit them if your team should see the review trail:
339
+ git add orc/orc-challenge/tsd-payments/
340
+ ```
341
+
342
+ No advice is written on a pass — advice about a finished document is invented
343
+ work, and it costs money.
344
+
345
+ It prints the `git add` command. It does not run it. **This lane never commits.**
346
+
347
+ ---
348
+
349
+ ## 11. What if it never converges?
350
+
351
+ There is **no limit** on rounds. Every other loop in ORC has one, because those
352
+ loops run inside a single chat and burn money each turn. Here each turn is a
353
+ person sitting down to work. Refusing on round six would be refusing to review a
354
+ hard document.
355
+
356
+ Instead ORC measures:
357
+
358
+ ```
359
+ convergence: 9 → 4 → 4 → 4 blocking findings over 4 iterations
360
+ ⚠ stalled — no net reduction in 3 iterations.
361
+
362
+ Three honest options:
363
+ 1 Narrow the rubric orc challenge init … --dimensions D1,D2,D6
364
+ 2 Accept them as known gaps orc challenge accept tsd-payments F-003 "…"
365
+ 3 Keep going /orc-challenge tsd-payments
366
+ ```
367
+
368
+ It says this once. It does not nag every round.
369
+
370
+ ---
371
+
372
+ ## 12. Coming back later
373
+
374
+ You do not need the old chat. Everything lives on disk.
375
+
376
+ | How | What happens |
377
+ |---|---|
378
+ | `/orc-challenge tsd-payments` in a new chat | the normal way, and the one the brief tells you to use |
379
+ | `/orc-challenge` with nothing | lists your open cycles and asks which one |
380
+ | `orc challenge status tsd-payments` | just read the state, no AI at all |
381
+
382
+ `orc resume` also shows it, for free.
383
+
384
+ ---
385
+
386
+ ## 13. What lands on disk
387
+
388
+ ```
389
+ orc/orc-challenge/tsd-payments/
390
+ ├── challenge.json the record. Only the `orc challenge` command writes it
391
+ ├── goals.md your frozen answers from session 1
392
+ ├── template.md your frozen template
393
+ ├── CHALLENGE.md a readable summary of the whole cycle
394
+ ├── iteration-01/
395
+ │ ├── lint.json the free checks
396
+ │ ├── reader-report.md the cold read
397
+ │ ├── verdict.md the review
398
+ │ └── advice.md how to group the fixes
399
+ ├── fix-brief-01.md the thing you paste into a new chat
400
+ ├── iteration-02/…
401
+ └── final-report-120826-192451.md
402
+ ```
403
+
404
+ Nothing here is staged for commit. It is yours to publish or not.
405
+
406
+ ---
407
+
408
+ ## 14. What it will not do
409
+
410
+ - It will not fix the thing it judged.
411
+ - It will not guess what your document is for.
412
+ - It will not say "pass" — a program decides that from the findings.
413
+ - It will not let a problem quietly disappear between rounds.
414
+ - It will not pick which file is your fixed version.
415
+ - It will not stage or commit anything.
416
+ - It will not run your build or your tests. That is `/orc-verify`'s job.