@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,66 @@
1
+ # Writing a human can actually read (P0)
2
+
3
+ Both the writer and the checker are held to this. The free half is measured by
4
+ `orc doc lint`; the rest is what the checker grades each section for.
5
+
6
+ ## The rules
7
+
8
+ 1. **Write for the audience named in D4**, not for the model that wrote it.
9
+ 2. **One idea per sentence.** Average ≤ 20 words. Any sentence over 35 words is
10
+ a lint finding, with its line number.
11
+ 3. **Common words beat precise-sounding ones.** *use* not *utilise*, *start* not
12
+ *initiate*, *about* not *regarding*, *use* not *leverage*, *before* not
13
+ *prior to*.
14
+ 4. **Every acronym is expanded on first use** — "service level objective (SLO)".
15
+ The lint catches unexpanded ones by scanning for capitalised runs, and it
16
+ already knows the ones every technical reader has.
17
+ 5. **Active voice.** "The service retries the call", not "the call is retried" —
18
+ the passive hides who does it, and in a runbook that is the whole point of
19
+ the sentence.
20
+ 6. **No unexplained internal jargon.** A term the D4 audience would not know is
21
+ either replaced or defined in the glossary. The checker flags it either way.
22
+ 7. **Facts go in tables**, not in a paragraph listing six things.
23
+ 8. **Say the thing first.** Each section opens with its conclusion; the
24
+ reasoning follows.
25
+ 9. **Never invent a fact.** What is not in `context.md` or `context-sources.md`
26
+ is **not written at all** — it comes back as a gap and is raised with the
27
+ user. The deliverable carries content only, so it never carries ORC's own
28
+ uncertainty markers. Filler that reads like a fact is the worst possible
29
+ output of this lane; a `> **Open:**` line left in the reader's document is
30
+ the second worst.
31
+ 10. **Non-English output is held to the same bar in that language** — short
32
+ sentences, common words, acronyms expanded. Technical terms with no natural
33
+ translation stay in English and are glossed once.
34
+
35
+ ## Why the checker is `low` effort — deliberately
36
+
37
+ `orc-doc-checker-opus-5-low` reads a short range and answers a bounded question:
38
+ *does this text do what its section is for, in words this audience knows,
39
+ without inventing anything?*
40
+
41
+ Low effort is the **right instrument** for that, not a cost compromise. A
42
+ harder-thinking checker reasons its way past a gap a real reader would trip on —
43
+ the same reasoning that pins `/orc-challenge`'s cold reader at `low`. **Nothing
44
+ may "upgrade" it later.**
45
+
46
+ ## What the lint measures, and what it does not
47
+
48
+ | Free (`orc doc lint`) | Judgment (the checker) |
49
+ |---|---|
50
+ | average sentence length, and the longest one with its line | whether the section does what its purpose says |
51
+ | long-word ratio | whether the declared audience can act on it |
52
+ | acronyms used without being expanded | whether a term needs the glossary |
53
+ | passive constructions (a pattern match) | whether a sentence hides its actor in a way that matters |
54
+ | leftover `TODO` / `TBD` / `???` | whether something is asserted that nothing supports |
55
+
56
+ **Free checks run before paid ones. Always.** The lint's findings ride in the
57
+ checker's slice, so no model ever spends a token counting sentences — and the
58
+ checker never re-reports one.
59
+
60
+ ## Two honesty rules the lint prints about itself
61
+
62
+ 1. **A readability signal is a SIGNAL, not a verdict.** A long sentence is not
63
+ automatically a defect. It never blocks anything.
64
+ 2. **It is English-specific and heuristic.** Passive-voice detection is a
65
+ pattern match and a syllable count is an estimate. It says so, once, on its
66
+ own output.
@@ -0,0 +1,74 @@
1
+ # Portable Markdown — the rules `document.md` is held to
2
+
3
+ Enforced two ways: **`orc doc lint`** (free, deterministic, mechanical) and the
4
+ checker (judgment). Every rule below came from a real product limit, not from
5
+ taste — see `import-targets.md` for where each one comes from.
6
+
7
+ | Rule | Why |
8
+ |---|---|
9
+ | ATX headings only, exactly one H1, no skipped levels | Every importer's outline builder depends on it. A setext (underlined) heading is invisible to most of them |
10
+ | **Max depth H3** under `--target notion` (and under `generic`) | Notion has three heading levels. An H4 silently becomes bold text |
11
+ | **No hard-wrapped paragraphs — one paragraph, one line** | A hard wrap at 80 columns becomes a line break INSIDE a Notion or Docs paragraph. This is the single most common import-mangling bug |
12
+ | No raw HTML, no HTML comments in the deliverable | Some importers render them as literal text |
13
+ | Simple pipe tables only — no nesting, no colspan, no ragged rows | Everything else survives an import; these do not |
14
+ | ` ``` ` fences only, with a language tag | `~~~` and indented code blocks convert unreliably |
15
+ | No `[[wikilinks]]`, no footnotes, no definition lists | Obsidian-only / Pandoc-only syntax |
16
+ | Task lists `- [ ]` are allowed | Notion, GitHub and Docs all handle them |
17
+ | Images: a relative path **and** alt text, plus a one-line text description beside it | Images do not travel through most imports. The description is what survives |
18
+ | **YAML front matter OFF by default**, ON for `--target docusaurus` / `hugo` / `jekyll` | Notion and Docs render it as visible junk at the top of the page; a static-site generator will not render the page without it |
19
+ | No emoji in headings (the body is fine) | Some importers slug headings and mangle the anchors |
20
+
21
+ ## The one that is worth repeating
22
+
23
+ **One paragraph is one line.** Not "prefer long lines" — one line. A writer that
24
+ hard-wraps at 80 columns produces a document that reads perfectly in a terminal
25
+ and arrives in Notion as a column of broken fragments. `orc doc lint` reports
26
+ it once per paragraph, as an ERROR.
27
+
28
+ ## Where a gap goes, and why it is not in the document
29
+
30
+ **The deliverable carries content only.** No `> **Open:**`, no
31
+ `> **Assumption:**`, no note callout, no HTML comment — not in `document.md`, and
32
+ not in any file under `sections/`.
33
+
34
+ This does **not** relax the never-invent-a-fact rule; it changes only where the
35
+ honesty is written down. ORC still refuses to make something up. What is not in
36
+ `context.md` or `context-sources.md` is **not written at all**:
37
+
38
+ | what it is | where it goes |
39
+ |---|---|
40
+ | nobody has decided this yet | `orc doc log <slug> --kind gap --sections <id> --text "the fraud limit has not been decided"` → `gaps.md`, and it is raised with the user |
41
+ | I had to assume it to write the sentence | the same, and it is raised with the user |
42
+ | which option we chose, and why | `orc doc log <slug> --kind decision --text "…"` → the journal |
43
+ | the template's `<!-- purpose: … -->` lines | stripped at compile — they are instructions for the writer |
44
+
45
+ **Why the reversal.** A PRD that arrives in Notion with three `> **Open:**`
46
+ blockquotes in it is a PRD the reader has to filter. The gap is real and worth
47
+ recording; it just is not part of what the reader came for. And a *stub* section
48
+ that is nothing but an Open line is worse than an absent one — under
49
+ `orc doc compile --partial` a missing section is simply **absent**, and named
50
+ loudly outside the document.
51
+
52
+ **It is enforced in four places**, and none of them is a silent rewrite:
53
+
54
+ 1. **The writer never emits one** — uncertainty goes in its return's `gaps[]`.
55
+ 2. **`orc doc lint`'s `annotation-in-body` is an ERROR.** The rule matches an
56
+ EXACT, narrow set — `> **Open:**`, `> **Assumption:**`, `> **Note (ORC):**`,
57
+ an `orc-doc:` fence — and **nothing else**. A user's own line beginning
58
+ "Note:" is content and is never flagged. A narrow rule that is always right
59
+ beats a broad one that argues with the author.
60
+ 3. **`compile` REPORTS them and never silently strips.** They come back in
61
+ `annotations[]` with a line and a fix. We cannot tell whose line it is, and a
62
+ silent strip can delete a real sentence. The one exception is the explicit
63
+ `orc doc compile --strip-annotations`.
64
+ 4. **The section state no longer sniffs the body.** Existence and hashes decide
65
+ it, which was always strictly more reliable than a text match.
66
+
67
+ ## Severity
68
+
69
+ `orc doc lint` returns `error` and `warn`:
70
+
71
+ - **`error`** — the document will be visibly wrong in the target. It blocks the
72
+ handoff line ("this is ready to import").
73
+ - **`warn`** — a readability or portability signal. It is reported, never
74
+ blocking. A signal is not a verdict.
@@ -0,0 +1,228 @@
1
+ # Resuming — the contract that makes a document survive a session
2
+
3
+ > **The context is gathered once and frozen.** A resumed session reads
4
+ > `context.md` from disk; it never re-interviews the user for what session 1
5
+ > already settled. **a lane that re-asks a frozen question** has broken this
6
+ > contract.
7
+
8
+ ## Entry
9
+
10
+ ```
11
+ /orc-doc resume → lists every document with its status line
12
+ /orc-doc resume prd-checkout-refund → prefix match; an ambiguous prefix lists candidates
13
+ ```
14
+
15
+ `orc doc list --json` supplies the list. It may only claim what the disk proves:
16
+ `document.md` missing means **"not started"**, never "failed".
17
+
18
+ ## The resumed session's first four moves
19
+
20
+ 1. `orc doc status <slug> --json` (0 nothing to do · 1 something to do · 2
21
+ unknown slug) and **`orc doc parts <slug> --json`** — which works BEFORE a
22
+ single compile has ever run, because the section files ARE the progress.
23
+ 2. **Read `context.md` and `outline.md`. NOT the document.**
24
+ 3. **Detect the user's own edits.** Sections whose live hash ≠ the hash
25
+ `doc.json` recorded are `user-edited`. Say so, **by section name**. A part
26
+ with no recorded hash at all is `unconfirmed` — a wave killed mid-flight —
27
+ and it is re-written, never shipped.
28
+ 4. **HARD STOP and ask what should change.**
29
+
30
+ ```
31
+ Picking up: PRD — checkout refunds (started 13-08-2026, cycle 2).
32
+ I have read the context you gave me — you do not need to repeat it.
33
+
34
+ Sections: 17 planned · 14 written · wave 5 of 7
35
+ You edited since last time: §02 Summary, §08 Requirements ← I will not touch these unless you say so
36
+ Not written yet: §12 Risks · §13 Rollout
37
+ document.md is 2 sections behind sections/ — rebuilding it is free.
38
+
39
+ What should change? (a section to rewrite, something to add, a finding to fix,
40
+ or "finish the rest")
41
+ ```
42
+
43
+ **No change request → no work.** The lane stops there. Regenerating a document
44
+ nobody asked to change is the most expensive possible way to do nothing.
45
+
46
+ ## `RESUME.md` — the P0 hand-back
47
+
48
+ Written by **the lane itself, never by a dispatched agent** — a dispatch inside
49
+ a stop sequence lets a stop fail because a subagent did.
50
+
51
+ **v0.49.5 — the CLI writes it, and it is never behind.** `orc doc resume-file
52
+ <slug>` composes the whole page from `doc.json`, and `doc.json` refreshes it on
53
+ **every** write, so it exists from `orc doc init` onward. This replaces a rule
54
+ the orchestrator had to remember at every stop, which is the bet this repo has
55
+ already lost twice (the v0.32.0 narration lesson): a hand-back you are TOLD to
56
+ write at every stop is the hand-back that goes missing on the one run that
57
+ mattered — the one a usage limit killed.
58
+
59
+ **Rule 16 — `every question points at RESUME.md`.** Before ORC asks the user
60
+ anything, it runs `orc doc resume-file <slug>` and ends the message with that
61
+ file's path and the line to paste. A user who has to remember where they were is
62
+ a user who does not come back.
63
+
64
+ The page is written for someone who does not read code: what this document is,
65
+ where the files are, what is not written yet, what happens next, and the one
66
+ line to paste. Nothing in it needs interpreting.
67
+
68
+ **It lives at `{run_dir}/{slug}/RESUME.md`** — the registered v0.42.0 home, and
69
+ the ONLY place `listRuns()` looks. It is not in the document folder, and there is
70
+ no second copy there: two copies is two ideas, and they drift. Anyone browsing
71
+ the folder gets the same line from `orc doc status`.
72
+
73
+ ```markdown
74
+ # Resume this document
75
+
76
+ Paste this line into a new Claude Code session, in this project:
77
+
78
+ /orc-doc resume prd-checkout-refund-130826
79
+
80
+ Where it stands: /orc-doc · PRD · cycle 2 · 14 of 17 sections written · phase D6 · wave 5 of 7
81
+
82
+ - Sections: orc/orc-doc/prd-checkout-refund-130826/sections/ ← the source of truth
83
+ - Document: document.md is a BUILD ARTIFACT — `orc doc compile` rebuilds it, free
84
+ - Context: context.md (the new session reads this first — you do not repeat yourself)
85
+ - Not written yet: §12 Risks · §13 Rollout
86
+
87
+ ## What the new session will do
88
+ 1. Read context.md and doc.json. It will NOT re-ask what you already answered.
89
+ 2. Start at wave 6, and re-read NOTHING it already wrote.
90
+ 3. Ask you what should change. **It will not touch the document until you say.**
91
+ ```
92
+
93
+ **The `Where it stands:` line is at COLUMN 0.** Never `## Where it stands:` —
94
+ `parseStands` is line-anchored, so a heading prefix means it never matches, and
95
+ that single line is what `orc doc list`, `orc resume` and `orc run list` all
96
+ parse. There is a test that feeds this exact template to the real parser.
97
+
98
+ **One generator, not two.** The whole file comes from `orc doc resume-file`,
99
+ which builds the `Where it stands:` line with the same function `orc doc status`
100
+ uses. Never assemble your own copy of either. The CLI computes, the skill points
101
+ at the result, and the two can then never disagree.
102
+
103
+ ## The wave hand-back (P0, every wave)
104
+
105
+ ```
106
+ Wave 2 of 7 done — 6 of 17 sections written.
107
+
108
+ orc/orc-doc/acme-prd-170826/sections/04-detailed-design/01-data-model.md 142 L
109
+ orc/orc-doc/acme-prd-170826/sections/04-detailed-design/02-api-surface.md 118 L
110
+ orc/orc-doc/acme-prd-170826/sections/05-rollout.md 96 L
111
+
112
+ Read them now if you want to redirect — nothing later is bought yet.
113
+ See it as one file (free): orc doc compile acme-prd-170826 --partial
114
+
115
+ To carry on — new session, or after your usage limit resets:
116
+
117
+ /orc-doc resume acme-prd-170826
118
+
119
+ Everything needed is on disk. The next session starts at wave 3 and re-reads
120
+ nothing it already wrote.
121
+
122
+ The full picture, in plain words:
123
+ .claude/orc/run/acme-prd-170826/RESUME.md
124
+ ```
125
+
126
+ **Every message that asks the user something ends with those last two lines**
127
+ (rule 16) — a gate, a wave stop, a revision round, an offer. The path is what
128
+ `orc doc resume-file` just printed; never type one from memory.
129
+
130
+ ## The hand-back mention (P0, every cycle)
131
+
132
+ After **every** cycle that touched the document — the first run and every
133
+ resume — this is the last thing on screen, always in this shape:
134
+
135
+ ```
136
+ Saved to orc/orc-doc/prd-checkout-refund-130826/sections/ (the source of truth)
137
+ orc/orc-doc/prd-checkout-refund-130826/document.md (rebuilt, free)
138
+
139
+ Editing it yourself is expected — go ahead. When you want to carry on, even in a
140
+ brand-new chat, paste this line:
141
+
142
+ /orc-doc resume prd-checkout-refund-130826
143
+
144
+ The full picture is in that folder's RESUME.md — it remembers the context, the
145
+ audience and what is still open, so you never have to explain it twice.
146
+ ```
147
+
148
+ Then the two things this lane offers but never does:
149
+
150
+ ```
151
+ Not staged, not committed. If your team should see it:
152
+ git add orc/orc-doc/prd-checkout-refund-130826/
153
+
154
+ Want it graded before you send it? In a NEW session:
155
+ /orc-challenge orc/orc-doc/prd-checkout-refund-130826/document.md
156
+ ```
157
+
158
+ `/orc-challenge` is offered and never run from here. It is the same separation
159
+ its own contract already enforces from the other side: a session that wrote the
160
+ thing cannot honestly grade it.
161
+
162
+ ## The user's edits are sacred
163
+
164
+ A `user-edited` section is **never** rewritten without an explicit instruction
165
+ naming it. If a finding lands inside one, the finding is *reported* and the fix
166
+ is *offered*, never applied. Overwriting a human's paragraph is unrecoverable
167
+ from this lane's side — the part file is gone, and their wording with it.
168
+
169
+ ## `changelog.md`
170
+
171
+ One entry per cycle, appended, newest last. It is the answer to "what did the
172
+ last session actually do", and it is written by the lane, not derived:
173
+
174
+ ```markdown
175
+ ## Cycle 2 — 14-08-2026
176
+ - You asked: tighten §04 Goals and add the fraud limit to §12.
177
+ - Changed: sections/04-goals-and-metrics.md (rewritten, 22 → 18 lines), sections/12-risks.md (one row added).
178
+ - Untouched: §02 and §08 — you edited those yourself.
179
+ - Not written yet: §13 Rollout.
180
+ ```
181
+
182
+ An Open question or an Assumption does NOT go here and does not go into the
183
+ document. It goes into the journal as a gap —
184
+ `orc doc log <slug> --kind gap --sections <id> --text "…"` — and the CLI derives
185
+ `gaps.md` from that. The deliverable carries content only.
186
+
187
+ ---
188
+
189
+ ## The journal — what you asked for, in order (v0.48.1)
190
+
191
+ `changelog.md` above is **lane-written prose**. The journal is the **derived**
192
+ companion, and the two are not the same thing: one is a narrative someone wrote,
193
+ the other is a merge of four sources with the provenance of every row attached.
194
+
195
+ ```
196
+ orc doc log <slug> --kind request|decision|gate|note|gap --text "…" [--sections a,b] [--source user|/orc-grill|/orc-brainstorm]
197
+ orc doc journal <slug> [--json]
198
+ ```
199
+
200
+ | `origin` | source | what it is |
201
+ |---|---|---|
202
+ | `recorded` | `journal[]` | the user's own words, **verbatim** |
203
+ | `derived` | `cycles[]` | a write / check / edit / compile cycle — a machine fact |
204
+ | `derived` | the ship / unship records | a machine fact |
205
+ | `observed` | a section that turned `user-edited` | a machine fact, no text |
206
+
207
+ **It never invents an entry.** A cycle that ran with nothing logged renders as
208
+ an explicit gap — *"cycle 2 ran · no request was recorded for it"* — and **never**
209
+ a plausible reconstruction from file mtimes. **a lane that invents a journal entry**
210
+ has broken this contract. Same honesty rule as `/orc-pact`'s
211
+ **UNCHECKABLE**: not knowing is an answer, and faking it teaches people to
212
+ distrust the rows that are real.
213
+
214
+ **Call `orc doc log` at D1 with the user's words verbatim.** A resumed session
215
+ reads the journal to answer *"what have I been asking for?"*, and a paraphrase
216
+ there is the same failure as a paraphrase in `context.md` — it is where a
217
+ resumed session quietly starts writing a different document.
218
+
219
+ ## Resuming is a loop now, not a memory
220
+
221
+ The resumed session's moves are unchanged — `orc doc status`, `orc doc parts`,
222
+ read `context.md` and `outline.md` (**not the document**), name what the user
223
+ edited, then HARD STOP and ask. After that, **`orc doc next <slug> --json` says
224
+ what happens next** and this lane does exactly that, until it exits 1.
225
+
226
+ Nothing about the pipeline is remembered across the gap any more. That is the
227
+ point: a session resumed months later in a fresh context has the same
228
+ information as the one that started it.
@@ -0,0 +1,118 @@
1
+ <!-- orc-doc:template collaboration — the shipped base template.
2
+
3
+ two or more teams agreeing who owns what and how they will talk; RACI is the spine
4
+
5
+ Every `<!-- purpose: … -->` line is an instruction for the WRITER and is
6
+ STRIPPED at compile — it never reaches document.md. A required section with
7
+ no material is NOT written: it comes back as a gap, lands in gaps.md, and is
8
+ raised with you. The deliverable carries content only — never a silent
9
+ omission, never invented filler, and never ORC's own bookkeeping.
10
+
11
+ A template is a floor, not a cage. Your own template REPLACES this one
12
+ entirely (`orc doc init … --template <path>`); the two are never merged.
13
+ -->
14
+
15
+ # <document title>
16
+
17
+ ## Document info
18
+
19
+ <!-- purpose: owner, version, date, the teams it binds -->
20
+
21
+ | Field | Value |
22
+ |---|---|
23
+ | Title | |
24
+ | Owner | |
25
+ | Status | draft \| in review \| approved |
26
+ | Version | 0.1 |
27
+ | Date | |
28
+ | Reviewers | |
29
+
30
+ ## Purpose and scope
31
+
32
+ <!-- purpose: what this agreement covers, and what it does not -->
33
+
34
+ ## Parties
35
+
36
+ <!-- purpose: a table: team, what they bring, named contact, time zone -->
37
+
38
+ | Team | What they bring | Named contact | Time zone |
39
+ |---|---|---|---|
40
+ | | | | |
41
+
42
+ ## Shared goal and definition of success
43
+
44
+ <!-- purpose: one goal both sides would state the same way -->
45
+
46
+ ## Ownership split (RACI)
47
+
48
+ <!-- purpose: a table — row = deliverable or decision, column = team -->
49
+
50
+ | Deliverable or decision | Team A | Team B |
51
+ |---|---|---|
52
+ | | R | C |
53
+
54
+ R responsible · A accountable · C consulted · I informed.
55
+
56
+ ## Interfaces between us
57
+
58
+ <!-- purpose: what each side hands over, in what format, by when -->
59
+
60
+ | What is handed over | From | To | Format | By when |
61
+ |---|---|---|---|---|
62
+ | | | | | |
63
+
64
+ ## Decision rights and escalation path
65
+
66
+ <!-- purpose: who decides, who breaks a tie, and how fast -->
67
+
68
+ | Decision | Who decides | Who breaks a tie | How fast |
69
+ |---|---|---|---|
70
+ | | | | |
71
+
72
+ ## Communication plan
73
+
74
+ <!-- purpose: channel, cadence, meeting, status format -->
75
+
76
+ | Channel | What it is for | Cadence |
77
+ |---|---|---|
78
+ | | | |
79
+
80
+ ## Dependencies and critical dates
81
+
82
+ <!-- purpose: a table, with the owner of each date -->
83
+
84
+ | Dependency | Owner | Date | What breaks if it slips |
85
+ |---|---|---|---|
86
+ | | | | |
87
+
88
+ ## Decision log
89
+
90
+ <!-- purpose: a table: date, decision, who decided, why -->
91
+
92
+ | Date | Decision | Who decided | Why |
93
+ |---|---|---|---|
94
+ | | | | |
95
+
96
+ ## Risks
97
+
98
+ <!-- purpose: each with an owner and a mitigation -->
99
+
100
+ | Risk | Impact | Owner | Mitigation |
101
+ |---|---|---|---|
102
+ | | | | |
103
+
104
+ ## Open questions
105
+
106
+ <!-- purpose: each with an owner -->
107
+
108
+ | Question | Owner | Answer needed by |
109
+ |---|---|---|
110
+ | | | |
111
+
112
+ ## Revision history
113
+
114
+ <!-- purpose: a table: version, date, author, what changed -->
115
+
116
+ | Version | Date | Author | What changed |
117
+ |---|---|---|---|
118
+ | 0.1 | | | First draft |
@@ -0,0 +1,133 @@
1
+ <!-- orc-doc:template prd — the shipped base template.
2
+
3
+ cover → problem → goals → requirements → risks → rollout, the shape every current template converges on
4
+
5
+ Every `<!-- purpose: … -->` line is an instruction for the WRITER and is
6
+ STRIPPED at compile — it never reaches document.md. A required section with
7
+ no material is NOT written: it comes back as a gap, lands in gaps.md, and is
8
+ raised with you. The deliverable carries content only — never a silent
9
+ omission, never invented filler, and never ORC's own bookkeeping.
10
+
11
+ A template is a floor, not a cage. Your own template REPLACES this one
12
+ entirely (`orc doc init … --template <path>`); the two are never merged.
13
+ -->
14
+
15
+ # <document title>
16
+
17
+ ## Document info
18
+
19
+ <!-- purpose: title, owner, status, version, date, reviewers — as a table -->
20
+
21
+ | Field | Value |
22
+ |---|---|
23
+ | Title | |
24
+ | Owner | |
25
+ | Status | draft \| in review \| approved |
26
+ | Version | 0.1 |
27
+ | Date | |
28
+ | Reviewers | |
29
+
30
+ ## Summary
31
+
32
+ <!-- purpose: what we are building, in three sentences -->
33
+
34
+ ## Problem and context
35
+
36
+ <!-- purpose: who hurts, and what the evidence is -->
37
+
38
+ ## Goals and success metrics
39
+
40
+ <!-- purpose: each metric with a baseline and a target -->
41
+
42
+ | Goal | Metric | Baseline today | Target | By when |
43
+ |---|---|---|---|---|
44
+ | | | | | |
45
+
46
+ ## Non-goals
47
+
48
+ <!-- purpose: what this deliberately does not do -->
49
+
50
+ ## Users and jobs to be done
51
+
52
+ <!-- purpose: who they are and what they are trying to get done -->
53
+
54
+ | Who they are | What they are trying to get done | What stops them today |
55
+ |---|---|---|
56
+ | | | |
57
+
58
+ ## Scenarios and user stories
59
+
60
+ <!-- purpose: the concrete paths through the product -->
61
+
62
+ ## Functional requirements
63
+
64
+ <!-- purpose: numbered FR-1…, each with a priority -->
65
+
66
+ | ID | Requirement | Priority | Notes |
67
+ |---|---|---|---|
68
+ | FR-1 | | must \| should \| could | |
69
+
70
+ ## Non-functional requirements
71
+
72
+ <!-- purpose: performance, security, privacy, accessibility, i18n, compliance -->
73
+
74
+ | Area | Requirement | How it is measured |
75
+ |---|---|---|
76
+ | Performance | | |
77
+ | Security | | |
78
+ | Privacy | | |
79
+ | Accessibility | | |
80
+ | Internationalisation | | |
81
+ | Compliance | | |
82
+
83
+ ## Experience and flows
84
+
85
+ <!-- purpose: links to designs, described in words for readers who cannot open them (optional — drop it at the outline gate if nobody asked for it) -->
86
+
87
+ ## Dependencies and assumptions
88
+
89
+ <!-- purpose: what has to be true, and who else is involved -->
90
+
91
+ | What has to be true | Who owns it | What we do if it is not |
92
+ |---|---|---|
93
+ | | | |
94
+
95
+ ## Risks and open questions
96
+
97
+ <!-- purpose: each with an owner -->
98
+
99
+ | Risk or question | Impact | Owner | What we will do |
100
+ |---|---|---|---|
101
+ | | | | |
102
+
103
+ ## Rollout and measurement plan
104
+
105
+ <!-- purpose: how it reaches users and how we know it worked -->
106
+
107
+ ## Milestones
108
+
109
+ <!-- purpose: a table: milestone, due, status -->
110
+
111
+ | Milestone | Due | Status |
112
+ |---|---|---|
113
+ | | | |
114
+
115
+ ## Out of scope for this release
116
+
117
+ <!-- purpose: explicitly deferred, so nobody re-litigates it -->
118
+
119
+ ## Glossary
120
+
121
+ <!-- purpose: every term the audience would not already know (optional — drop it at the outline gate if nobody asked for it) -->
122
+
123
+ | Term | What it means here |
124
+ |---|---|
125
+ | | |
126
+
127
+ ## Revision history
128
+
129
+ <!-- purpose: a table: version, date, author, what changed -->
130
+
131
+ | Version | Date | Author | What changed |
132
+ |---|---|---|---|
133
+ | 0.1 | | | First draft |