dsh-compound-engineering 0.0.0-stage → 0.1.1

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 (461) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +160 -2
  3. package/README.zh.md +161 -0
  4. package/cordis.patch.yml +6 -0
  5. package/lib/frontmatter.js +167 -0
  6. package/lib/index.js +46 -0
  7. package/lib/provider.js +201 -0
  8. package/package.json +62 -4
  9. package/skills/CODING_STANDARDS.md +68 -0
  10. package/skills/ce-babysit-pr/SKILL.md +59 -0
  11. package/skills/ce-babysit-pr/references/branch-currency.md +22 -0
  12. package/skills/ce-babysit-pr/references/envelope.md +44 -0
  13. package/skills/ce-babysit-pr/references/pipeline.md +15 -0
  14. package/skills/ce-babysit-pr/references/report.md +20 -0
  15. package/skills/ce-babysit-pr/references/settle.md +37 -0
  16. package/skills/ce-babysit-pr/references/setup.md +33 -0
  17. package/skills/ce-babysit-pr/references/stack-commands.md +39 -0
  18. package/skills/ce-babysit-pr/references/stack.md +43 -0
  19. package/skills/ce-babysit-pr/references/tick.md +102 -0
  20. package/skills/ce-babysit-pr/references/watch-loop.md +222 -0
  21. package/skills/ce-babysit-pr/scripts/pr-snapshot +3656 -0
  22. package/skills/ce-bakeoff/SKILL.md +48 -0
  23. package/skills/ce-bakeoff/references/candidates.md +37 -0
  24. package/skills/ce-bakeoff/references/judging.md +19 -0
  25. package/skills/ce-bakeoff/references/output.md +11 -0
  26. package/skills/ce-bakeoff/references/verification.md +15 -0
  27. package/skills/ce-brainstorm/SKILL.md +69 -0
  28. package/skills/ce-brainstorm/references/agents/slack-researcher.md +127 -0
  29. package/skills/ce-brainstorm/references/approaches.md +57 -0
  30. package/skills/ce-brainstorm/references/bakeoff.md +9 -0
  31. package/skills/ce-brainstorm/references/blindspot-pass.md +70 -0
  32. package/skills/ce-brainstorm/references/brainstorm-sections.md +458 -0
  33. package/skills/ce-brainstorm/references/dialogue.md +89 -0
  34. package/skills/ce-brainstorm/references/handoff.md +187 -0
  35. package/skills/ce-brainstorm/references/html-rendering.md +638 -0
  36. package/skills/ce-brainstorm/references/interaction-rules.md +33 -0
  37. package/skills/ce-brainstorm/references/markdown-rendering.md +242 -0
  38. package/skills/ce-brainstorm/references/model-tiers.md +13 -0
  39. package/skills/ce-brainstorm/references/output-mode.md +26 -0
  40. package/skills/ce-brainstorm/references/phase-0.md +104 -0
  41. package/skills/ce-brainstorm/references/plan-write.md +32 -0
  42. package/skills/ce-brainstorm/references/product-pressure-test.md +42 -0
  43. package/skills/ce-brainstorm/references/reasoning-elevation.md +124 -0
  44. package/skills/ce-brainstorm/references/settled-decisions.md +45 -0
  45. package/skills/ce-brainstorm/references/synthesis-summary.md +149 -0
  46. package/skills/ce-brainstorm/references/universal-brainstorming.md +72 -0
  47. package/skills/ce-brainstorm/references/verdict-routing.md +26 -0
  48. package/skills/ce-brainstorm/references/visual-probes.md +164 -0
  49. package/skills/ce-brainstorm/scripts/elevation-dispatch.sh +288 -0
  50. package/skills/ce-brainstorm/scripts/light-webserver.js +1275 -0
  51. package/skills/ce-brainstorm/scripts/packs-resolve.py +737 -0
  52. package/skills/ce-brainstorm/scripts/peer-job-runner.py +2594 -0
  53. package/skills/ce-code-review/SKILL.md +40 -0
  54. package/skills/ce-code-review/references/action-class-rubric.md +67 -0
  55. package/skills/ce-code-review/references/cross-model-recovery.md +38 -0
  56. package/skills/ce-code-review/references/cross-model-review.md +191 -0
  57. package/skills/ce-code-review/references/depth-paths.md +32 -0
  58. package/skills/ce-code-review/references/diff-scope.md +59 -0
  59. package/skills/ce-code-review/references/dispatch-reviewers.md +135 -0
  60. package/skills/ce-code-review/references/findings-schema.json +125 -0
  61. package/skills/ce-code-review/references/finish-input.md +118 -0
  62. package/skills/ce-code-review/references/finish-review.md +202 -0
  63. package/skills/ce-code-review/references/intent-and-plan.md +73 -0
  64. package/skills/ce-code-review/references/modes-and-output.md +156 -0
  65. package/skills/ce-code-review/references/persona-catalog.md +66 -0
  66. package/skills/ce-code-review/references/personas/adversarial-reviewer.md +111 -0
  67. package/skills/ce-code-review/references/personas/agent-native-reviewer.md +173 -0
  68. package/skills/ce-code-review/references/personas/api-contract-reviewer.md +44 -0
  69. package/skills/ce-code-review/references/personas/correctness-reviewer.md +48 -0
  70. package/skills/ce-code-review/references/personas/data-migration-reviewer.md +111 -0
  71. package/skills/ce-code-review/references/personas/deployment-verification-agent.md +157 -0
  72. package/skills/ce-code-review/references/personas/julik-frontend-races-reviewer.md +45 -0
  73. package/skills/ce-code-review/references/personas/learnings-researcher.md +260 -0
  74. package/skills/ce-code-review/references/personas/maintainability-reviewer.md +85 -0
  75. package/skills/ce-code-review/references/personas/performance-reviewer.md +45 -0
  76. package/skills/ce-code-review/references/personas/previous-comments-reviewer.md +59 -0
  77. package/skills/ce-code-review/references/personas/project-standards-reviewer.md +77 -0
  78. package/skills/ce-code-review/references/personas/reliability-reviewer.md +49 -0
  79. package/skills/ce-code-review/references/personas/security-reviewer.md +50 -0
  80. package/skills/ce-code-review/references/personas/swift-ios-reviewer.md +99 -0
  81. package/skills/ce-code-review/references/personas/testing-reviewer.md +51 -0
  82. package/skills/ce-code-review/references/review-output-template.md +172 -0
  83. package/skills/ce-code-review/references/scope.md +176 -0
  84. package/skills/ce-code-review/references/select-and-route.md +93 -0
  85. package/skills/ce-code-review/references/subagent-template.md +206 -0
  86. package/skills/ce-code-review/references/validator-batch-template.md +67 -0
  87. package/skills/ce-code-review/scripts/cross-model-adversarial-review.sh +1275 -0
  88. package/skills/ce-code-review/scripts/findings-mechanics.py +274 -0
  89. package/skills/ce-code-review/scripts/packs-resolve.py +737 -0
  90. package/skills/ce-code-review/scripts/peer-job-runner.py +2594 -0
  91. package/skills/ce-code-review/scripts/review-scope.py +419 -0
  92. package/skills/ce-code-review/scripts/run-log.py +280 -0
  93. package/skills/ce-commit/SKILL.md +60 -0
  94. package/skills/ce-commit-push-pr/SKILL.md +69 -0
  95. package/skills/ce-commit-push-pr/references/apply-and-handoff.md +79 -0
  96. package/skills/ce-commit-push-pr/references/branch-creation.md +47 -0
  97. package/skills/ce-commit-push-pr/references/commit-and-push.md +26 -0
  98. package/skills/ce-commit-push-pr/references/compose.md +29 -0
  99. package/skills/ce-commit-push-pr/references/context.md +42 -0
  100. package/skills/ce-commit-push-pr/references/gh-stack-cli.md +83 -0
  101. package/skills/ce-commit-push-pr/references/pr-description-writing.md +208 -0
  102. package/skills/ce-commit-push-pr/references/stack-submit.md +81 -0
  103. package/skills/ce-compound/SKILL.md +79 -0
  104. package/skills/ce-compound/assets/resolution-template.md +96 -0
  105. package/skills/ce-compound/references/agents/best-practices-researcher.md +115 -0
  106. package/skills/ce-compound/references/agents/data-integrity-guardian.md +68 -0
  107. package/skills/ce-compound/references/agents/framework-docs-researcher.md +93 -0
  108. package/skills/ce-compound/references/agents/pattern-recognition-specialist.md +55 -0
  109. package/skills/ce-compound/references/agents/performance-oracle.md +108 -0
  110. package/skills/ce-compound/references/agents/security-sentinel.md +91 -0
  111. package/skills/ce-compound/references/agents/session-historian.md +82 -0
  112. package/skills/ce-compound/references/assembly.md +127 -0
  113. package/skills/ce-compound/references/concepts-vocabulary.md +98 -0
  114. package/skills/ce-compound/references/enhancement.md +42 -0
  115. package/skills/ce-compound/references/grounding-validation.md +89 -0
  116. package/skills/ce-compound/references/lightweight.md +56 -0
  117. package/skills/ce-compound/references/modes.md +13 -0
  118. package/skills/ce-compound/references/refresh-and-discoverability.md +96 -0
  119. package/skills/ce-compound/references/report.md +115 -0
  120. package/skills/ce-compound/references/research.md +144 -0
  121. package/skills/ce-compound/references/schema.yaml +236 -0
  122. package/skills/ce-compound/references/session-history.md +73 -0
  123. package/skills/ce-compound/references/yaml-schema.md +130 -0
  124. package/skills/ce-compound/scripts/packs-resolve.py +737 -0
  125. package/skills/ce-compound/scripts/session-history/__pycache__/dsh_session.cpython-314.pyc +0 -0
  126. package/skills/ce-compound/scripts/session-history/discover-sessions.sh +290 -0
  127. package/skills/ce-compound/scripts/session-history/discover_dsh.py +123 -0
  128. package/skills/ce-compound/scripts/session-history/dsh_session.py +225 -0
  129. package/skills/ce-compound/scripts/session-history/extract-errors.py +178 -0
  130. package/skills/ce-compound/scripts/session-history/extract-metadata.py +301 -0
  131. package/skills/ce-compound/scripts/session-history/extract-skeleton.py +346 -0
  132. package/skills/ce-compound/scripts/validate-doc-claims.py +497 -0
  133. package/skills/ce-compound/scripts/validate-frontmatter.py +137 -0
  134. package/skills/ce-compound-refresh/SKILL.md +88 -0
  135. package/skills/ce-compound-refresh/assets/resolution-template.md +96 -0
  136. package/skills/ce-compound-refresh/references/classify.md +42 -0
  137. package/skills/ce-compound-refresh/references/commit.md +7 -0
  138. package/skills/ce-compound-refresh/references/concepts-vocabulary.md +116 -0
  139. package/skills/ce-compound-refresh/references/discoverability.md +15 -0
  140. package/skills/ce-compound-refresh/references/investigate.md +23 -0
  141. package/skills/ce-compound-refresh/references/modes.md +27 -0
  142. package/skills/ce-compound-refresh/references/per-action-flows.md +142 -0
  143. package/skills/ce-compound-refresh/references/report.md +23 -0
  144. package/skills/ce-compound-refresh/references/schema.yaml +236 -0
  145. package/skills/ce-compound-refresh/references/scope.md +18 -0
  146. package/skills/ce-compound-refresh/references/worth-audit.md +35 -0
  147. package/skills/ce-compound-refresh/references/yaml-schema.md +130 -0
  148. package/skills/ce-compound-refresh/scripts/validate-doc-claims.py +497 -0
  149. package/skills/ce-compound-refresh/scripts/validate-frontmatter.py +137 -0
  150. package/skills/ce-debug/SKILL.md +122 -0
  151. package/skills/ce-debug/references/anti-patterns.md +91 -0
  152. package/skills/ce-debug/references/defense-in-depth.md +39 -0
  153. package/skills/ce-debug/references/fix.md +21 -0
  154. package/skills/ce-debug/references/investigate.md +114 -0
  155. package/skills/ce-debug/references/investigation-techniques.md +384 -0
  156. package/skills/ce-debug/references/pipeline-mode.md +78 -0
  157. package/skills/ce-debug/references/post-fix-handoff.md +60 -0
  158. package/skills/ce-debug/references/return-to-caller.md +57 -0
  159. package/skills/ce-doc-review/SKILL.md +75 -0
  160. package/skills/ce-doc-review/references/bulk-preview.md +146 -0
  161. package/skills/ce-doc-review/references/cross-model-review.md +207 -0
  162. package/skills/ce-doc-review/references/decision-primer.md +47 -0
  163. package/skills/ce-doc-review/references/dispatch.md +56 -0
  164. package/skills/ce-doc-review/references/document-intake.md +44 -0
  165. package/skills/ce-doc-review/references/findings-schema.json +85 -0
  166. package/skills/ce-doc-review/references/modes.md +20 -0
  167. package/skills/ce-doc-review/references/open-questions-defer.md +158 -0
  168. package/skills/ce-doc-review/references/persona-selection.md +41 -0
  169. package/skills/ce-doc-review/references/personas/adversarial-document-reviewer.md +109 -0
  170. package/skills/ce-doc-review/references/personas/coherence-reviewer.md +69 -0
  171. package/skills/ce-doc-review/references/personas/design-lens-reviewer.md +48 -0
  172. package/skills/ce-doc-review/references/personas/feasibility-reviewer.md +50 -0
  173. package/skills/ce-doc-review/references/personas/product-lens-reviewer.md +85 -0
  174. package/skills/ce-doc-review/references/personas/scope-guardian-reviewer.md +83 -0
  175. package/skills/ce-doc-review/references/personas/security-lens-reviewer.md +41 -0
  176. package/skills/ce-doc-review/references/personas/whole-doc-reviewer.md +25 -0
  177. package/skills/ce-doc-review/references/rendering-floor.md +175 -0
  178. package/skills/ce-doc-review/references/review-output-template.md +123 -0
  179. package/skills/ce-doc-review/references/subagent-template.md +188 -0
  180. package/skills/ce-doc-review/references/synthesis-and-presentation.md +350 -0
  181. package/skills/ce-doc-review/references/walkthrough.md +347 -0
  182. package/skills/ce-doc-review/scripts/cross-model-doc-review.sh +1270 -0
  183. package/skills/ce-doc-review/scripts/packs-resolve.py +737 -0
  184. package/skills/ce-doc-review/scripts/peer-job-runner.py +2594 -0
  185. package/skills/ce-dogfood/SKILL.md +66 -0
  186. package/skills/ce-dogfood/agents/openai.yaml +2 -0
  187. package/skills/ce-dogfood/references/dogfood-report-template.md +97 -0
  188. package/skills/ce-dogfood/references/phases.md +167 -0
  189. package/skills/ce-dogfood/references/test-matrix-taxonomy.md +62 -0
  190. package/skills/ce-dogfood/scripts/packs-resolve.py +737 -0
  191. package/skills/ce-explain/SKILL.md +81 -0
  192. package/skills/ce-explain/references/agents/behavior-trace-scout.md +19 -0
  193. package/skills/ce-explain/references/agents/work-recap-scout.md +23 -0
  194. package/skills/ce-explain/references/check-in.md +18 -0
  195. package/skills/ce-explain/references/destinations.md +35 -0
  196. package/skills/ce-explain/references/explainer-html.md +29 -0
  197. package/skills/ce-explain/references/explainer-markdown.md +24 -0
  198. package/skills/ce-explain/references/intake.md +50 -0
  199. package/skills/ce-explain/references/orchestration.md +46 -0
  200. package/skills/ce-handoff/SKILL.md +54 -0
  201. package/skills/ce-handoff/references/create.md +88 -0
  202. package/skills/ce-handoff/references/resume.md +46 -0
  203. package/skills/ce-ideate/SKILL.md +75 -0
  204. package/skills/ce-ideate/references/agents/issue-intelligence-analyst.md +166 -0
  205. package/skills/ce-ideate/references/agents/learnings-researcher.md +247 -0
  206. package/skills/ce-ideate/references/agents/slack-researcher.md +127 -0
  207. package/skills/ce-ideate/references/agents/web-researcher.md +121 -0
  208. package/skills/ce-ideate/references/decomposition.md +39 -0
  209. package/skills/ce-ideate/references/divergent-ideation.md +112 -0
  210. package/skills/ce-ideate/references/grounding.md +138 -0
  211. package/skills/ce-ideate/references/html-rendering.md +638 -0
  212. package/skills/ce-ideate/references/ideation-sections.md +191 -0
  213. package/skills/ce-ideate/references/issue-intelligence.md +44 -0
  214. package/skills/ce-ideate/references/markdown-rendering.md +242 -0
  215. package/skills/ce-ideate/references/output-mode.md +34 -0
  216. package/skills/ce-ideate/references/post-ideation-workflow.md +169 -0
  217. package/skills/ce-ideate/references/scope-gates.md +148 -0
  218. package/skills/ce-ideate/references/universal-ideation.md +119 -0
  219. package/skills/ce-ideate/references/user-research-artifacts.md +28 -0
  220. package/skills/ce-ideate/references/web-research-cache.md +56 -0
  221. package/skills/ce-noslop/SKILL.md +45 -0
  222. package/skills/ce-noslop/references/patterns.md +61 -0
  223. package/skills/ce-noslop/references/terminology.md +3 -0
  224. package/skills/ce-optimize/SKILL.md +64 -0
  225. package/skills/ce-optimize/references/agents/learnings-researcher.md +247 -0
  226. package/skills/ce-optimize/references/agents/repo-research-analyst.md +258 -0
  227. package/skills/ce-optimize/references/example-expensive-benchmark-spec.yaml +88 -0
  228. package/skills/ce-optimize/references/example-hard-spec.yaml +64 -0
  229. package/skills/ce-optimize/references/example-judge-spec.yaml +83 -0
  230. package/skills/ce-optimize/references/example-text-target-spec.yaml +80 -0
  231. package/skills/ce-optimize/references/experiment-log-schema.yaml +563 -0
  232. package/skills/ce-optimize/references/experiment-prompt-template.md +143 -0
  233. package/skills/ce-optimize/references/judge-prompt-template.md +117 -0
  234. package/skills/ce-optimize/references/loop.md +286 -0
  235. package/skills/ce-optimize/references/measurement.md +168 -0
  236. package/skills/ce-optimize/references/optimize-spec-schema.yaml +570 -0
  237. package/skills/ce-optimize/references/persistence.md +93 -0
  238. package/skills/ce-optimize/references/spec.md +107 -0
  239. package/skills/ce-optimize/references/text-targets.md +51 -0
  240. package/skills/ce-optimize/references/usage-guide.md +147 -0
  241. package/skills/ce-optimize/references/wrap-up.md +54 -0
  242. package/skills/ce-optimize/scripts/decide.mjs +676 -0
  243. package/skills/ce-optimize/scripts/experiment-worktree.sh +330 -0
  244. package/skills/ce-optimize/scripts/measure.sh +140 -0
  245. package/skills/ce-optimize/scripts/parallel-probe.sh +134 -0
  246. package/skills/ce-plan/SKILL.md +60 -0
  247. package/skills/ce-plan/references/agents/agent-native-planning-strategist.md +66 -0
  248. package/skills/ce-plan/references/agents/architecture-strategist.md +46 -0
  249. package/skills/ce-plan/references/agents/best-practices-researcher.md +118 -0
  250. package/skills/ce-plan/references/agents/data-integrity-guardian.md +68 -0
  251. package/skills/ce-plan/references/agents/framework-docs-researcher.md +97 -0
  252. package/skills/ce-plan/references/agents/git-history-analyzer.md +40 -0
  253. package/skills/ce-plan/references/agents/learnings-researcher.md +268 -0
  254. package/skills/ce-plan/references/agents/pattern-recognition-specialist.md +55 -0
  255. package/skills/ce-plan/references/agents/performance-oracle.md +108 -0
  256. package/skills/ce-plan/references/agents/repo-research-analyst.md +262 -0
  257. package/skills/ce-plan/references/agents/security-sentinel.md +91 -0
  258. package/skills/ce-plan/references/agents/slack-researcher.md +131 -0
  259. package/skills/ce-plan/references/agents/spec-flow-analyzer.md +84 -0
  260. package/skills/ce-plan/references/agents/web-researcher.md +125 -0
  261. package/skills/ce-plan/references/approach-altitude.md +55 -0
  262. package/skills/ce-plan/references/bakeoff.md +9 -0
  263. package/skills/ce-plan/references/deepening-workflow.md +263 -0
  264. package/skills/ce-plan/references/final-review.md +134 -0
  265. package/skills/ce-plan/references/html-rendering.md +638 -0
  266. package/skills/ce-plan/references/intake.md +158 -0
  267. package/skills/ce-plan/references/markdown-rendering.md +242 -0
  268. package/skills/ce-plan/references/output-contracts.md +29 -0
  269. package/skills/ce-plan/references/output-mode.md +45 -0
  270. package/skills/ce-plan/references/plan-handoff.md +116 -0
  271. package/skills/ce-plan/references/plan-sections.md +489 -0
  272. package/skills/ce-plan/references/reasoning-elevation.md +124 -0
  273. package/skills/ce-plan/references/research.md +211 -0
  274. package/skills/ce-plan/references/resume.md +61 -0
  275. package/skills/ce-plan/references/settled-decisions.md +45 -0
  276. package/skills/ce-plan/references/structure.md +207 -0
  277. package/skills/ce-plan/references/synthesis-summary.md +260 -0
  278. package/skills/ce-plan/references/universal-planning.md +170 -0
  279. package/skills/ce-plan/scripts/elevation-dispatch.sh +288 -0
  280. package/skills/ce-plan/scripts/packs-resolve.py +737 -0
  281. package/skills/ce-plan/scripts/peer-job-runner.py +2594 -0
  282. package/skills/ce-polish/SKILL.md +22 -0
  283. package/skills/ce-polish/agents/openai.yaml +2 -0
  284. package/skills/ce-polish/references/dev-server-astro.md +58 -0
  285. package/skills/ce-polish/references/dev-server-detection.md +40 -0
  286. package/skills/ce-polish/references/dev-server-next.md +61 -0
  287. package/skills/ce-polish/references/dev-server-nuxt.md +58 -0
  288. package/skills/ce-polish/references/dev-server-procfile.md +59 -0
  289. package/skills/ce-polish/references/dev-server-rails.md +50 -0
  290. package/skills/ce-polish/references/dev-server-remix.md +58 -0
  291. package/skills/ce-polish/references/dev-server-sveltekit.md +58 -0
  292. package/skills/ce-polish/references/dev-server-vite.md +48 -0
  293. package/skills/ce-polish/references/install-riffrec.md +35 -0
  294. package/skills/ce-polish/references/launch-json-schema.md +177 -0
  295. package/skills/ce-polish/references/live-loop.md +98 -0
  296. package/skills/ce-polish/references/live-remote.md +35 -0
  297. package/skills/ce-polish/references/live-start.md +93 -0
  298. package/skills/ce-polish/references/live-stream-contract.md +253 -0
  299. package/skills/ce-polish/references/run.md +67 -0
  300. package/skills/ce-polish/scripts/detect-project-type.sh +277 -0
  301. package/skills/ce-polish/scripts/detect-riffrec.sh +225 -0
  302. package/skills/ce-polish/scripts/live-endpoint.js +2841 -0
  303. package/skills/ce-polish/scripts/read-launch-json.sh +117 -0
  304. package/skills/ce-polish/scripts/resolve-package-manager.sh +95 -0
  305. package/skills/ce-polish/scripts/resolve-port.sh +307 -0
  306. package/skills/ce-pov/SKILL.md +64 -0
  307. package/skills/ce-pov/references/agents/external-evidence-researcher.md +26 -0
  308. package/skills/ce-pov/references/agents/pov-peer.md +43 -0
  309. package/skills/ce-pov/references/agents/precedent-activity-scout.md +21 -0
  310. package/skills/ce-pov/references/agents/project-grounding-scout.md +32 -0
  311. package/skills/ce-pov/references/boundaries.md +36 -0
  312. package/skills/ce-pov/references/cross-model-panel.md +596 -0
  313. package/skills/ce-pov/references/followup.md +9 -0
  314. package/skills/ce-pov/references/grounding.md +47 -0
  315. package/skills/ce-pov/references/intake.md +61 -0
  316. package/skills/ce-pov/references/invocation.md +47 -0
  317. package/skills/ce-pov/references/method.md +68 -0
  318. package/skills/ce-pov/references/pov-schema.json +56 -0
  319. package/skills/ce-pov/references/report.md +7 -0
  320. package/skills/ce-pov/scripts/cross-model-pov.sh +1110 -0
  321. package/skills/ce-pov/scripts/peer-job-runner.py +2594 -0
  322. package/skills/ce-product-pulse/SKILL.md +81 -0
  323. package/skills/ce-product-pulse/agents/openai.yaml +2 -0
  324. package/skills/ce-product-pulse/references/config.md +20 -0
  325. package/skills/ce-product-pulse/references/interview.md +260 -0
  326. package/skills/ce-product-pulse/references/report-template.md +89 -0
  327. package/skills/ce-product-pulse/references/run.md +46 -0
  328. package/skills/ce-product-pulse/references/setup.md +43 -0
  329. package/skills/ce-promote/SKILL.md +90 -0
  330. package/skills/ce-promote/agents/openai.yaml +2 -0
  331. package/skills/ce-promote/references/spiral-cli.md +149 -0
  332. package/skills/ce-proof/SKILL.md +65 -0
  333. package/skills/ce-proof/references/api.md +176 -0
  334. package/skills/ce-proof/references/workflows.md +124 -0
  335. package/skills/ce-prototype/SKILL.md +59 -0
  336. package/skills/ce-prototype/assets/annotate.css +206 -0
  337. package/skills/ce-prototype/assets/annotate.js +837 -0
  338. package/skills/ce-prototype/references/annotation-loop.md +32 -0
  339. package/skills/ce-prototype/references/build.md +39 -0
  340. package/skills/ce-prototype/references/craft-floor.md +43 -0
  341. package/skills/ce-prototype/references/preview.md +118 -0
  342. package/skills/ce-prototype/references/scoping.md +38 -0
  343. package/skills/ce-prototype/references/write-back.md +37 -0
  344. package/skills/ce-prototype/scripts/light-webserver.js +1275 -0
  345. package/skills/ce-resolve-pr-feedback/SKILL.md +60 -0
  346. package/skills/ce-resolve-pr-feedback/references/agents/pr-comment-resolver.md +59 -0
  347. package/skills/ce-resolve-pr-feedback/references/evaluation-rubric.md +141 -0
  348. package/skills/ce-resolve-pr-feedback/references/full-mode.md +336 -0
  349. package/skills/ce-resolve-pr-feedback/references/pipeline-mode.md +23 -0
  350. package/skills/ce-resolve-pr-feedback/references/resume.md +60 -0
  351. package/skills/ce-resolve-pr-feedback/references/return-to-caller.md +111 -0
  352. package/skills/ce-resolve-pr-feedback/references/targeted-mode.md +48 -0
  353. package/skills/ce-resolve-pr-feedback/scripts/get-pr-comments +176 -0
  354. package/skills/ce-resolve-pr-feedback/scripts/get-thread-for-comment +84 -0
  355. package/skills/ce-resolve-pr-feedback/scripts/pending-feedback.py +287 -0
  356. package/skills/ce-resolve-pr-feedback/scripts/reply-to-pr-thread +57 -0
  357. package/skills/ce-resolve-pr-feedback/scripts/resolve-pr-thread +23 -0
  358. package/skills/ce-retune/SKILL.md +42 -0
  359. package/skills/ce-retune/agents/openai.yaml +2 -0
  360. package/skills/ce-retune/references/baseline-mining.md +122 -0
  361. package/skills/ce-retune/references/corpus-audit.md +128 -0
  362. package/skills/ce-retune/references/cut-passes.md +129 -0
  363. package/skills/ce-retune/references/halt-taxonomy.md +123 -0
  364. package/skills/ce-retune/references/noise-floor.md +131 -0
  365. package/skills/ce-retune/references/workflow-shapes.md +73 -0
  366. package/skills/ce-riffrec-feedback-analysis/SKILL.md +33 -0
  367. package/skills/ce-riffrec-feedback-analysis/references/analyzer.md +18 -0
  368. package/skills/ce-riffrec-feedback-analysis/references/compound-engineering-feedback-format.md +116 -0
  369. package/skills/ce-riffrec-feedback-analysis/references/extensive-analysis.md +98 -0
  370. package/skills/ce-riffrec-feedback-analysis/references/install-riffrec.md +27 -0
  371. package/skills/ce-riffrec-feedback-analysis/references/quick-bug-report.md +38 -0
  372. package/skills/ce-riffrec-feedback-analysis/scripts/analyze_riffrec_zip.py +1306 -0
  373. package/skills/ce-setup/SKILL.md +103 -0
  374. package/skills/ce-setup/agents/openai.yaml +2 -0
  375. package/skills/ce-setup/assets/compounding-directive.md +11 -0
  376. package/skills/ce-setup/assets/noslop-directive.md +7 -0
  377. package/skills/ce-setup/assets/pack-rule-template.md +11 -0
  378. package/skills/ce-setup/references/acpx-cache-warm.md +14 -0
  379. package/skills/ce-setup/references/config-template.yaml +210 -0
  380. package/skills/ce-setup/references/legacy-codex-tool-map.md +15 -0
  381. package/skills/ce-setup/references/pack-scaffold.md +45 -0
  382. package/skills/ce-setup/references/repo-fixes.md +121 -0
  383. package/skills/ce-setup/scripts/check-health +929 -0
  384. package/skills/ce-setup/scripts/packs-resolve.py +737 -0
  385. package/skills/ce-simplify-code/SKILL.md +76 -0
  386. package/skills/ce-simplify-code/references/personas/code-quality-reviewer.md +17 -0
  387. package/skills/ce-simplify-code/references/personas/code-reuse-reviewer.md +7 -0
  388. package/skills/ce-simplify-code/references/personas/comment-reviewer.md +24 -0
  389. package/skills/ce-simplify-code/references/personas/efficiency-reviewer.md +11 -0
  390. package/skills/ce-simplify-code/references/personas/test-value-reviewer.md +23 -0
  391. package/skills/ce-simplify-code/references/reviewer-dispatch.md +11 -0
  392. package/skills/ce-simplify-code/references/standalone-report.md +25 -0
  393. package/skills/ce-strategy/SKILL.md +61 -0
  394. package/skills/ce-strategy/references/grounding.md +22 -0
  395. package/skills/ce-strategy/references/interview.md +179 -0
  396. package/skills/ce-strategy/references/strategy-template.md +94 -0
  397. package/skills/ce-strategy/references/update-run.md +33 -0
  398. package/skills/ce-sweep/SKILL.md +93 -0
  399. package/skills/ce-sweep/agents/openai.yaml +2 -0
  400. package/skills/ce-sweep/references/agents/media-analyzer.md +54 -0
  401. package/skills/ce-sweep/references/interview.md +208 -0
  402. package/skills/ce-sweep/references/model-tiers.md +13 -0
  403. package/skills/ce-sweep/references/plan-template.md +62 -0
  404. package/skills/ce-sweep/references/run.md +126 -0
  405. package/skills/ce-sweep/references/sources/email.md +57 -0
  406. package/skills/ce-sweep/references/sources/github-issues.md +59 -0
  407. package/skills/ce-sweep/references/sources/slack.md +61 -0
  408. package/skills/ce-sweep/references/state-schema.md +157 -0
  409. package/skills/ce-sweep/references/subagent-template.md +60 -0
  410. package/skills/ce-sweep/scripts/analyze_riffrec_zip.py +1306 -0
  411. package/skills/ce-sweep/scripts/sweep-state.py +793 -0
  412. package/skills/ce-test-browser/SKILL.md +50 -0
  413. package/skills/ce-test-browser/references/agent-browser-driver.md +47 -0
  414. package/skills/ce-test-browser/references/pipeline-orchestration.md +45 -0
  415. package/skills/ce-test-browser/references/route-and-report.md +129 -0
  416. package/skills/ce-test-browser/scripts/resolve-port.sh +41 -0
  417. package/skills/ce-test-xcode/SKILL.md +26 -0
  418. package/skills/ce-test-xcode/agents/openai.yaml +2 -0
  419. package/skills/ce-test-xcode/references/setup-and-build.md +32 -0
  420. package/skills/ce-test-xcode/references/test-and-report.md +64 -0
  421. package/skills/ce-work/SKILL.md +62 -0
  422. package/skills/ce-work/references/agents/figma-design-sync.md +27 -0
  423. package/skills/ce-work/references/agents/implementation-worker.md +17 -0
  424. package/skills/ce-work/references/cross-model-execution.md +191 -0
  425. package/skills/ce-work/references/execution-engines.md +64 -0
  426. package/skills/ce-work/references/execution-strategy.md +73 -0
  427. package/skills/ce-work/references/implementation-loop.md +107 -0
  428. package/skills/ce-work/references/implementation-result-schema.json +52 -0
  429. package/skills/ce-work/references/input-triage.md +50 -0
  430. package/skills/ce-work/references/non-code-execution.md +23 -0
  431. package/skills/ce-work/references/return-to-caller.md +33 -0
  432. package/skills/ce-work/references/review-findings-followup.md +82 -0
  433. package/skills/ce-work/references/shipping-workflow.md +89 -0
  434. package/skills/ce-work/references/tracker-defer.md +150 -0
  435. package/skills/ce-work/references/work-intake.md +51 -0
  436. package/skills/ce-work/references/workspace-setup.md +27 -0
  437. package/skills/ce-work/scripts/__pycache__/unit_workspace_jobs.cpython-314.pyc +0 -0
  438. package/skills/ce-work/scripts/__pycache__/unit_workspace_state.cpython-314.pyc +0 -0
  439. package/skills/ce-work/scripts/cross-model-work.sh +1385 -0
  440. package/skills/ce-work/scripts/peer-job-runner.py +2594 -0
  441. package/skills/ce-work/scripts/unit-workspace.py +215 -0
  442. package/skills/ce-work/scripts/unit_workspace_ignored.py +93 -0
  443. package/skills/ce-work/scripts/unit_workspace_integration.py +677 -0
  444. package/skills/ce-work/scripts/unit_workspace_jobs.py +1216 -0
  445. package/skills/ce-work/scripts/unit_workspace_lifecycle.py +981 -0
  446. package/skills/ce-work/scripts/unit_workspace_state.py +1379 -0
  447. package/skills/ce-work/scripts/unit_workspace_transaction.py +612 -0
  448. package/skills/ce-worktree/SKILL.md +54 -0
  449. package/skills/lfg/SKILL.md +59 -0
  450. package/skills/lfg/references/debug-return.md +25 -0
  451. package/skills/lfg/references/intake.md +30 -0
  452. package/skills/lfg/references/next-work-handoff.md +96 -0
  453. package/skills/lfg/references/plan-brief.md +36 -0
  454. package/skills/lfg/references/review-followup.md +78 -0
  455. package/skills/lfg/references/shipping.md +65 -0
  456. package/skills/lfg/references/stage-routing.md +49 -0
  457. package/skills/lfg/references/task-visibility.md +11 -0
  458. package/skills/lfg/references/tracker-defer.md +150 -0
  459. package/skills/lfg/references/work-return.md +27 -0
  460. package/skills/wtf/SKILL.md +33 -0
  461. package/skills/wtf/agents/openai.yaml +2 -0
@@ -0,0 +1,563 @@
1
+ # Experiment Log Schema
2
+ # This is the canonical schema for the experiment log file that accumulates
3
+ # across an optimization run.
4
+ #
5
+ # Location: <state-root>/experiment-log.yaml, where <state-root> is the durable
6
+ # state root resolved in Phase 0 (references/persistence.md): the harness's
7
+ # durable store when it names one, otherwise
8
+ # .context/compound-engineering/ce-optimize/<spec-name>/
9
+ #
10
+ # PERSISTENCE MODEL:
11
+ # The experiment log on disk is the SINGLE SOURCE OF TRUTH. The agent's
12
+ # in-memory context is expendable and will be compacted during long runs.
13
+ #
14
+ # Write discipline:
15
+ # - Each experiment gets one log entry, appended on its first measurement
16
+ # (SKILL.md step 3.3), before batch evaluation
17
+ # - Later ladder samples for that experiment update the same entry in place
18
+ # - Outcome fields may also be updated in-place after batch evaluation (step 3.5)
19
+ # - The `best` section is updated after each batch if a new best is found
20
+ # - The `hypothesis_backlog` is updated after each batch
21
+ # - `approval` is written once, the moment the Phase 1 gate is cleared
22
+ # - `run_state` is written at CP-4 and whenever a pending wait is registered
23
+ # or cleared
24
+ # - The agent re-reads this file from disk at every phase boundary
25
+ #
26
+ # The orchestrator does NOT read the full log each iteration -- it uses a
27
+ # rolling window (last 10 experiments) + a strategy digest file for
28
+ # hypothesis generation. But the full log exists on disk for resume,
29
+ # crash recovery, and post-run analysis.
30
+
31
+ # ============================================================================
32
+ # TOP-LEVEL STRUCTURE
33
+ # ============================================================================
34
+
35
+ structure:
36
+
37
+ spec:
38
+ type: string
39
+ required: true
40
+ description: "Name of the optimization spec this log belongs to"
41
+
42
+ run_id:
43
+ type: string
44
+ required: true
45
+ description: "Unique identifier for this optimization run (timestamp-based). Distinguishes resumed runs from fresh starts."
46
+
47
+ started_at:
48
+ type: string
49
+ format: "ISO 8601 timestamp"
50
+ required: true
51
+
52
+ baseline:
53
+ type: object
54
+ required: true
55
+ description: "Metrics measured on the original code before any optimization"
56
+ children:
57
+ timestamp:
58
+ type: string
59
+ format: "ISO 8601 timestamp"
60
+ gates:
61
+ type: object
62
+ description: "Key-value pairs of gate metric names to their baseline values"
63
+ metrics:
64
+ type: object
65
+ description: "Required hard-objective snapshots (aggregate plus samples) that decide.mjs loads for later comparisons"
66
+ diagnostics:
67
+ type: object
68
+ description: "Key-value pairs of diagnostic metric names to their baseline values"
69
+ worst_cases:
70
+ type: array
71
+ description: "The few worst per-case results (items, tests, queries) with what went wrong, from the measurement output or judge reasons. Explains the score; never changes it"
72
+ items:
73
+ type: object
74
+ children:
75
+ case_id:
76
+ type: string
77
+ score:
78
+ type: string
79
+ reason:
80
+ type: string
81
+ judge:
82
+ type: object
83
+ description: "Judge scores on the baseline (only when primary type is 'judge')"
84
+ children:
85
+ # All fields from the scoring config appear here
86
+ # Plus:
87
+ sample_seed:
88
+ type: integer
89
+ judge_cost_usd:
90
+ type: number
91
+
92
+ harness_validation:
93
+ type: object
94
+ required: false
95
+ description: "Result of the Phase 1 metric validity gate, written at CP-1 before the baseline. Absent in legacy logs means the gate was not run, not that it passed."
96
+ children:
97
+ timestamp:
98
+ type: string
99
+ format: "ISO 8601 timestamp"
100
+ separates_known_good_from_bad:
101
+ type: boolean
102
+ description: "The harness scored every known-good exemplar above every known-bad one in the metric's direction; null when no exemplars existed and the probe was not run"
103
+ rejects_trivial_shortcut:
104
+ type: boolean
105
+ description: "An empty, constant, or copied output did not score at or above the known-good exemplars"
106
+ judge_agreement:
107
+ type: number
108
+ description: "Fraction of calibration labels the judge agreed with (judge primary only; null when waived or not applicable)"
109
+ calibration:
110
+ type: enum
111
+ values: [passed, waived, not_run, not_applicable]
112
+ waiver:
113
+ type: string
114
+ description: "Who waived calibration and when, verbatim from the user's message (only when calibration is waived)"
115
+ holdout_configured:
116
+ type: boolean
117
+ description: "Whether a held-out confirmation set was configured for this run"
118
+ probes:
119
+ type: array
120
+ description: "One record per probe run: name, inputs used, observed values, and pass/fail"
121
+
122
+ experiments:
123
+ type: array
124
+ required: true
125
+ description: "Ordered list of all experiments, including kept, reverted, errored, and deferred"
126
+ items:
127
+ type: object
128
+ # See EXPERIMENT ENTRY below
129
+
130
+ best:
131
+ type: object
132
+ required: true
133
+ description: "Summary of the current best result"
134
+ children:
135
+ iteration:
136
+ type: integer
137
+ description: "Iteration number of the best experiment (use 0 for the baseline snapshot before any experiment is kept)"
138
+ metrics:
139
+ type: object
140
+ description: "All metric values from the current best state (seed with baseline metrics during CP-1)"
141
+ judge:
142
+ type: object
143
+ description: "Judge scores from the best experiment (only when primary type is 'judge')"
144
+ total_judge_cost_usd:
145
+ type: number
146
+ description: "Running total of all judge costs across all experiments"
147
+ total_run_cost_usd:
148
+ type: number
149
+ description: "Running estimate of whole-run model spend: experiment workers, judges, and research subagents"
150
+ run_cost_basis:
151
+ type: string
152
+ description: "Which parts of total_run_cost_usd come from host-reported usage and which are estimates"
153
+
154
+ approval:
155
+ type: object
156
+ required: false
157
+ description: >
158
+ The Phase 1 user approval, recorded so a resume (including an unattended
159
+ wake) does not re-ask it. Valid while spec_sha256 matches the SHA-256 of
160
+ the spec.yaml bytes on disk and every cap below matches the spec. Absent,
161
+ or no longer matching, means the gate is presented again. Missing in
162
+ legacy logs means the gate is presented again on resume, as before.
163
+ children:
164
+ approved_at:
165
+ type: string
166
+ format: "ISO 8601 timestamp"
167
+ spec_sha256:
168
+ type: string
169
+ description: "SHA-256 hex digest of the saved spec.yaml bytes at approval time"
170
+ caps:
171
+ type: object
172
+ description: "The limits the user approved: stopping.* as in force, metric.judge.max_total_cost_usd (null only with the explicit uncapped-spend yes), execution.max_concurrent"
173
+
174
+ run_state:
175
+ type: object
176
+ required: false
177
+ description: >
178
+ Tick-level loop state for resume across turns. Written at CP-4 and
179
+ whenever a pending wait is registered or cleared. Absent in a log that
180
+ has not reached Phase 3 or in a legacy log; treat absent clocks as zero
181
+ and absent pending_waits as none.
182
+ children:
183
+ status:
184
+ type: string
185
+ enum: [running, waiting, blocked, final]
186
+ description: "running inside a tick; waiting on recorded pending waits or on the user's wrap-up choice; blocked on something outside the loop (report it, do not spin); final after CP-5"
187
+ tick:
188
+ type: integer
189
+ description: "Completed ticks (batches) so far"
190
+ phase3_started_at:
191
+ type: string
192
+ format: "ISO 8601 timestamp"
193
+ description: "Wall-clock anchor for stopping.max_wall_hours"
194
+ active_seconds:
195
+ type: number
196
+ description: "Time spent inside ticks since Phase 3 started, summed across ticks; the clock stopping.max_hours reads"
197
+ pending_waits:
198
+ type: array
199
+ description: "Work outstanding across the turn boundary. Empty when nothing is outstanding. Turn-end conditions, including the deadline timer and manual-resume handback, are defined in persistence.md (The Wait Record and Ticks)."
200
+ items:
201
+ type: object
202
+ children:
203
+ item:
204
+ type: string
205
+ description: "What is outstanding: an experiment iteration, a judge batch, a timer"
206
+ arrives_as:
207
+ type: string
208
+ description: "The observable the wake delivers: a store file, a pushed ref, a host message naming the launch, a timer fire"
209
+ wake:
210
+ type: string
211
+ description: "The registered wake identifier or description, or unavailable for a manual-resume checkpoint"
212
+ on_arrival:
213
+ type: string
214
+ description: "The action to take: collect through 3.3, evaluate, re-check stopping"
215
+
216
+ hypothesis_backlog:
217
+ type: array
218
+ description: "Remaining hypotheses not yet tested"
219
+ items:
220
+ type: object
221
+ children:
222
+ description:
223
+ type: string
224
+ category:
225
+ type: string
226
+ priority:
227
+ type: string
228
+ enum: [high, medium, low]
229
+ dep_status:
230
+ type: string
231
+ enum: [approved, needs_approval, not_applicable]
232
+ required_deps:
233
+ type: array
234
+ items:
235
+ type: string
236
+ opportunity:
237
+ type: object
238
+ description: "Pre-implementation opportunity record; see opportunity_record below. Optional for legacy logs."
239
+
240
+ opportunity_record:
241
+ children:
242
+ workload:
243
+ type: string
244
+ description: "Representative workload and input identity"
245
+ baseline:
246
+ type: string
247
+ description: "Revision or recorded snapshot against which the benefit is estimated"
248
+ evidence:
249
+ type: string
250
+ description: "Source location and observed cost with units or workload share; rubric evidence for qualitative work"
251
+ expected_benefit:
252
+ type: string
253
+ description: "Target metric, units, expected reduction/increase range or upper bound, and assumptions; unknown with the missing evidence and cheapest resolving measurement when not estimable"
254
+ confidence:
255
+ type: string
256
+ description: "Confidence and the evidence or uncertainty that justifies it"
257
+ cost_and_risk:
258
+ type: string
259
+ description: "Estimated implementation and measurement effort, behavioral risk, and required correctness checks"
260
+
261
+ # ============================================================================
262
+ # EXPERIMENT ENTRY
263
+ # ============================================================================
264
+
265
+ experiment_entry:
266
+ required_children:
267
+
268
+ iteration:
269
+ type: integer
270
+ description: "Sequential experiment number (1-indexed, monotonically increasing)"
271
+
272
+ batch:
273
+ type: integer
274
+ description: "Batch number this experiment was part of. Multiple experiments in the same batch ran in parallel."
275
+
276
+ hypothesis:
277
+ type: string
278
+ description: "Human-readable description of what this experiment tried"
279
+
280
+ category:
281
+ type: string
282
+ description: "Category for grouping and diversity selection (e.g., signal-extraction, graph-signals, embedding, algorithm, preprocessing)"
283
+
284
+ outcome:
285
+ type: enum
286
+ values:
287
+ - measured # measurement finished and metrics were persisted, awaiting batch evaluation / integration
288
+ - promising # eligible on current samples but the ladder still needs confirmation before keep
289
+ - kept # eligible, confirmed, and integrated onto the optimization branch
290
+ - not_selected # eligible after comparison but not integrated (not the winner, overlapping, or past the runner-up cap)
291
+ - reverted # compared and not eligible (regressed a required objective, or none improved), or eligible but its gain did not come from doing the work the metric stands for (loop 3.4)
292
+ - inconclusive # delta inside the comparison threshold; not a keep and not a demonstrated regression
293
+ - censored # aborted as noncompetitive under the predeclared futility bound
294
+ - degenerate # degenerate gate or smoke test failed -> immediately reverted, no judge evaluation
295
+ - error # measurement command crashed, timed out, or produced malformed output
296
+ - deferred_needs_approval # experiment needs an unapproved dependency -> set aside for batch approval
297
+ - timeout # measurement command exceeded timeout_seconds
298
+ - runner_up_kept # file-disjoint runner-up that was cherry-picked and re-measured successfully
299
+ - runner_up_reverted # file-disjoint runner-up that was cherry-picked but combined measurement was not better
300
+ description: >
301
+ The loop branches on this value.
302
+ 'measured' and 'promising' are non-terminal: CP-3 persists raw metrics
303
+ before batch-level comparison, and 'promising' means the ladder still
304
+ needs confirmation samples. An eligible decide `keep` stays `measured`
305
+ until its diff is on the optimization branch. 'kept' and 'runner_up_kept'
306
+ mean that integration happened. 'not_selected' is terminal for an
307
+ eligible candidate that was not integrated. 'deferred_needs_approval'
308
+ items are re-presented at wrap-up. All other states are terminal for
309
+ that experiment.
310
+
311
+ optional_children:
312
+
313
+ opportunity:
314
+ type: object
315
+ description: "Copy of opportunity_record made before this experiment's implementation; never reconstructed from its result. Missing in legacy logs means unrecorded."
316
+
317
+ comparisons:
318
+ type: array
319
+ description: "One record per distinct reference/candidate/workload pairing used in a decision. Later in-place updates must not replace a previously persisted distinct pairing. Absent legacy evidence is unknown, not inferred from the current best."
320
+ items:
321
+ type: object
322
+ children:
323
+ kind:
324
+ type: string
325
+ enum: [standalone, integrated, holdout]
326
+ description: "holdout pairings are scored on the held-out set before a keep and at final confirmation; they never feed selection or hypothesis generation"
327
+ reference_revision:
328
+ type: string
329
+ description: "Identity that uniquely identifies the measured reference bytes. A revision is enough when it names those bytes; a HEAD shared by different uncommitted trees is not."
330
+ candidate_revision:
331
+ type: string
332
+ description: "Identity that uniquely identifies the measured candidate bytes. A revision is enough when it names those bytes; a HEAD shared by different uncommitted trees is not."
333
+ workload:
334
+ type: string
335
+ machine:
336
+ type: string
337
+ description: "Stable identifier of the machine or worker that produced both sides of this pairing, on every kind including holdout. Present for remote-backend results; absent means this checkout. Pairings from different machines are never compared to each other's absolute numbers."
338
+ measured_by:
339
+ type: string
340
+ enum: [orchestrator, worker, confirmation_worker]
341
+ description: "Who produced this pairing, on every kind including holdout. A remote winner needs one worker pairing and one pairing not produced by the candidate's author before keep; a remote holdout pairing is always orchestrator or confirmation_worker, never worker."
342
+ reference:
343
+ type: object
344
+ description: "Existing snapshot shape: metrics and judge, with aggregates and samples where available"
345
+ candidate:
346
+ type: object
347
+ description: "Existing snapshot shape: metrics and judge, with aggregates and samples where available"
348
+ uncertainty:
349
+ type: string
350
+ description: "Configured comparison method, observed variability, confirmation status, and any missing uncertainty evidence"
351
+ correctness:
352
+ type: string
353
+ description: "Checks performed and results or exact unverified constraints; passing a timing comparison alone is not correctness evidence"
354
+
355
+ changes:
356
+ type: array
357
+ description: "Files modified by this experiment"
358
+ items:
359
+ type: object
360
+ children:
361
+ file:
362
+ type: string
363
+ summary:
364
+ type: string
365
+
366
+ gates:
367
+ type: object
368
+ description: "Gate metric values from the measurement command"
369
+
370
+ gates_passed:
371
+ type: boolean
372
+ description: "Whether all degenerate gates passed"
373
+
374
+ diagnostics:
375
+ type: object
376
+ description: "Diagnostic metric values from the measurement command"
377
+
378
+ metrics:
379
+ type: object
380
+ description: "Required hard-objective snapshots (aggregate plus samples) that decide.mjs loads"
381
+
382
+ judge:
383
+ type: object
384
+ description: "Judge evaluation scores (only when primary type is 'judge' and gates passed)"
385
+ children:
386
+ # All fields from scoring.primary and scoring.secondary appear here
387
+ # Plus:
388
+ judge_cost_usd:
389
+ type: number
390
+ description: "Cost of judge calls for this experiment"
391
+ items:
392
+ type: array
393
+ description: "Per-item judge results. Feedback is what hypothesis generation reads; scores alone cannot say what to change."
394
+ items:
395
+ type: object
396
+ children:
397
+ item_id:
398
+ type: string
399
+ content_hash:
400
+ type: string
401
+ description: "Hash of the judged item bytes; the key for the run's judge cache, so identical output is not re-judged"
402
+ reason:
403
+ type: string
404
+ description: "The score explanation retained in worst_cases and cached with the judge result"
405
+ feedback:
406
+ type: string
407
+ description: "What is wrong with this item and what change would fix it, from the judge"
408
+ ambiguous:
409
+ type: boolean
410
+ # Plus every scoring field the rubric requests
411
+
412
+ cost:
413
+ type: object
414
+ description: "Per-experiment diagnostics recorded when the harness or judge reports them; absent otherwise. Never gated on."
415
+ children:
416
+ usd:
417
+ type: number
418
+ tokens:
419
+ type: integer
420
+ latency_seconds:
421
+ type: number
422
+
423
+ regressions:
424
+ type: array
425
+ description: "Case ids the reference passed and this candidate fails, from decide.mjs when measurement.per_case is true. Report only."
426
+ items:
427
+ type: string
428
+
429
+ worst_cases:
430
+ type: array
431
+ description: "Same shape as baseline.worst_cases, for this experiment's latest measurement"
432
+
433
+ primary_delta:
434
+ type: string
435
+ description: "Change in primary metric from current best (e.g., '+0.7', '-0.3')"
436
+
437
+ objective_results:
438
+ type: object
439
+ description: "Per-required-objective comparison from decide.mjs (verdict, delta, relative)"
440
+
441
+ sample_count:
442
+ type: integer
443
+ description: "How many harness samples were spent on this experiment"
444
+
445
+ next_measurement:
446
+ type: string
447
+ enum: [none, smoke, exploratory, add_sample, confirm, holdout]
448
+ description: "Ladder next step from decide.mjs; none when the decision is terminal. holdout means the selection comparison would keep, and the held-out comparison is still missing."
449
+
450
+ learnings:
451
+ type: string
452
+ description: "What was learned from this experiment. The agent reads these to avoid re-trying similar approaches and to inform new hypothesis generation. For a revert whose gain did not come from doing the work, this names the observation or constraint the harness lacks."
453
+
454
+ commit:
455
+ type: string
456
+ description: "Git commit SHA on the optimization branch (only for 'kept' and 'runner_up_kept' outcomes)"
457
+
458
+ deferred_reason:
459
+ type: string
460
+ description: "Why this experiment was deferred (only for 'deferred_needs_approval' outcome)"
461
+
462
+ error_message:
463
+ type: string
464
+ description: "Error details (only for 'error' and 'timeout' outcomes)"
465
+
466
+ merged_with:
467
+ type: integer
468
+ description: "Iteration number of the experiment this was merged with (only for 'runner_up_kept' and 'runner_up_reverted')"
469
+
470
+ # ============================================================================
471
+ # RESULT MARKER (result.yaml)
472
+ # ============================================================================
473
+ #
474
+ # Written by the measuring party immediately after measurement, before CP-3.
475
+ # Local backends write it at the experiment worktree root with metrics only.
476
+ # A remote worker writes it at its checkout root, commits it on the result ref,
477
+ # and the orchestrator copies it to <state-root>/exp-<NNN>-result.yaml.
478
+
479
+ result_marker:
480
+ children:
481
+ experiment:
482
+ type: integer
483
+ base_sha:
484
+ type: string
485
+ description: "Commit the worker started from and measured as baseline; must equal the dispatched base_sha or the result is an error"
486
+ head_sha:
487
+ type: string
488
+ description: "The candidate commit (mutable-scope changes only); result.yaml is committed alone on top of it, so the result ref's tip has head_sha as its parent (remote only)"
489
+ machine:
490
+ type: string
491
+ description: "Stable identifier of the measuring machine or worker (remote only)"
492
+ measured_at:
493
+ type: string
494
+ format: "ISO 8601 timestamp"
495
+ baseline:
496
+ type: object
497
+ description: "Paired snapshot of base_sha on the same machine: gates, metrics { name: { aggregate, samples } }, diagnostics (remote only)"
498
+ candidate:
499
+ type: object
500
+ description: "Snapshot of head_sha; local backends write only this side's raw metrics"
501
+ correctness:
502
+ type: string
503
+ description: "Checks the measuring party ran and their results, or none"
504
+
505
+ # ============================================================================
506
+ # OUTCOME STATE TRANSITIONS
507
+ # ============================================================================
508
+ #
509
+ # proposed (in hypothesis_backlog)
510
+ # -> selected for batch
511
+ # -> experiment dispatched
512
+ # -> measurement completed
513
+ # -> gates failed -> outcome: degenerate
514
+ # -> measurement error -> outcome: error
515
+ # -> measurement timeout -> outcome: timeout
516
+ # -> smoke failed -> outcome: degenerate
517
+ # -> futile / censored -> outcome: censored
518
+ # -> gates passed
519
+ # -> persist raw metrics -> outcome: measured or promising
520
+ # -> judge evaluated (if type: judge)
521
+ # -> decide.mjs eligible, next_measurement none -> stay measured until integration
522
+ # -> diff on optimization branch -> outcome: kept
523
+ # -> eligible leftover -> outcome: not_selected
524
+ # -> runner-up, file-disjoint -> cherry-pick + re-measure
525
+ # -> combined eligible and integrated -> outcome: runner_up_kept
526
+ # -> combined not kept -> outcome: runner_up_reverted
527
+ # -> inconclusive -> outcome: inconclusive
528
+ # -> not eligible -> outcome: reverted
529
+ # -> needs unapproved dep -> outcome: deferred_needs_approval
530
+ #
531
+ # Only 'kept' and 'runner_up_kept' produce a commit on the optimization branch.
532
+ # Only 'deferred_needs_approval' items are re-presented at wrap-up for approval.
533
+
534
+ # ============================================================================
535
+ # STRATEGY DIGEST (separate file)
536
+ # ============================================================================
537
+ #
538
+ # Written after each batch to:
539
+ # <state-root>/strategy-digest.md
540
+ #
541
+ # Contains a compressed summary of:
542
+ # - What hypothesis categories have been tried
543
+ # - Which approaches succeeded (kept) and which failed (reverted)
544
+ # - The exploration frontier: what hasn't been tried yet
545
+ # - Key learnings that should inform next hypotheses
546
+ # - Failure themes: recurring judge `feedback` (or failing `cases`) on the
547
+ # current best, grouped, with counts. Built from selection-sample items
548
+ # only; holdout items never appear here.
549
+ #
550
+ # The orchestrator reads the strategy digest (not the full experiment log)
551
+ # when generating new hypotheses between batches.
552
+
553
+ # ============================================================================
554
+ # JUDGE CACHE (separate file)
555
+ # ============================================================================
556
+ #
557
+ # Written as judge results land, to:
558
+ # <state-root>/judge-cache.yaml
559
+ #
560
+ # Maps content_hash -> the judge's item result (scores, reason, feedback, ambiguous).
561
+ # Scoped to one run and one rubric: identical item bytes are scored once and
562
+ # reused, so a long run does not pay to re-judge output that did not change.
563
+ # A rubric change is a new run and a new cache.