@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,268 @@
1
+ /* panels/mockrun.css — orc ui
2
+ The gallery, the document pane, and the markdown-as-DOM rules renderMd emits.
3
+
4
+ The <link> ORDER in app.html is the cascade order, and the numeric
5
+ prefix is that order. No @import: it would carry no session token and
6
+ 401. */
7
+
8
+ /* --- Mocked skill use ---------------------------------------------------- */
9
+ /* Two states in one pane: a GALLERY of every mocked run, and one DOCUMENT.
10
+ Same rail-plus-pane skeleton as Learn — the two panels are the same kind of
11
+ thing (reading, not doing), and giving them different furniture would be a
12
+ difference that means nothing. */
13
+
14
+ .mock {
15
+ display: grid;
16
+ grid-template-columns: 244px minmax(0, 1fr);
17
+ gap: var(--sp-4);
18
+ align-items: start;
19
+ }
20
+ .mock-side {
21
+ position: sticky;
22
+ top: var(--sp-3);
23
+ display: flex;
24
+ flex-direction: column;
25
+ gap: var(--sp-2);
26
+ padding: var(--sp-3);
27
+ background: var(--surface);
28
+ border: 1px solid var(--line);
29
+ border-radius: var(--radius);
30
+ max-height: calc(100vh - var(--sp-6));
31
+ }
32
+ .mock-side-head {
33
+ font-size: 11px;
34
+ text-transform: uppercase;
35
+ letter-spacing: .07em;
36
+ color: var(--text-faint);
37
+ padding: 0 var(--sp-2);
38
+ }
39
+ .mock-side .text-input { font-family: var(--font); font-size: 12.5px; padding: 5px 9px; }
40
+ .mock-nav {
41
+ display: flex;
42
+ flex-direction: column;
43
+ gap: 1px;
44
+ overflow-y: auto;
45
+ min-height: 0;
46
+ scrollbar-width: thin;
47
+ scrollbar-color: var(--line) transparent;
48
+ }
49
+ .mock-nav::-webkit-scrollbar { width: 9px; }
50
+ .mock-nav::-webkit-scrollbar-track { background: transparent; }
51
+ .mock-nav::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
52
+ .mock-nav-group {
53
+ font-size: 10.5px;
54
+ text-transform: uppercase;
55
+ letter-spacing: .07em;
56
+ color: var(--text-faint);
57
+ padding: var(--sp-3) var(--sp-2) 2px;
58
+ }
59
+ .mock-nav-item {
60
+ display: flex;
61
+ align-items: center;
62
+ justify-content: space-between;
63
+ gap: var(--sp-2);
64
+ padding: 5px var(--sp-2);
65
+ border: 0;
66
+ border-radius: var(--radius-sm);
67
+ background: transparent;
68
+ color: var(--text-dim);
69
+ text-align: left;
70
+ font: inherit;
71
+ font-size: 12.5px;
72
+ cursor: pointer;
73
+ transition: background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);
74
+ }
75
+ .mock-nav-item:hover { background: var(--surface-2); color: var(--text); }
76
+ .mock-nav-item[aria-current="true"] {
77
+ background: var(--accent-wash);
78
+ color: var(--text);
79
+ box-shadow: inset 2px 0 0 var(--accent);
80
+ }
81
+ .mock-nav-title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-family: var(--mono); font-size: 12px; }
82
+ .mock-nav-tag { font-size: 9.5px; color: var(--text-faint); text-transform: uppercase; letter-spacing: .06em; flex: none; }
83
+
84
+ .mock-pane {
85
+ background: var(--surface);
86
+ border: 1px solid var(--line);
87
+ border-radius: var(--radius);
88
+ padding: var(--sp-5);
89
+ min-width: 0;
90
+ animation: learn-in var(--dur) var(--ease);
91
+ }
92
+ .mock-intro { margin-bottom: var(--sp-4); }
93
+ .mock-group + .mock-group { margin-top: var(--sp-5); }
94
+ .mock-group-head {
95
+ font-size: 11px;
96
+ text-transform: uppercase;
97
+ letter-spacing: .07em;
98
+ color: var(--text-faint);
99
+ margin-bottom: var(--sp-3);
100
+ }
101
+ .mock-grid {
102
+ display: grid;
103
+ grid-template-columns: repeat(auto-fill, minmax(232px, 1fr));
104
+ gap: var(--sp-3);
105
+ }
106
+ /* The cards arrive in reading order rather than all at once — the same idea as
107
+ `.stack > *`, but the delay is a variable because a grid has no useful
108
+ nth-child ladder. Reduced motion zeroes it centrally. */
109
+ .mock-card {
110
+ display: flex;
111
+ flex-direction: column;
112
+ gap: var(--sp-2);
113
+ text-align: left;
114
+ font: inherit;
115
+ cursor: pointer;
116
+ padding: var(--sp-3);
117
+ background: var(--surface-2);
118
+ border: 1px solid var(--line);
119
+ border-radius: var(--radius-sm);
120
+ color: var(--text-dim);
121
+ animation: block-in var(--dur) var(--ease) backwards;
122
+ animation-delay: calc(var(--i, 0) * 35ms);
123
+ transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease),
124
+ transform var(--dur-fast) var(--ease);
125
+ }
126
+ .mock-card:hover {
127
+ border-color: var(--accent);
128
+ background: var(--surface-3);
129
+ transform: translateY(-2px);
130
+ }
131
+ .mock-card-top { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-2); }
132
+ .mock-card-lane { font-family: var(--mono); font-size: 12.5px; color: var(--text); }
133
+ .mock-card-sum {
134
+ font-size: 12.5px;
135
+ line-height: 1.55;
136
+ display: -webkit-box;
137
+ -webkit-line-clamp: 3;
138
+ -webkit-box-orient: vertical;
139
+ overflow: hidden;
140
+ }
141
+ .mock-card-foot { font-size: 11px; color: var(--text-faint); font-variant-numeric: tabular-nums; }
142
+
143
+ .mock-back { margin-bottom: var(--sp-3); }
144
+ .mock-doc-head { border-bottom: 1px solid var(--line-soft); padding-bottom: var(--sp-3); }
145
+ .mock-doc-title { font-size: 19px; font-weight: 600; letter-spacing: -.01em; }
146
+ .mock-doc-meta { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; margin-top: var(--sp-2); }
147
+ .mock-doc-path, .mock-doc-lines { font-family: var(--mono); font-size: 11px; color: var(--text-faint); }
148
+ .mock-doc-lane {
149
+ font-family: var(--mono);
150
+ font-size: 12px;
151
+ color: var(--accent);
152
+ background: var(--accent-wash);
153
+ border-radius: 100px;
154
+ padding: 2px 10px;
155
+ }
156
+ .mock-doc-foot {
157
+ display: flex;
158
+ align-items: center;
159
+ gap: var(--sp-2);
160
+ flex-wrap: wrap;
161
+ margin-top: var(--sp-5);
162
+ padding-top: var(--sp-4);
163
+ border-top: 1px solid var(--line-soft);
164
+ }
165
+ .mock-doc-foot .btn:last-child { margin-left: auto; }
166
+
167
+ /* --- markdown, rendered as DOM (never innerHTML) */
168
+ .mock-article { max-width: 78ch; }
169
+ .md-h { font-weight: 600; letter-spacing: -.01em; color: var(--text); margin-top: var(--sp-5); }
170
+ .md-h2 { font-size: 16px; }
171
+ .md-h3 { font-size: 14px; }
172
+ .md-h4, .md-h5, .md-h6 { font-size: 13px; color: var(--text-dim); }
173
+ .md-p { font-size: 13.5px; line-height: 1.75; color: var(--text-dim); margin-top: var(--sp-3); }
174
+ .md-hr { border: 0; border-top: 1px solid var(--line-soft); margin: var(--sp-5) 0; }
175
+ .md-quote {
176
+ margin-top: var(--sp-3);
177
+ padding: var(--sp-2) var(--sp-3);
178
+ border-left: 2px solid var(--accent);
179
+ background: var(--accent-wash);
180
+ border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
181
+ font-size: 13px;
182
+ line-height: 1.6;
183
+ color: var(--text);
184
+ }
185
+ .md-list { margin-top: var(--sp-3); display: flex; flex-direction: column; gap: 4px; list-style: none; }
186
+ .md-li {
187
+ font-size: 13px;
188
+ line-height: 1.65;
189
+ color: var(--text-dim);
190
+ padding-left: var(--sp-4);
191
+ position: relative;
192
+ }
193
+ .md-li::before { content: "•"; position: absolute; left: var(--sp-2); color: var(--accent); }
194
+ .md-li-1 { margin-left: var(--sp-4); }
195
+ .md-li-2 { margin-left: var(--sp-6); }
196
+ ol.md-list { counter-reset: md; }
197
+ ol.md-list .md-li::before { counter-increment: md; content: counter(md) "."; font-family: var(--mono); font-size: 11px; }
198
+
199
+ /* A transcript is the point of these documents, so the code box is the loudest
200
+ thing on the page and it scrolls itself rather than the article. */
201
+ .md-codebox { position: relative; margin-top: var(--sp-3); }
202
+ .md-code {
203
+ font-family: var(--mono);
204
+ font-size: 12px;
205
+ line-height: 1.6;
206
+ color: var(--text);
207
+ background: var(--bg);
208
+ border: 1px solid var(--line);
209
+ border-radius: var(--radius-sm);
210
+ padding: var(--sp-3) var(--sp-4);
211
+ overflow-x: auto;
212
+ white-space: pre;
213
+ }
214
+ .md-code-copy { position: absolute; top: 6px; right: 8px; opacity: 0; transition: opacity var(--dur-fast) var(--ease); }
215
+ .md-codebox:hover .md-code-copy, .md-code-copy:focus-visible { opacity: 1; }
216
+ .md-code-inline {
217
+ font-family: var(--mono);
218
+ font-size: 11.5px;
219
+ background: var(--surface-3);
220
+ border-radius: 4px;
221
+ padding: 1px 5px;
222
+ color: var(--text);
223
+ }
224
+ .md-tablewrap {
225
+ margin-top: var(--sp-3);
226
+ overflow-x: auto;
227
+ scrollbar-width: thin;
228
+ scrollbar-color: var(--line) transparent;
229
+ }
230
+ .md-tablewrap::-webkit-scrollbar { height: 9px; }
231
+ .md-tablewrap::-webkit-scrollbar-track { background: transparent; }
232
+ .md-tablewrap::-webkit-scrollbar-thumb { background: var(--line); border-radius: 999px; }
233
+ .md-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
234
+ .md-table th {
235
+ text-align: left;
236
+ font-weight: 600;
237
+ font-size: 11px;
238
+ text-transform: uppercase;
239
+ letter-spacing: .06em;
240
+ color: var(--text-faint);
241
+ padding: var(--sp-2) var(--sp-3);
242
+ border-bottom: 1px solid var(--line);
243
+ white-space: nowrap;
244
+ }
245
+ .md-table td {
246
+ padding: var(--sp-2) var(--sp-3);
247
+ border-bottom: 1px solid var(--line-soft);
248
+ color: var(--text-dim);
249
+ vertical-align: top;
250
+ }
251
+ .md-link { color: var(--accent); text-decoration: none; }
252
+ .md-link:hover { text-decoration: underline; }
253
+ .md-link-flat { color: var(--text); }
254
+ .md-doclink {
255
+ border: 0;
256
+ background: none;
257
+ padding: 0;
258
+ font: inherit;
259
+ color: var(--accent);
260
+ cursor: pointer;
261
+ border-bottom: 1px dashed var(--accent-dim);
262
+ }
263
+ .md-doclink:hover { border-bottom-style: solid; }
264
+
265
+ @media (max-width: 860px) {
266
+ .mock { grid-template-columns: minmax(0, 1fr); }
267
+ .mock-side { position: static; max-height: 320px; }
268
+ }
@@ -0,0 +1,100 @@
1
+ /* panels/overview.css — orc ui
2
+ The "worth doing" list, the all-clear, a doctor finding, the rail update dot.
3
+
4
+ The <link> ORDER in app.html is the cascade order, and the numeric
5
+ prefix is that order. No @import: it would carry no session token and
6
+ 401. */
7
+
8
+ /* --- Overview: the "worth doing" list ------------------------------------ */
9
+ /* Each row is a decision with somewhere to go. The colour bar on the left is
10
+ the severity; the arrow-side label names the panel that owns the fix, which
11
+ is the whole reason this list exists — a finding that sends you to the wrong
12
+ panel is worse than a finding with no button at all. */
13
+
14
+ .todo-list { display: flex; flex-direction: column; gap: var(--sp-2); }
15
+ .todo {
16
+ display: grid;
17
+ grid-template-columns: 4px minmax(0, 1fr) auto;
18
+ align-items: center;
19
+ gap: var(--sp-3);
20
+ width: 100%;
21
+ padding: var(--sp-3);
22
+ padding-left: 0;
23
+ border: 1px solid var(--line);
24
+ border-radius: var(--radius-sm);
25
+ background: var(--surface-2);
26
+ text-align: left;
27
+ font: inherit;
28
+ color: inherit;
29
+ cursor: pointer;
30
+ overflow: hidden;
31
+ transition: border-color var(--dur-fast) var(--ease), background var(--dur-fast) var(--ease),
32
+ transform var(--dur-fast) var(--ease);
33
+ }
34
+ .todo:hover { border-color: var(--accent-dim); background: var(--surface-3); transform: translateX(3px); }
35
+ .todo-mark { align-self: stretch; background: var(--idle); }
36
+ .todo-bad .todo-mark { background: var(--bad); }
37
+ .todo-warn .todo-mark { background: var(--warn); }
38
+ .todo-info .todo-mark { background: var(--accent); }
39
+ .todo-body { min-width: 0; }
40
+ .todo-title { font-size: 13px; font-weight: 600; }
41
+ .todo-text { font-size: 12.5px; color: var(--text-dim); margin-top: 3px; }
42
+ /* The CLI's own words for WHY, kept visually distinct from our explanation. */
43
+ .todo-evidence {
44
+ font-family: var(--mono);
45
+ font-size: 11.5px;
46
+ color: var(--text-faint);
47
+ margin-top: 5px;
48
+ padding-left: var(--sp-3);
49
+ border-left: 2px solid var(--line);
50
+ }
51
+ .todo-cta { flex: none; font-size: 12px; color: var(--accent); white-space: nowrap; }
52
+ .todo-cta::after { content: " →"; }
53
+ /* The update row arrives after a network check, so it draws itself in rather
54
+ than appearing between two rows you were already reading. */
55
+ .todo-late { animation: todo-in var(--dur-slow) var(--ease); }
56
+ @keyframes todo-in {
57
+ from { opacity: 0; transform: translateY(-6px); }
58
+ to { opacity: 1; transform: none; }
59
+ }
60
+
61
+ .all-clear { display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-2) 0; }
62
+ .all-clear-mark {
63
+ display: grid;
64
+ place-items: center;
65
+ width: 34px;
66
+ height: 34px;
67
+ flex: none;
68
+ border-radius: 50%;
69
+ background: var(--ok-wash);
70
+ color: var(--ok);
71
+ font-size: 17px;
72
+ animation: all-clear-in var(--dur-slow) var(--ease);
73
+ }
74
+ .all-clear-title { font-size: 13px; font-weight: 600; }
75
+ @keyframes all-clear-in {
76
+ from { transform: scale(.6); opacity: 0; }
77
+ to { transform: none; opacity: 1; }
78
+ }
79
+
80
+ /* A doctor finding, with the button that goes where its fix actually is. */
81
+ .finding { display: flex; align-items: flex-start; gap: var(--sp-3); font-size: 12.5px; }
82
+ .finding > div { min-width: 0; }
83
+ .finding .btn { margin-top: 5px; }
84
+
85
+ /* the rail's "a newer release exists" line — one dot, every panel, never modal */
86
+ .rail-update {
87
+ display: flex;
88
+ align-items: center;
89
+ gap: 6px;
90
+ font-size: 11px;
91
+ color: var(--warn);
92
+ animation: rail-update-in var(--dur-slow) var(--ease);
93
+ }
94
+ .rail-update:hover { text-decoration: none; color: var(--warn); filter: brightness(1.15); }
95
+ @keyframes rail-update-in {
96
+ from { opacity: 0; transform: translateY(-4px); }
97
+ to { opacity: 1; transform: none; }
98
+ }
99
+
100
+ .action-status { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
@@ -0,0 +1,43 @@
1
+ /* panels/pact.css — orc ui
2
+ The promise sentence a card is ABOUT, and the "also" rows.
3
+
4
+ The <link> ORDER in app.html is the cascade order, and the numeric
5
+ prefix is that order. No @import: it would carry no session token and
6
+ 401. */
7
+
8
+ /* ==================================== PROMISES - BOUNDARY - SELF-SERVE - COST
9
+ (v0.46.0)
10
+
11
+ These panels are mostly composed from the primitives already above - .card,
12
+ .chip, .note, .bar-track, .tbl. What is genuinely new is a small set of
13
+ shapes that carry MEANING and therefore cannot be a generic box:
14
+
15
+ .promise the sentence a card is ABOUT - the thing you actually read
16
+ .checklist what would make a REFUSE a yes. It is the product, so it is
17
+ the most legible thing on a boundary card
18
+ .undo-box the undo command, shown BEFORE a write. Given its own frame
19
+ so it cannot be skimmed past
20
+ .lane-cmd a PAID action, which is a copy-able command and never a
21
+ button. This class is the visual form of that boundary
22
+ .bar-stack the four-part token bar. A single-value bar would re-hide the
23
+ cache-read share, which is the whole point of showing it */
24
+
25
+ .promise {
26
+ font-size: 14.5px;
27
+ line-height: 1.5;
28
+ color: var(--text);
29
+ }
30
+
31
+ .also {
32
+ border-left: 2px solid var(--accent);
33
+ padding-left: var(--sp-3);
34
+ }
35
+ .also-head {
36
+ font-size: 11.5px;
37
+ text-transform: uppercase;
38
+ letter-spacing: .07em;
39
+ color: var(--text-dim);
40
+ margin-bottom: var(--sp-2);
41
+ }
42
+ .also-row { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; font-size: 12.5px; }
43
+ .also-row + .also-row { margin-top: var(--sp-2); }
@@ -0,0 +1,105 @@
1
+ /* panels/runs.css — orc ui
2
+ The run accordion and its tabs.
3
+
4
+ The <link> ORDER in app.html is the cascade order, and the numeric
5
+ prefix is that order. No @import: it would carry no session token and
6
+ 401. */
7
+
8
+ /* --- Runs ---------------------------------------------------------------- */
9
+ /* An ACCORDION, not a list plus a detail box below it. A row expands in place,
10
+ so what you clicked stays where your eye already is however long the list
11
+ gets — which is the failure mode the old two-column layout had: the more runs
12
+ a repo accumulated, the further the detail was from the thing you clicked. */
13
+
14
+ .run-list { display: flex; flex-direction: column; gap: var(--sp-2); }
15
+ .run-row {
16
+ background: var(--surface);
17
+ border: 1px solid var(--line);
18
+ border-radius: var(--radius);
19
+ overflow: hidden;
20
+ transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur) var(--ease);
21
+ }
22
+ .run-row:hover { border-color: var(--accent-dim); }
23
+ .run-row.open { border-color: var(--accent); box-shadow: 0 6px 22px rgba(0, 0, 0, .22); }
24
+ :root[data-theme="light"] .run-row.open { box-shadow: 0 6px 22px rgba(16, 24, 40, .10); }
25
+
26
+ .run-card {
27
+ display: grid;
28
+ grid-template-columns: 16px 88px minmax(0, 1fr) auto;
29
+ align-items: center;
30
+ gap: var(--sp-3);
31
+ padding: var(--sp-3) var(--sp-4);
32
+ background: transparent;
33
+ border: 0;
34
+ cursor: pointer;
35
+ text-align: left;
36
+ width: 100%;
37
+ transition: background var(--dur-fast) var(--ease);
38
+ }
39
+ /* A row that NAVIGATES has no caret, so it declares one fewer column. Before
40
+ v0.49.2 the Overview built a three-child card against the four-column grid
41
+ and the chip printed over the slug — silently, because a grid never
42
+ complains. A card and its column count are now stated together. */
43
+ .run-card.no-caret { grid-template-columns: 88px minmax(0, 1fr) auto; }
44
+ /* An OPTIONAL second chip — the aftermath grade in Runs, "you edited it" in
45
+ Docs — is a fifth child, so it gets its own column rather than wrapping the
46
+ age onto a second row. Both panels hit this; the class names the SLOT. */
47
+ .run-card.has-extra { grid-template-columns: 16px 88px auto minmax(0, 1fr) auto; }
48
+ .run-card.no-caret.has-extra { grid-template-columns: 88px auto minmax(0, 1fr) auto; }
49
+ .run-card:hover { background: var(--surface-2); }
50
+ .run-row.open > .run-card { background: var(--surface-2); }
51
+ .run-caret {
52
+ color: var(--text-faint);
53
+ font-size: 11px;
54
+ transition: transform var(--dur) var(--ease), color var(--dur-fast) var(--ease);
55
+ }
56
+ .run-row.open .run-caret { transform: rotate(90deg); color: var(--accent); }
57
+ .run-mid { min-width: 0; }
58
+ .run-slug { font-family: var(--mono); font-size: 13px; overflow: hidden; text-overflow: ellipsis; }
59
+ .run-where { font-size: 12px; color: var(--text-dim); margin-top: 2px; }
60
+ .run-age { font-size: 12px; color: var(--text-faint); white-space: nowrap; }
61
+ /* Why a run was closed. It rides in the row forever: a state change nobody can
62
+ see the reason for is a state nobody can audit. */
63
+ .run-closed-why { font-size: 12px; color: var(--text-faint); margin-top: 2px; font-style: italic; }
64
+ /* The action that CLEARS a row sits with the row, right-aligned under it — the
65
+ FINDING_ROUTE principle, at row scale. */
66
+ .run-card-actions {
67
+ justify-content: flex-end;
68
+ padding: 0 var(--sp-4) var(--sp-3);
69
+ margin-top: calc(-1 * var(--sp-2));
70
+ }
71
+
72
+ /* The fold. Same `1fr -> 0fr` grid trick as the settings tiers: `height: auto`
73
+ cannot be transitioned, and the inner element is what there is to collapse
74
+ against. Closed is the default, so a fresh list never flashes open. */
75
+ .run-body {
76
+ display: grid;
77
+ grid-template-rows: 0fr;
78
+ transition: grid-template-rows var(--dur-slow) var(--ease), opacity var(--dur) var(--ease);
79
+ opacity: 0;
80
+ }
81
+ .run-body-inner { min-height: 0; overflow: hidden; }
82
+ .run-row.open > .run-body { grid-template-rows: 1fr; opacity: 1; }
83
+ .run-pane { padding: var(--sp-4) var(--sp-4) var(--sp-4); border-top: 1px solid var(--line-soft); }
84
+
85
+ /* No margin-bottom — the card's own rhythm spaces the pane below it. */
86
+ .tabs { display: flex; gap: 2px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
87
+ .tabs button {
88
+ border: 0;
89
+ background: transparent;
90
+ padding: 7px var(--sp-4);
91
+ color: var(--text-dim);
92
+ cursor: pointer;
93
+ border-bottom: 2px solid transparent;
94
+ margin-bottom: -1px;
95
+ transition: color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
96
+ }
97
+ .tabs button:hover { color: var(--text); }
98
+ .tabs button[aria-selected="true"] { color: var(--text); border-bottom-color: var(--accent); }
99
+ /* A tab swap replaces the pane's children; without a re-triggered fade the
100
+ change reads as a flicker rather than a transition. */
101
+ .tab-pane { animation: tab-in var(--dur) var(--ease); }
102
+ @keyframes tab-in {
103
+ from { opacity: 0; transform: translateY(4px); }
104
+ to { opacity: 1; transform: none; }
105
+ }