@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,70 @@
1
+ # Reference — Deepen Protocol (wiki topic → functions & full flow)
2
+
3
+ What the writer does AFTER the boundary is known. The wiki (when fresh)
4
+ answers "which files make up feature X and what are its contracts"; deepening
5
+ answers what the wiki deliberately does not carry: **which functions, in what
6
+ order, and why** — the level a human needs to change the code safely.
7
+
8
+ Precedence throughout: `code > fresh wiki > stale wiki (hints) > model
9
+ priors`. Every wiki claim used here is re-verified against the file it
10
+ anchors; on conflict the code wins and the doc records what the code shows.
11
+
12
+ ## Inputs
13
+
14
+ - `covers[]` — the feature's file set (from the chosen wiki area's globs, or
15
+ from the user's directory/focus pointer when the wiki couldn't seed it).
16
+ - `wiki_tier` + the topic's wiki doc path when one exists (fresh or aging →
17
+ trust its boundary/contract claims as a starting map; stale → hints only,
18
+ verify before use; none → skip).
19
+ - `focus_hint|null` — biases which invocation the walkthrough follows.
20
+
21
+ ## Step 1 — enumerate the feature's surface
22
+
23
+ Read every file matched by `covers[]` (targeted — NEVER expand to a
24
+ repo-wide scan; a file outside `covers` is read only when step 2's flow
25
+ provably calls into it, and then it is added to the doc's fingerprint map).
26
+ Record each function/method/entrypoint that participates in the feature:
27
+
28
+ - name + `file:line` anchor (the definition line, verified this run)
29
+ - role in one line (what it contributes to the feature)
30
+ - classification: entrypoint (route/command/hook/export) · core logic ·
31
+ helper · boundary (I/O, external service, other feature)
32
+
33
+ Skip vendored/generated files and trivial one-line re-exports. The count of
34
+ recorded functions is returned as `functions_mapped`.
35
+
36
+ ## Step 2 — trace ONE real flow, entry to exit
37
+
38
+ Pick the feature's most representative invocation (the `focus_hint` wins if
39
+ it names one; else the primary entrypoint). Follow the actual call chain
40
+ through the recorded functions — reading the code, not inferring — until the
41
+ flow leaves the feature (response returned, event emitted, write committed).
42
+
43
+ Produce an ordered chain of anchors: `entry (a.ts:12) → validate (a.ts:40) →
44
+ compute (b.ts:88) → persist (c.ts:15) → exit`. Note at each hop WHY the hop
45
+ exists when it is not obvious. Branches: trace the main path fully; name the
46
+ significant branches and where they diverge, without fully expanding each.
47
+ `flow_traced: true` in the return means this chain is complete entry-to-exit
48
+ with every hop anchored — anything less returns `false` and says why.
49
+
50
+ ## Step 3 — harvest while it's cheap
51
+
52
+ During steps 1–2, collect the raw material the templates need, so nothing is
53
+ invented at writing time:
54
+
55
+ - **Invariants/contracts**: assertions, validation, ordering constraints,
56
+ error conventions actually enforced in the code (→ knowledge.md).
57
+ - **Why-this-way findings**: places the implementation takes a non-obvious
58
+ route — these seed the FAQ (→ learning.md).
59
+ - **Couplings**: where the flow crosses into other features/modules — FAQ +
60
+ gotchas material.
61
+ - **Change seams**: the spots a next iteration would extend (→ recipes +
62
+ extension points).
63
+
64
+ ## Output
65
+
66
+ Everything feeds the two templates (`template-learning.md`,
67
+ `template-knowledge.md`). The knowledge.md "Functions & flow" section and the
68
+ learning.md "Guided walkthrough" MUST describe the same step-2 flow — one
69
+ anchored tersely, one narrated pedagogically. Divergence between them is a
70
+ defect.
@@ -0,0 +1,65 @@
1
+ # Reference — Refresh Protocol (per-feature freshness, multi-select)
2
+
3
+ REFRESH regenerates the onboarding pair for features the user picks. It
4
+ never runs unprompted, never regenerates everything by default, and never
5
+ persists a freshness status — freshness is computed on read, every time,
6
+ from each feature's fingerprint header.
7
+
8
+ ## Inputs (all read from disk)
9
+
10
+ Per feature folder `learning-docs/<slug>/`, the `orc-learn:meta` header in
11
+ its `knowledge.md` (`template-knowledge.md`): `source_commit` +
12
+ `covered_files` (path → 6-hex md5).
13
+
14
+ ## Computing freshness (on read — never stored)
15
+
16
+ The same two-pass recipe as the wiki's staleness reference, run per feature
17
+ against its own `source_commit`:
18
+
19
+ ```
20
+ distance = git rev-list --count <source_commit>..HEAD
21
+ drift = git diff --name-only <source_commit>..HEAD (pass 2, when needed)
22
+ ```
23
+
24
+ | Tier | Condition |
25
+ |-------|-----------|
26
+ | FRESH | distance < `wiki_fresh_max` (default 10) |
27
+ | AGING | `wiki_fresh_max` ≤ distance ≤ `wiki_aging_max` (default 30) |
28
+ | STALE | distance > `wiki_aging_max`, OR pass-2 drift intersects the feature's `covered_files` paths |
29
+
30
+ Pass 2 runs only when pass 1 lands AGING or worse: intersect `drift` with the
31
+ feature's `covered_files` paths. Drift hitting covered files upgrades the
32
+ tier to STALE; drift entirely elsewhere may read as "old but still accurate
33
+ for this feature". Thresholds are the existing `wiki_fresh_max` /
34
+ `wiki_aging_max` config keys — orc-learn adds no config keys of its own.
35
+
36
+ A `knowledge.md` with a missing/unparseable header cannot prove anything →
37
+ show it as STALE (header will be rewritten on regeneration). A feature
38
+ folder missing its `knowledge.md` entirely → show as BROKEN; regeneration is
39
+ the fix.
40
+
41
+ ## The refresh flow
42
+
43
+ 1. Enumerate `learning-docs/*/knowledge.md`; compute each feature's tier as
44
+ above. None found → "nothing generated yet; run `/orc-learn` first", stop.
45
+ 2. Present the FULL list — every feature, each with its computed tier — and
46
+ let the user multi-select which to regenerate. FRESH features stay
47
+ selectable (the user may want a rewrite after learning more); STALE ones
48
+ are flagged, never auto-selected. Nothing picked → stop, zero writes.
49
+ 3. Per selected feature the writer re-runs the full deepen (`deepen.md`) on
50
+ the feature's `covers` set and regenerates BOTH files: new
51
+ `source_commit` = current HEAD, recomputed `covered_files` hashes, a new
52
+ line in the doc changelog, `updated:` set to today (DD-MM-YYYY). Files
53
+ that vanished since generation drop out of the map; files the new flow
54
+ pulls in are added.
55
+ 4. After the last selected feature, re-derive `learning-docs/INDEX.md` from
56
+ every feature's current header (all features, not just the refreshed
57
+ ones).
58
+
59
+ ## Invariants
60
+
61
+ - Freshness/tier is NEVER written to any file — not the header, not the
62
+ index. Only `source_commit` + `covered_files` (facts) persist.
63
+ - Only user-selected features are regenerated; the rest are byte-untouched.
64
+ - DD-MM-YYYY everywhere a date is written.
65
+ - A refresh that regenerates nothing (user picked none) writes nothing.
@@ -0,0 +1,83 @@
1
+ # Template — `knowledge.md` (reference; jump-to lookup)
2
+
3
+ The lookup half of a feature's onboarding pair, and the file that carries the
4
+ feature's freshness fingerprints. Sections are required unless marked
5
+ optional; empty-scan sections are OMITTED, never stubbed. Every claim is
6
+ anchored `file:line`, verified this run.
7
+
8
+ ## The fingerprint header (required, machine-readable)
9
+
10
+ The first thing in the file — an HTML comment block the refresh protocol
11
+ parses (`refresh.md`). Field names are orc-learn's own (`source_commit`, not
12
+ the wiki's scan fields) so the two schemas can never be confused:
13
+
14
+ ```markdown
15
+ <!-- orc-learn:meta
16
+ feature: <feature-slug>
17
+ generated: <DD-MM-YYYY>
18
+ updated: <DD-MM-YYYY>
19
+ source_commit: <full git hash — HEAD when this doc was written>
20
+ covered_files:
21
+ <repo-relative path>: <6-hex md5>
22
+ <repo-relative path>: <6-hex md5>
23
+ -->
24
+ ```
25
+
26
+ - `covered_files` lists every source file the doc's claims rest on, with a
27
+ 6-hex md5 of its content — computed with the real `node -e` md5 one-liner
28
+ (same command as `orc-claude/references/refresh.md`), never mentally.
29
+ - Refresh recomputes freshness FROM this header on read; no freshness status
30
+ is ever stored here.
31
+
32
+ ## Body sections
33
+
34
+ ```markdown
35
+ # Knowledge — <Feature Name>
36
+
37
+ ## Architecture summary
38
+
39
+ <5–15 lines: the pieces, their responsibilities, how data moves. A compact
40
+ diagram if the shape warrants it.>
41
+
42
+ ## Functions & flow
43
+
44
+ <THE deepened section — the value-add over any wiki doc. One row/entry per
45
+ function or entrypoint that composes the feature: name, file:line anchor,
46
+ role in one line. Then the full call flow of one real invocation, entry to
47
+ exit, as an ordered chain of those anchors — the SAME flow learning.md
48
+ walks through pedagogically.>
49
+
50
+ ## Contracts & invariants
51
+
52
+ <What must not break when you touch this feature: shapes, ordering rules,
53
+ error conventions, cross-feature promises. Anchored to where each is
54
+ enforced or assumed.>
55
+
56
+ ## Dependencies & extension points
57
+
58
+ <In: what this feature consumes (modules, config, env names — never values).
59
+ Out: who consumes it. Extension points: the seams a next iteration should
60
+ use, anchored.>
61
+
62
+ ## How to verify a change
63
+
64
+ <The build/test/lint invocations that prove a change to THIS feature is
65
+ safe — taken from the wiki manifest's `commands` map when one exists, else
66
+ from the project's real manifests. Only invocations that provably exist;
67
+ never invented. Include the narrowest test scope that covers the feature.>
68
+
69
+ ## Doc changelog
70
+
71
+ <One line per generation/refresh: DD-MM-YYYY — init|refresh — short note.>
72
+ ```
73
+
74
+ ## Rules
75
+
76
+ - `covered_files` is the refresh contract: any file the doc leans on that is
77
+ missing from the map silently escapes staleness detection — err on
78
+ including it.
79
+ - Unanchored claims are omitted, never guessed. On any wiki-vs-code conflict
80
+ the code wins and the doc records what the code shows.
81
+ - `INDEX.md` (derived by the writer from every feature's header) carries per
82
+ feature: slug · one-liner · generated/updated dates · path. Freshness is
83
+ NOT stored in the index — it is computed on read by refresh mode.
@@ -0,0 +1,67 @@
1
+ # Template — `learning.md` (pedagogy; read top-to-bottom once)
2
+
3
+ The teaching half of a feature's onboarding pair. Written for ONE reader —
4
+ the dev who has to extend this feature next iteration — and since
5
+ `learning-docs/` is local and git-ignored, it addresses that reader directly
6
+ as "you". Every section below is required unless marked optional; a section
7
+ whose scan came back empty is OMITTED, never stubbed.
8
+
9
+ Style: narrative prose over bullet walls. Every code reference is a real
10
+ `file:line` anchor the writer verified this run — never a guessed path.
11
+
12
+ ```markdown
13
+ # Learning — <Feature Name>
14
+
15
+ > <One sentence: what this feature does and why it exists.>
16
+
17
+ ## Mental model
18
+
19
+ <The big picture in plain language. One analogy if it genuinely helps. A
20
+ small text/mermaid diagram of the moving parts. 10–20 lines.>
21
+
22
+ ## Guided walkthrough — one real request, entry to exit
23
+
24
+ <Follow ONE concrete invocation through the code, step by step. Each step:
25
+ what happens, in which function (file:line), and why that step exists.
26
+ This is the heart of the doc — it must trace the SAME flow the knowledge.md
27
+ "Functions & flow" section anchors.>
28
+
29
+ ## Key concepts & vocabulary
30
+
31
+ <The feature's own terms, each defined in 1–2 lines, anchored where the
32
+ concept lives in code.>
33
+
34
+ ## How to make common changes
35
+
36
+ <2–4 recipes for the changes the next iteration will plausibly need:
37
+ "add a new X", "change how Y is computed", "extend Z". Each recipe: which
38
+ files/functions to touch (anchored), in what order, and what to re-run to
39
+ verify. This is the section that pays for the whole doc.>
40
+
41
+ ## Gotchas / footguns
42
+
43
+ <Non-obvious traps found during the scan: ordering constraints, implicit
44
+ couplings, things that LOOK safe to change but aren't. Anchored.>
45
+
46
+ ## FAQ
47
+
48
+ <REQUIRED, minimum 5 questions. Seed from real scan findings — never generic
49
+ filler. Good sources: "why is it done this way and not the obvious way",
50
+ cross-feature couplings, and "how do I add/change/remove …". Each answer
51
+ 2–4 lines, linking into knowledge.md sections or real files for depth.>
52
+
53
+ ## Where to look next
54
+
55
+ <Pointers: the paired knowledge.md, the 3–5 most load-bearing source files,
56
+ and any wiki doc that covers the surrounding area.>
57
+ ```
58
+
59
+ ## Rules
60
+
61
+ - FAQ is a hard requirement: ≥5 questions or the doc is incomplete — the
62
+ writer's return reports `faq_count` and the skill relays it.
63
+ - Anchors are verified this run; a claim that cannot be anchored to a real
64
+ file is omitted, never guessed (same evidence bar as the wiki).
65
+ - No fingerprint header here — freshness lives in the paired knowledge.md;
66
+ this file carries only a `Generated: <DD-MM-YYYY> · source: <short-commit>`
67
+ line under the title.
@@ -0,0 +1,226 @@
1
+ ---
2
+ name: orc-mini
3
+ description: >
4
+ Lightweight ORC for fast implementation. Use for
5
+ "use orc-mini to implement X" or "/orc-mini". Same
6
+ intake → intent-spec → planning → dispatch → smoke-gate → ship spine as the full
7
+ orchestrator, but SKIPS full code review, verification, and the summary phase.
8
+ Dispatches ONE Sonnet 5 high-effort subagent for implementation, then runs a
9
+ build+test smoke gate (blocks ship on red) and offers opt-in test authoring.
10
+ Switchable to full flow mid-run. The orchestrator never implements — it spawns.
11
+ ---
12
+
13
+ # ORC-MINI
14
+
15
+ A trimmed orchestrator for when you want speed over the full quality pipeline.
16
+ Everything in the main spine (`../orc/SKILL.md`) applies EXCEPT the
17
+ differences below. Load the main skill's references and schemas by path — the
18
+ HOT-PATH essentials (dispatch names, return-contract fields, artifact path)
19
+ are inlined here so nothing is reconstructed from "full minus deltas."
20
+
21
+ Run as **Opus 4.8 high**, or Opus 5 / Fable 5 at medium+ (as full; never downgrade).
22
+ **You never implement — you spawn.** The one exception is the **smoke gate**:
23
+ a read-only build+test run, not implementation — you still never write code.
24
+
25
+ **Worked example** (orient only — never execute from it): `examples/mini-run-mock.md`.
26
+
27
+ ## Differences from the full orchestrator
28
+
29
+ 1. **Skip full Phase 5 (Review), Phase 6 (Verify), and Phase 7 (Summary).**
30
+ Instead: the **smoke gate** after execution, then the opt-in
31
+ **test-authoring ask**, then ship.
32
+ 2. **Implementation is ONE subagent, Sonnet 5, high effort.** No waves. **No
33
+ scoring table** — replace it with a **one-line complexity read** (mini-ok?
34
+ or recommend switching to full); log that line, never render the matrix.
35
+ 3. **No dispatch-style and no batch-pause questions** — a single subagent
36
+ makes both meaningless; never ask them.
37
+ 4. **Lighter intake.** Ask only the **Always + medium tier** (Q1–Q4 in
38
+ `../orc/references/intake.md`); skip the high tier (Q5/Q6). Run the Step
39
+ 3.5 repo cross-check at NAMES-ONLY depth (Glob/Grep-confirm what the draft
40
+ names, tag the rest `UNVERIFIED`, resolve tags in the sign-off line; >3
41
+ tags → recommend the full flow or `orc-analyze`). Sign-off **defaults to
42
+ SOFT**, not GATE.
43
+ 5. **Still write tests** if the project has a test setup (the executor
44
+ creates/updates them in its task).
45
+ 6. **Everything else is identical:** run folder + intent-spec, planning,
46
+ checkpoint/state-of-play, stop sequence, usage reminder, ship flow.
47
+
48
+ ## Mini flow (the phase set)
49
+
50
+ ```
51
+ Phase 0 intake (Q1–Q4, soft sign-off) + run folder + intent-spec
52
+ Phase 1 planning (dispatch orc-planner-mini; analyst first only on real docs)
53
+ → one-line complexity read (mini-ok? or recommend switch-to-full)
54
+ Phase 3 dispatch ONE executor (orc-executor-sonnet-5-high) — slice carries
55
+ the standing `house_rules` card (../orc/references/house-rules.md,
56
+ injected literally) + the cached `postgres` pattern on a data-access
57
+ task (cache HIT only) — collect + validate return
58
+ Phase M SMOKE GATE — run build+test → GREEN proceed · RED block ship + surface
59
+ Phase X MOCK EXAMPLE (config mock_example) — offer/build after a GREEN gate
60
+ Phase T TEST-AUTHORING ASK (opt-in) — offer to write test cases (never run them)
61
+ Phase 8 ship (commit / push / PR — never stages mock-examples/)
62
+ ```
63
+ (No Phase 2 scoring table, no dispatch-style/batch-pause asks, no full
64
+ review/verify/summary.)
65
+
66
+ **Postgres query grounding.** On a Postgres project, if the task touches the
67
+ data-access layer AND `orc pattern status postgres` reports cached (the
68
+ deterministic probe in `../_shared/detecting-artifacts.md`, never an ad-hoc
69
+ `find` for `.claude/orc/patterns/postgres-pattern.md`), inject it LITERALLY into
70
+ the slice (conventions + blocking query invariants).
71
+ Cache MISS → skip — mini never codifies (that's the full lane /
72
+ `/orc-pattern`); universal invariants + neighbor imitation still cover it.
73
+
74
+ **Gotchas (repair memory; config `gotchas`) — mini READS and WRITES.** Probe at
75
+ Phase 1 (`orc gotcha status`, one row, never silent), inject the SCOPE-MATCHING
76
+ entries into the Phase 3 slice (cap 3; zero matches = no block, never
77
+ unfiltered), and append a returned `gotcha_recorded` YOURSELF after the return.
78
+ Trimmed mechanics + `.claude/orc/gotchas.md`: `../_shared/gotchas.md` §10.
79
+
80
+ ## Phase M — Smoke gate (build + test; blocks ship on red)
81
+
82
+ After the executor return validates (`../_shared/return-validation.md` —
83
+ including `done` with non-empty `unmet[]` = partial, and §6's worktree delta: a path changed outside `declared_files` is a violation whatever the return said), YOU run the smoke gate
84
+ per `../_shared/smoke-gate.md`: read-only build+test. **GREEN** →
85
+ test-authoring ask, then ship. **RED** → never offer commit/ship; one repair
86
+ re-dispatch, second red → STOP and surface. Docs-only → gate N/A, say so.
87
+
88
+ ## Phase X — Mock example + drift recovery (config `mock_example`, default ask)
89
+
90
+ Canonical: `../_shared/drift-recovery.md` — load it when the phase fires. After
91
+ a GREEN Phase M, before ship: `ask` → MANDATORY offer (never silently
92
+ skipped/run) · `on` → build · `off` → skip. Deliverable
93
+ `mock-examples/<change-slug>/` at project root (EXAMPLE.md + one runnable
94
+ mocked artifact) — **never committed, never staged** (no `.gitignore` edit).
95
+ One question after the user runs it: matches expectation? [yes / drift:
96
+ <describe>]. Drift → `DRIFT-FROM` handoff (gap analysis → patch plan → dispatch
97
+ → re-gate → re-offer), hard cap 2 loops, then an honest unresolved report.
98
+ Trace: `PHASE mock-example`, `DRIFT loop=<n>`.
99
+
100
+ ## Phase T — Test-authoring ask (opt-in; writes tests, never runs them)
101
+
102
+ Same opt-in as full Phase 6.5 — mini **only asks** (never gates the ship).
103
+ Default from `config.generate_tests`; at the end of a GREEN run ask: *"Write
104
+ test cases for these changes? (I'll author them — automated files +
105
+ TEST-PLAN.md + a curl bundle for HTTP APIs — but never run them; you test
106
+ manually.)"* Yes → dispatch `orc-test-author-opus-5-med` (subskill
107
+ `../orc/subskills/orc-testgen/`) with the run's `actual_files`,
108
+ definition-of-done, touched flows, constraints, stack; the two manual
109
+ deliverables land in **`test-generator/<change-slug>/` at the project root**.
110
+ Validate the returned `test_plan_path`/`curl_bundle_path` are under that folder
111
+ (else malformed → re-dispatch); relay + state the exact path (committed on ship,
112
+ not gitignored). No → ship. Either way this NEVER runs tests.
113
+
114
+ ## Behavior trace (PERMANENT — same rule as full; always on)
115
+
116
+ Mini does NOT drop the trace. Follow `../orc/references/trace-protocol.md` (load
117
+ at run start): create `log_dir`, write `.current` =
118
+ `run-mini-<slug>-<DDMMYY>-<HHMMSS>.txt` AND `touch the trace file` of that name
119
+ in the SAME step, store `trace_path`. Narration is
120
+ **dispatched, never remembered**: record each event with its REAL timestamp into
121
+ a packet (`PHASE`, `DISPATCH`, `VERIFY` per return — `actual_model`/
122
+ `actual_effort` vs expected, surface any ⛔ DOWNGRADE — `OUTCOME … band=mini`,
123
+ `VERDICT`, plus `decisions` = the WHY), then dispatch
124
+ `orc-trace-writer-haiku-4-5` PAIRED with the next dispatch; mini batches to
125
+ **3 packets** (intake+plan, execution, ship). A phase with
126
+ zero new trace lines is a protocol violation — dispatch its packet NOW.
127
+ Run end: the `FINISH` packet returns, then delete `log_dir/.current`.
128
+
129
+ ## Complexity read (replaces the scoring table)
130
+
131
+ ONE judgment before dispatch: is this genuinely mini-sized (single coherent
132
+ area, low interdependency, low blast radius)? State it in one line and log it.
133
+ Complex/high-risk (many interdependencies, core/shared surface,
134
+ security-sensitive) → **recommend switching to full** — let the user choose.
135
+
136
+ ## Fallback intake (arriving from orc-fast)
137
+
138
+ orc-fast falls back HERE whenever its prerequisites fail — never by stopping
139
+ the chat. Follow the reader side of `../_shared/fallback-handoff.md`: the
140
+ `FALLBACK-FROM` block in the shared run folder names the reason; acknowledge
141
+ it in one line, skip re-deriving whatever is carried, reuse the run folder.
142
+
143
+ ## Switching to full flow mid-run
144
+
145
+ On "switch to full" (or when the complexity read / a mid-run surprise clearly
146
+ needs review/verify): the run folder, checkpoint, and intent-spec already live
147
+ in the shared `.claude/orc/run/{run-slug}/` format, so the full flow resumes from
148
+ the current checkpoint and adds the phases mini skipped. Record the switch in
149
+ the decision log.
150
+
151
+ ## Dispatch via named agents (canonical name-map — dispatch BY these names)
152
+
153
+ Models pinned in `.claude/agents/`; look up here, never reconstruct a name (agent = skill-name + model-effort suffix). See `.claude/agents/MODEL-MAPPING.md`. `opus5_only: true` FORCES the right column and needs an Opus 5 main session — mini's cheap-lane premise is off while it is on (`../_shared/opus5-only.md`).
154
+
155
+ **Extra (`extra_enabled`, `../_shared/extra-dispatch.md`):** mini's ONE executor may run off Claude. It has no score, so resolve the pinned executor's **BAND, both edges, and require them to agree** — a partially covering row keeps the run on Claude and the preflight says so. Print the `extra:` line at intake whenever the gate is on (P0: `a lane that sends work off Claude without saying so`); dispatch via `orc extra dispatch --task <file> --json` with the IDENTICAL slice; validate with `return-validation.md` **§2b, not §2** (⛔ SUBSTITUTION replaces the downgrade check); a failure runs `orc extra reconcile <task_id>` FIRST — a worktree that moved is RESUMED, never re-done — then falls back to the pinned Claude agent, announced. A cited-risk change never leaves Claude (`extra_risk_tasks`, default `off`) — and mini's complexity read is not a substitute for that gate.
156
+
157
+ | Role | Agent (dispatch this) | Model / effort | When `opus5_only` |
158
+ |------|-----------------------|----------------|-------------------|
159
+ | mini analysis (docs only) | `orc-analyze-mini-sonnet-5-high` | claude-sonnet-5 / high | `orc-analyze-mini-opus-5-med` |
160
+ | mini planning | `orc-planner-mini-sonnet-5-high` | claude-sonnet-5 / high | `orc-planner-mini-opus-5-med` |
161
+ | mini execution | `orc-executor-sonnet-5-high` | claude-sonnet-5 / high | `orc-executor-opus-5-low` |
162
+ | test authoring (opt-in) | `orc-test-author-opus-5-med` | claude-opus-5 / medium | unchanged |
163
+
164
+ ## Config
165
+
166
+ Resolve at run start: `../orc/config.md` defaults merged with
167
+ `.claude/orc.config.yaml` — read `generate_tests` (the Phase T offer default),
168
+ `mock_example`, `tdd_loop_max`, and `log_dir`. Wave/scoring/scout keys never
169
+ apply to mini — never render or ask them.
170
+
171
+ **TDD (ONE intake question — mini's whole TDD policy):** at intake ask once:
172
+ *"Anchor this in plan-time acceptance tests (TDD — red tests first, implement
173
+ to green)? [yes/no]"*. Yes → the planner slice carries `tdd: on` (the mini
174
+ planner authors `tdd_spec` per requirement, **scoped by the same `disposition` set the full lane uses** — `new-surface | behavior-change | covered-by-existing | no-behavior | no-runner`, derived from the `facets`, same safety floor: a cited `risk[]` is never scoped out, so a constant or a translation string gets no test but an auth change always does). Mini keeps its SINGLE executor — no paired TDD task; that executor materializes the failing tests FIRST, then implements to green
175
+ (implement→test→repair, cap `tdd_loop_max`; emit `TDD-RED`/`TDD-GREEN` per
176
+ iteration; cap hit → STOP + honest red report), and Phase M's smoke gate runs
177
+ the TDD suite as part of build+test. Scoped-out requirements are named with their
178
+ reason at preflight — never silent. No → skip entirely; never re-ask.
179
+
180
+ ## Analyst & planner (mini lane)
181
+
182
+ orc-mini dispatches the FAST variants (Sonnet 5 high): `orc-analyze-mini` and
183
+ `orc-planner-mini` — same artifacts and output contracts as full, trimmed
184
+ depth. The mini analyst is **doc-optional**: on real doc input it runs first,
185
+ then the mini planner; on a merely ambiguous request, prefer one inline
186
+ clarifying question over a cold analyst spawn. Always single-pass — **no deep
187
+ mode, no scouts**; it escalates to `/orc-analyze` deep on its concrete
188
+ thresholds and the user chooses. You never analyze or plan yourself.
189
+
190
+ **Mini-lane gates (yours, deterministic — same as full; full detail in
191
+ `../orc/references/analyst-gates.md`; emit `GATE` trace lines).** On
192
+ mini-analyst return: evidence spot-check + derivation lint; refuse
193
+ take-into-build on open `UNVERIFIED`/missing `scope_closed`; `git_head` ≠
194
+ HEAD at plan time → re-run the spot-check first. On mini-planner return: Glob
195
+ every `disposition: exists` path, recompute coverage (no orphan
196
+ requirements), cycle + collision checks. Any miss → bounce (one retry, then
197
+ escalate). At dispatch, append the task's `spec_invariants` to the slice's
198
+ `constraints[]` verbatim.
199
+
200
+ ## Wiki consult (if present)
201
+
202
+ Same rule as the full skill — load `../orc/references/wiki-consult.md` at the
203
+ planning/complexity-read step: compute the FRESH / AGING / STALE tier from
204
+ `.claude/orc/wiki-meta.json`, pull the relevant pages (incl. cross-cutting
205
+ maps like `orc-reference-api-surface` when their domain applies), apply
206
+ `code > fresh wiki > stale wiki (hints) > model priors`, and **emit
207
+ `WIKI-CONSULT <tier> :: docs=<pages pulled>`**. Crosslink: a task touching a
208
+ boundary in `.claude/orc/crosslink/needs.json` gets the cached contract
209
+ injected per that reference — advisory, never blocking. Mini never generates
210
+ the wiki; after a code-changing run apply the passive stale-flag note only
211
+ (the post-ship refresh ASK is full-lane/ultra behavior).
212
+
213
+ ## Shared artifacts
214
+
215
+ Writes to the SAME location as the full skill
216
+ (`.claude/orc/run/{run-slug}/`) — a switch needs no migration.
217
+
218
+ ## What mini still enforces (from the main hard rules)
219
+
220
+ Never implement yourself (the smoke gate is read-only, not implementation) ·
221
+ all RUN-STATE artifacts in the run subfolder, never project root (the one
222
+ exception is the opt-in `test-generator/<change-slug>/` self-QA deliverable,
223
+ which lands at the project root by design) · validate every
224
+ subagent return (malformed = failure) · report the dispatch log + remind the
225
+ user to run `/usage` (never invoke it programmatically) · **never offer commit
226
+ on a red build** (enforced by Phase M).
@@ -0,0 +1,50 @@
1
+ # Example — Annotated Mini Run (dry run)
2
+
3
+ O: = orchestrator (Opus 4.8 high, always) · U: = user. Nothing real. The
4
+ orchestrator NEVER implements — it spawns ONE Sonnet-5-high executor, then runs a
5
+ read-only build+test smoke gate itself.
6
+
7
+ U: /orc-mini add a `--json` flag to the `report` CLI command
8
+
9
+ ## Phase 0 — Intake (lighter: Q1–Q4, soft sign-off)
10
+ O: Creates run folder run/report-json-flag/ FIRST.
11
+ [reads repo: Python/poetry/pytest — asks nothing about stack]
12
+ Batched round (medium tier): 1) What should exist? 2) Out of scope?
13
+ 3) How do we know it's done? 4) Patterns/files to avoid?
14
+ U: report --json prints machine-readable output; no other commands touched;
15
+ `pytest tests/test_report.py` green; follow the existing click option style.
16
+ O: [drafts intent-spec.md] Sign-off defaults to SOFT — proceeding unless you object.
17
+
18
+ ## Phase 1 — Planning + complexity read
19
+ O: [dispatches orc-planner-mini] → 1 task, declared_files: cli/report.py,
20
+ tests/test_report.py — both grounded `exists` (globbed) + acceptance sliced
21
+ from the intent-spec. O spot-checks: both paths present ✓.
22
+ O: Complexity read (one line, no scoring table): single coherent area, low blast
23
+ radius → mini-appropriate. (If it read complex/high-risk → I'd recommend /orc.)
24
+
25
+ ## Phase 3 — Execute (ONE subagent)
26
+ O: → claude-sonnet-5 / high :: DISPATCH orc-executor-sonnet-5-high :: add --json flag
27
+ [executor edits cli/report.py + updates tests, returns actual_files + actual_model
28
+ + evidence {`pytest tests/test_report.py`, exit 0, tail quoted} + empty unmet[]]
29
+ O: VERIFY actual=claude-sonnet-5/high ✅ MATCH · evidence present ✓
30
+
31
+ ## Phase M — Smoke gate (build + test; blocks ship on red)
32
+ O: [runs `pytest tests/test_report.py`] ⛔ RED — 1 failure: JSON missing trailing key.
33
+ Not offering commit. Auto-fix ONCE → re-dispatch executor with the failure output.
34
+ [re-run] ✅ GREEN — build + tests pass. VERDICT pass
35
+
36
+ ## Phase T — Test-authoring ask (opt-in; writes, never runs)
37
+ O: Write test cases for these changes? (I author them — files + TEST-PLAN.md — but
38
+ never run them; you test manually.) [default from config.generate_tests]
39
+ U: yes
40
+ O: [dispatches orc-test-author-opus-5-med] → automated tests in
41
+ tests/test_report.py; manual deliverable at test-generator/report-json-flag/TEST-PLAN.md
42
+ (non-API project → curl_bundle_path null). Validate: path under
43
+ test-generator/report-json-flag/ ✓.
44
+ O: Self-QA plan: test-generator/report-json-flag/TEST-PLAN.md (committed on ship).
45
+
46
+ ## Phase 8 — Ship
47
+ O: Current branch: feat/report-json. Commit? Push? PR?
48
+ U: commit
49
+ O: [commits] Done. Usage: dispatch log below + run /usage for your limits.
50
+ (Switch to full flow any time — the run folder + checkpoint are shared.)