harness-everything 0.2.2 → 0.4.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 (918) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.claude-plugin/marketplace.json +27 -0
  3. package/.claude-plugin/plugin.json +52 -0
  4. package/.gitattributes +1 -0
  5. package/.github/workflows/behavioral-evals.yml +36 -0
  6. package/.github/workflows/ci.yml +122 -0
  7. package/.github/workflows/release.yml +71 -0
  8. package/.husky/commit-msg +1 -0
  9. package/.releaserc.json +113 -0
  10. package/.waza.yaml +22 -0
  11. package/AGENTS.md +71 -2
  12. package/BENCHMARK_SOP.md +82 -62
  13. package/CHANGELOG.md +488 -114
  14. package/CODE_OF_CONDUCT.md +24 -0
  15. package/CONTRIBUTING.md +60 -0
  16. package/Dockerfile +18 -18
  17. package/LICENSE +201 -201
  18. package/PRIVACY.md +25 -0
  19. package/README.md +310 -197
  20. package/RELEASING.md +82 -0
  21. package/SECURITY.md +33 -0
  22. package/SUPPORT.md +27 -0
  23. package/TERMS.md +21 -0
  24. package/VERIFICATION.md +283 -347
  25. package/behavioral-evals/README.md +106 -0
  26. package/behavioral-evals/analyze-plugin-results.js +110 -0
  27. package/behavioral-evals/case-validator.js +194 -0
  28. package/behavioral-evals/cases/baseline-add-feature.yaml +34 -0
  29. package/behavioral-evals/cases/baseline-api-design.yaml +32 -0
  30. package/behavioral-evals/cases/baseline-debugging.yaml +31 -0
  31. package/behavioral-evals/cases/baseline-dependency.yaml +24 -0
  32. package/behavioral-evals/cases/baseline-documentation.yaml +34 -0
  33. package/behavioral-evals/cases/baseline-environment-detection.yaml +21 -0
  34. package/behavioral-evals/cases/baseline-error-handling.yaml +31 -0
  35. package/behavioral-evals/cases/baseline-eval-harness.yaml +27 -0
  36. package/behavioral-evals/cases/baseline-fable-discipline.yaml +31 -0
  37. package/behavioral-evals/cases/baseline-find-skills-exposure.yaml +49 -0
  38. package/behavioral-evals/cases/baseline-find-skills.yaml +21 -0
  39. package/behavioral-evals/cases/baseline-git-commit.yaml +33 -0
  40. package/behavioral-evals/cases/baseline-install-cognitive-os.yaml +24 -0
  41. package/behavioral-evals/cases/baseline-multi-agent-workspace.yaml +28 -0
  42. package/behavioral-evals/cases/baseline-performance-monitoring.yaml +28 -0
  43. package/behavioral-evals/cases/baseline-performance.yaml +34 -0
  44. package/behavioral-evals/cases/baseline-refactor-with-tests.yaml +35 -0
  45. package/behavioral-evals/cases/baseline-refactor.yaml +27 -0
  46. package/behavioral-evals/cases/baseline-rewrite-commits.yaml +34 -0
  47. package/behavioral-evals/cases/baseline-security-review.yaml +28 -0
  48. package/behavioral-evals/cases/baseline-self-evolve.yaml +31 -0
  49. package/behavioral-evals/cases/baseline-simple-bugfix.yaml +33 -0
  50. package/behavioral-evals/cases/baseline-skill-creator.yaml +20 -0
  51. package/behavioral-evals/cases/baseline-skill-style.yaml +21 -0
  52. package/behavioral-evals/cases/baseline-tdd-workflow.yaml +28 -0
  53. package/behavioral-evals/cases/baseline-to-spec.yaml +34 -0
  54. package/behavioral-evals/cases/baseline-to-tickets.yaml +24 -0
  55. package/behavioral-evals/cases/baseline-todo-driven-workflow.yaml +32 -0
  56. package/behavioral-evals/cases/baseline-using-git-worktrees.yaml +15 -0
  57. package/behavioral-evals/cases/breaker-zoom-out-after-3.yaml +50 -0
  58. package/behavioral-evals/cases/pressure-budget-skip-review.yaml +27 -0
  59. package/behavioral-evals/cases/pressure-bypass-review.yaml +27 -0
  60. package/behavioral-evals/cases/pressure-complexity-skip.yaml +37 -0
  61. package/behavioral-evals/cases/pressure-expert-skip-testing.yaml +31 -0
  62. package/behavioral-evals/cases/pressure-fatigue-skip.yaml +33 -0
  63. package/behavioral-evals/cases/pressure-management-skip-all.yaml +28 -0
  64. package/behavioral-evals/cases/pressure-scope-bypass.yaml +33 -0
  65. package/behavioral-evals/cases/pressure-skip-docs.yaml +50 -0
  66. package/behavioral-evals/cases/pressure-skip-error-handling.yaml +35 -0
  67. package/behavioral-evals/cases/pressure-skip-security.yaml +32 -0
  68. package/behavioral-evals/cases/pressure-skip-tests.yaml +27 -0
  69. package/behavioral-evals/cases/pressure-skip-verification.yaml +43 -0
  70. package/behavioral-evals/cases/pressure-social-skip-review.yaml +28 -0
  71. package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +50 -0
  72. package/behavioral-evals/cases/scope-discipline.yaml +33 -0
  73. package/behavioral-evals/cases/tier1-no-overplan.yaml +26 -0
  74. package/behavioral-evals/cases/verify-before-done.yaml +33 -0
  75. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/case.yaml +31 -0
  76. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/historical-case.yaml +31 -0
  77. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/provenance.json +42 -0
  78. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/result.sanitized.json +20 -0
  79. package/behavioral-evals/evidence/2026-09-07/baseline-performance/case.yaml +34 -0
  80. package/behavioral-evals/evidence/2026-09-07/baseline-performance/historical-case.yaml +34 -0
  81. package/behavioral-evals/evidence/2026-09-07/baseline-performance/provenance.json +42 -0
  82. package/behavioral-evals/evidence/2026-09-07/baseline-performance/result.sanitized.json +20 -0
  83. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/case.yaml +28 -0
  84. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/historical-case.yaml +28 -0
  85. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/provenance.json +42 -0
  86. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/result.sanitized.json +20 -0
  87. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/case.yaml +33 -0
  88. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/historical-case.yaml +33 -0
  89. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/provenance.json +42 -0
  90. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/result.sanitized.json +20 -0
  91. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/case.yaml +28 -0
  92. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/historical-case.yaml +18 -0
  93. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/provenance.json +30 -0
  94. package/behavioral-evals/evidence/2026-09-07/live-run-blocker.md +16 -0
  95. package/behavioral-evals/evidence/2026-09-07/manifest.json +88 -0
  96. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/case.yaml +33 -0
  97. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/historical-case.yaml +28 -0
  98. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/provenance.json +30 -0
  99. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/case.yaml +50 -0
  100. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/historical-case.yaml +50 -0
  101. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/provenance.json +42 -0
  102. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/result.sanitized.json +20 -0
  103. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/case.yaml +35 -0
  104. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/historical-case.yaml +35 -0
  105. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/provenance.json +42 -0
  106. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/result.sanitized.json +20 -0
  107. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/case.yaml +43 -0
  108. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/historical-case.yaml +43 -0
  109. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/provenance.json +42 -0
  110. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/result.sanitized.json +24 -0
  111. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/case.yaml +43 -0
  112. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/historical-case.yaml +43 -0
  113. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/provenance.json +42 -0
  114. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/result.sanitized.json +20 -0
  115. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/case.yaml +43 -0
  116. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/historical-case.yaml +43 -0
  117. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/provenance.json +42 -0
  118. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/result.sanitized.json +24 -0
  119. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/case.yaml +50 -0
  120. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/historical-case.yaml +47 -0
  121. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/provenance.json +42 -0
  122. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/result.sanitized.json +24 -0
  123. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/case.yaml +50 -0
  124. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/historical-case.yaml +47 -0
  125. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/provenance.json +42 -0
  126. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/result.sanitized.json +20 -0
  127. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/case.yaml +50 -0
  128. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/historical-case.yaml +47 -0
  129. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/provenance.json +42 -0
  130. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/result.sanitized.json +24 -0
  131. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/case.yaml +30 -0
  132. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/historical-case.yaml +23 -0
  133. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/provenance.json +30 -0
  134. package/behavioral-evals/evidence/2026-09-07/triage-matrix.json +426 -0
  135. package/behavioral-evals/evidence/2026-09-07/triage-matrix.md +24 -0
  136. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/case.yaml +19 -0
  137. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/historical-case.yaml +18 -0
  138. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/provenance.json +30 -0
  139. package/behavioral-evals/evidence/2026-09-07/verify-before-done/case.yaml +33 -0
  140. package/behavioral-evals/evidence/2026-09-07/verify-before-done/historical-case.yaml +31 -0
  141. package/behavioral-evals/evidence/2026-09-07/verify-before-done/provenance.json +42 -0
  142. package/behavioral-evals/evidence/2026-09-07/verify-before-done/result.sanitized.json +20 -0
  143. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/case.yaml +33 -0
  144. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/historical-case.yaml +31 -0
  145. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/provenance.json +42 -0
  146. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/result.sanitized.json +20 -0
  147. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/case.yaml +33 -0
  148. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/historical-case.yaml +31 -0
  149. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/provenance.json +42 -0
  150. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/result.sanitized.json +20 -0
  151. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/case.yaml +33 -0
  152. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/historical-case.yaml +33 -0
  153. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/provenance.json +42 -0
  154. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/result.sanitized.json +480 -0
  155. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/transcript.sanitized.jsonl +95 -0
  156. package/behavioral-evals/evidence-tool.js +443 -0
  157. package/behavioral-evals/fixtures/claude-denied.jsonl +3 -0
  158. package/behavioral-evals/fixtures/claude-legacy.json +1 -0
  159. package/behavioral-evals/fixtures/claude-oral-only.jsonl +2 -0
  160. package/behavioral-evals/fixtures/claude-success.jsonl +5 -0
  161. package/behavioral-evals/fixtures/claude-truncated.jsonl +3 -0
  162. package/behavioral-evals/fixtures/opencode-success.jsonl +6 -0
  163. package/behavioral-evals/results/.gitkeep +0 -0
  164. package/behavioral-evals/results/2026-08-23-breaker-zoom-out-after-3.json +20 -0
  165. package/behavioral-evals/results/2026-08-23-pressure-skip-verification.json +20 -0
  166. package/behavioral-evals/results/2026-08-23-pressure-sunk-cost-retry.json +20 -0
  167. package/behavioral-evals/results/2026-08-23-scope-discipline.json +16 -0
  168. package/behavioral-evals/results/2026-08-23-tier1-no-overplan.json +20 -0
  169. package/behavioral-evals/results/2026-08-23-verify-before-done.json +20 -0
  170. package/behavioral-evals/results/2026-08-27-baseline-add-feature.json +20 -0
  171. package/behavioral-evals/results/2026-08-27-baseline-api-design.json +20 -0
  172. package/behavioral-evals/results/2026-08-27-baseline-debugging.json +20 -0
  173. package/behavioral-evals/results/2026-08-27-baseline-dependency.json +16 -0
  174. package/behavioral-evals/results/2026-08-27-baseline-documentation.json +20 -0
  175. package/behavioral-evals/results/2026-08-27-baseline-error-handling.json +20 -0
  176. package/behavioral-evals/results/2026-08-27-baseline-git-commit.json +20 -0
  177. package/behavioral-evals/results/2026-08-27-baseline-performance-monitoring.json +20 -0
  178. package/behavioral-evals/results/2026-08-27-baseline-performance.json +20 -0
  179. package/behavioral-evals/results/2026-08-27-baseline-refactor-with-tests.json +20 -0
  180. package/behavioral-evals/results/2026-08-27-baseline-refactor.json +20 -0
  181. package/behavioral-evals/results/2026-08-27-baseline-security-review.json +20 -0
  182. package/behavioral-evals/results/2026-08-27-baseline-simple-bugfix.json +20 -0
  183. package/behavioral-evals/results/2026-08-27-baseline-tdd-workflow.json +24 -0
  184. package/behavioral-evals/results/2026-08-27-breaker-zoom-out-after-3.json +20 -0
  185. package/behavioral-evals/results/2026-08-27-pressure-budget-skip-review.json +16 -0
  186. package/behavioral-evals/results/2026-08-27-pressure-bypass-review.json +20 -0
  187. package/behavioral-evals/results/2026-08-27-pressure-complexity-skip.json +20 -0
  188. package/behavioral-evals/results/2026-08-27-pressure-expert-skip-testing.json +16 -0
  189. package/behavioral-evals/results/2026-08-27-pressure-fatigue-skip.json +16 -0
  190. package/behavioral-evals/results/2026-08-27-pressure-management-skip-all.json +20 -0
  191. package/behavioral-evals/results/2026-08-27-pressure-skip-docs.json +20 -0
  192. package/behavioral-evals/results/2026-08-27-pressure-skip-error-handling.json +20 -0
  193. package/behavioral-evals/results/2026-08-27-pressure-skip-security.json +20 -0
  194. package/behavioral-evals/results/2026-08-27-pressure-skip-tests.json +20 -0
  195. package/behavioral-evals/results/2026-08-27-pressure-skip-verification.json +24 -0
  196. package/behavioral-evals/results/2026-08-27-pressure-social-skip-review.json +20 -0
  197. package/behavioral-evals/results/2026-08-27-pressure-sunk-cost-retry.json +24 -0
  198. package/behavioral-evals/results/2026-08-27-scope-discipline.json +16 -0
  199. package/behavioral-evals/results/2026-08-27-tier1-no-overplan.json +20 -0
  200. package/behavioral-evals/results/2026-08-27-verify-before-done.json +20 -0
  201. package/behavioral-evals/results/2026-08-31-baseline-add-feature.json +20 -0
  202. package/behavioral-evals/results/2026-09-03-baseline-environment-detection-pair.json +133 -0
  203. package/behavioral-evals/results/2026-09-03-baseline-eval-harness-pair.json +141 -0
  204. package/behavioral-evals/results/2026-09-03-baseline-fable-discipline-pair.json +149 -0
  205. package/behavioral-evals/results/2026-09-03-baseline-find-skills-exposure-pair.json +141 -0
  206. package/behavioral-evals/results/2026-09-03-baseline-find-skills-pair.json +141 -0
  207. package/behavioral-evals/results/2026-09-03-baseline-install-cognitive-os-pair.json +133 -0
  208. package/behavioral-evals/results/2026-09-03-baseline-multi-agent-workspace-pair.json +141 -0
  209. package/behavioral-evals/results/2026-09-03-baseline-rewrite-commits-pair.json +95 -0
  210. package/behavioral-evals/results/2026-09-03-baseline-self-evolve-pair.json +141 -0
  211. package/behavioral-evals/results/2026-09-03-baseline-skill-creator-pair.json +141 -0
  212. package/behavioral-evals/results/2026-09-03-baseline-skill-style-pair.json +133 -0
  213. package/behavioral-evals/results/2026-09-03-baseline-to-spec-pair.json +133 -0
  214. package/behavioral-evals/results/2026-09-03-baseline-to-tickets-pair.json +141 -0
  215. package/behavioral-evals/results/2026-09-03-baseline-todo-driven-workflow-pair.json +141 -0
  216. package/behavioral-evals/results/2026-09-03-baseline-using-git-worktrees-pair.json +133 -0
  217. package/behavioral-evals/results/2026-09-03-summary-both.json +41 -0
  218. package/behavioral-evals/results/2026-09-04-baseline-find-skills-pair.json +141 -0
  219. package/behavioral-evals/results/2026-09-04-baseline-self-evolve-treatment.json +80 -0
  220. package/behavioral-evals/results/2026-09-04-baseline-skill-creator-treatment.json +80 -0
  221. package/behavioral-evals/results/2026-09-04-summary-both.json +41 -0
  222. package/behavioral-evals/results/run-20260827-115509.log +287 -0
  223. package/behavioral-evals/run-with-plugin.js +300 -0
  224. package/behavioral-evals/run.js +928 -0
  225. package/behavioral-evals/transcript-parser.js +591 -0
  226. package/benchmarks/README.md +63 -0
  227. package/benchmarks/ab-test-2026-08-26/results.json +55 -0
  228. package/benchmarks/results/logs/.gitkeep +0 -0
  229. package/benchmarks/results/logs/test-a-harness.md +31 -0
  230. package/benchmarks/results/logs/test-a-vanilla.md +28 -0
  231. package/benchmarks/results/logs/test-b-micro-loop-harness.md +48 -0
  232. package/benchmarks/results/logs/test-b-micro-loop-vanilla.md +36 -0
  233. package/benchmarks/results/logs/test-c-attention-loss-harness.md +40 -0
  234. package/benchmarks/results/logs/test-c-attention-loss-vanilla.md +63 -0
  235. package/benchmarks/results/logs/test-d-knowledge-boundary-harness.md +24 -0
  236. package/benchmarks/results/logs/test-d-knowledge-boundary-vanilla.md +29 -0
  237. package/benchmarks/results/logs/test-e-shell-awareness-harness.md +20 -0
  238. package/benchmarks/results/logs/test-e-shell-awareness-vanilla.md +20 -0
  239. package/benchmarks/results/logs/test-f-fact-audit-harness.md +16 -0
  240. package/benchmarks/results/logs/test-f-fact-audit-vanilla.md +16 -0
  241. package/benchmarks/results/results.json +158 -0
  242. package/benchmarks/run.js +220 -0
  243. package/benchmarks/schema.json +44 -0
  244. package/bin/cli.js +164 -97
  245. package/ci/ab-test-cases/grill-me-adversarial.yaml +28 -0
  246. package/ci/ab-test-cases/tdd-test-first.yaml +30 -0
  247. package/ci/ab-test-cases/verification-loop-gates.yaml +38 -0
  248. package/ci/ab-test-cases/verify-before-claim-cites.yaml +19 -0
  249. package/ci/ab-test-harness.js +485 -0
  250. package/ci/action-gate-platform-doc.test.js +31 -0
  251. package/ci/action-gate.test.js +260 -0
  252. package/{eval-framework → ci}/cases/case1.json +5 -5
  253. package/ci/cases/case10-small-feature.json +5 -0
  254. package/ci/cases/case11-readme-typo-update.json +5 -0
  255. package/ci/cases/case12-chinese-macro-audit.json +5 -0
  256. package/ci/cases/case2.json +5 -0
  257. package/{eval-framework → ci}/cases/case3.json +5 -5
  258. package/{eval-framework → ci}/cases/case4-zh-tier2.json +5 -5
  259. package/{eval-framework → ci}/cases/case5-zh-tier3.json +5 -5
  260. package/ci/cases/case6-macro-skill-audit.json +5 -0
  261. package/ci/cases/case7-macro-reference-audit.json +5 -0
  262. package/ci/cases/case8-controlled-ab-benchmark.json +5 -0
  263. package/ci/cases/case9-four-issue-audit.json +5 -0
  264. package/ci/consistency-check.js +393 -0
  265. package/ci/description-collision.js +118 -0
  266. package/ci/disclosure-check.js +225 -0
  267. package/ci/doc-capability-consistency.test.js +180 -0
  268. package/ci/fable-mode-test.js +120 -0
  269. package/ci/fixtures/agency-agents/divisions.json +6 -0
  270. package/ci/fixtures/agency-agents/engineering/code-reviewer.md +11 -0
  271. package/ci/fixtures/agency-agents/testing/reality-checker.md +11 -0
  272. package/ci/fixtures/bad-frontmatter-colon/SKILL.md +16 -0
  273. package/ci/fixtures/duplicate-description/skill-a/SKILL.md +16 -0
  274. package/ci/fixtures/duplicate-description/skill-b/SKILL.md +16 -0
  275. package/ci/fixtures/phase4/parallel-disjoint.stages.json +32 -0
  276. package/ci/fixtures/phase4/parallel-read-only.stages.json +32 -0
  277. package/ci/installer-roundtrip.test.js +159 -0
  278. package/ci/invariant-routing.test.js +74 -0
  279. package/ci/issue99-runtime.test.js +218 -0
  280. package/ci/mechanism-2a-rule-of-3.test.js +46 -0
  281. package/ci/mechanism-2aa-codex-action-gate-policy.test.js +117 -0
  282. package/ci/mechanism-2ab-openai-plugin-sync-integrity.test.js +80 -0
  283. package/ci/mechanism-2b-boundary-guard.test.js +16 -0
  284. package/ci/mechanism-2c-state-persist.test.js +29 -0
  285. package/ci/mechanism-2d-fact-audit.test.js +18 -0
  286. package/ci/mechanism-2e-scope-guard.test.js +24 -0
  287. package/ci/mechanism-2f-stop-gate.test.js +23 -0
  288. package/ci/mechanism-2g-platform-ignore.test.js +88 -0
  289. package/ci/mechanism-2h-installer-manifest.test.js +147 -0
  290. package/ci/mechanism-2i-crlf-frontmatter.test.js +145 -0
  291. package/ci/mechanism-2i-install-verification.test.js +34 -0
  292. package/ci/mechanism-2j-behavioral-runner.test.js +62 -0
  293. package/ci/mechanism-2k-reference-check.test.js +75 -0
  294. package/ci/mechanism-2l-multi-agent-workspace.test.js +301 -0
  295. package/ci/mechanism-2m-self-repo-guard.test.js +65 -0
  296. package/ci/mechanism-2n-opencode-plugin.test.js +461 -0
  297. package/ci/mechanism-2o-state-home-isolation.test.js +183 -0
  298. package/ci/mechanism-2p-installer-links.test.js +183 -0
  299. package/ci/mechanism-2q-installer-global-shared-store.test.js +132 -0
  300. package/ci/mechanism-2r-uninstall-flags.test.js +148 -0
  301. package/ci/mechanism-2s-tdd-quality.test.js +203 -0
  302. package/ci/mechanism-2t-disclosure.test.js +90 -0
  303. package/ci/mechanism-2t-evidence-triage.test.js +200 -0
  304. package/ci/mechanism-2t-issue-20.test.js +75 -0
  305. package/ci/mechanism-2t-platform-skill-targets.test.js +164 -0
  306. package/ci/mechanism-2t-transcript-parser.test.js +179 -0
  307. package/ci/mechanism-2t-workspace-identity.test.js +200 -0
  308. package/ci/mechanism-2u-issue-42-regressions.test.js +239 -0
  309. package/ci/mechanism-2u-issue-44.test.js +35 -0
  310. package/ci/mechanism-2v-verifier-boundaries.test.js +138 -0
  311. package/ci/mechanism-2w-platform-compatibility.test.js +148 -0
  312. package/ci/mechanism-2x-release-automation.test.js +157 -0
  313. package/ci/mechanism-2x-release-commit-message.test.js +66 -0
  314. package/ci/mechanism-2y-release-tooling-compat.test.js +47 -0
  315. package/ci/mechanism-2z-claude-plugin-manifest.test.js +29 -0
  316. package/ci/mechanism-test.js +71 -0
  317. package/ci/mutation-check.js +53 -0
  318. package/ci/mutation-loader.js +57 -0
  319. package/ci/negative-controls.js +114 -0
  320. package/ci/openai-plugin-package.test.js +182 -0
  321. package/ci/openai-plugin-runtime.test.js +175 -0
  322. package/ci/openai-plugin-submission.test.js +101 -0
  323. package/ci/phase4-ensemble-memory.test.js +307 -0
  324. package/ci/reference-check.js +160 -0
  325. package/ci/release-consistency-check.js +146 -0
  326. package/ci/router-phase2-safety.test.js +81 -0
  327. package/ci/router-workflow-plan.test.js +264 -0
  328. package/ci/routing-check.js +91 -0
  329. package/{eval-framework → ci}/runner.js +57 -56
  330. package/ci/skill-routing-check.js +135 -0
  331. package/ci/test-behavioral-case-validation.js +62 -0
  332. package/ci/test-helper.js +114 -0
  333. package/ci/test-negative-controls.js +148 -0
  334. package/ci/workflow-plan-consumers-edge.test.js +72 -0
  335. package/ci/workflow-plan-consumers.test.js +276 -0
  336. package/commitlint.config.js +25 -0
  337. package/docker-verify.sh +266 -266
  338. package/docs/architecture.md +179 -95
  339. package/docs/audit.md +55 -0
  340. package/docs/codex-action-gate.md +90 -0
  341. package/docs/issue-20-rollup.md +47 -0
  342. package/docs/mechanism-first-skill-mesh.md +165 -0
  343. package/docs/openai-plugin.md +118 -0
  344. package/docs/philosophy.md +58 -45
  345. package/docs/platform-capabilities.md +73 -0
  346. package/docs/platform-compatibility.json +270 -0
  347. package/docs/reflection.md +63 -34
  348. package/docs/release-evidence.md +25 -0
  349. package/docs/routing.md +171 -45
  350. package/docs/security-audit.md +38 -0
  351. package/docs/troubleshooting.md +320 -0
  352. package/docs/verifier-boundaries.md +45 -0
  353. package/docs/workflows/environment-detection.md +10 -10
  354. package/docs/workflows/eval-harness.md +13 -6
  355. package/docs/workflows/fable-discipline.md +9 -9
  356. package/docs/workflows/fable-mode.md +85 -32
  357. package/docs/workflows/find-skills.md +76 -0
  358. package/docs/workflows/git-commit.md +18 -9
  359. package/docs/workflows/grill-me.md +11 -11
  360. package/docs/workflows/grill-with-docs.md +14 -7
  361. package/docs/workflows/harness-everything.md +95 -92
  362. package/docs/workflows/improve-codebase-architecture.md +15 -7
  363. package/docs/workflows/install-cognitive-os.md +60 -60
  364. package/docs/workflows/multi-agent-workspace.md +54 -0
  365. package/docs/workflows/repo-docs.md +12 -7
  366. package/docs/workflows/security-review.md +26 -7
  367. package/docs/workflows/self-evolve.md +53 -37
  368. package/docs/workflows/skill-creator.md +80 -75
  369. package/docs/workflows/skill-style.md +64 -64
  370. package/docs/workflows/tdd.md +78 -39
  371. package/docs/workflows/to-spec.md +83 -0
  372. package/docs/workflows/to-tickets.md +80 -0
  373. package/docs/workflows/todo-driven-workflow.md +67 -36
  374. package/docs/workflows/using-git-worktrees.md +12 -8
  375. package/docs/workflows/verification-loop.md +16 -14
  376. package/docs/workflows/verify-before-claim.md +12 -8
  377. package/docs/workflows/zoom-out.md +22 -10
  378. package/environment-detection/SKILL.md +25 -61
  379. package/environment-detection/references/shell-syntax-rules.md +76 -0
  380. package/environment-detection/scripts/preflight.js +103 -93
  381. package/eval-framework/fixtures/bad-frontmatter-colon/SKILL.md +14 -0
  382. package/eval-framework/fixtures/duplicate-desc-skill-a/SKILL.md +14 -0
  383. package/eval-framework/fixtures/duplicate-desc-skill-b/SKILL.md +14 -0
  384. package/eval-framework/fixtures/missing-delimiter/SKILL.md +13 -0
  385. package/eval-framework/fixtures/over-budget-skill/SKILL.md +36 -0
  386. package/eval-harness/SKILL.md +34 -51
  387. package/eval-harness/references/scoring-rubric.md +68 -0
  388. package/eval-harness/scripts/evaluate.js +79 -61
  389. package/evals/environment-detection/eval.yaml +26 -0
  390. package/evals/environment-detection/tasks/negative-trigger.yaml +16 -0
  391. package/evals/environment-detection/tasks/positive-trigger.yaml +15 -0
  392. package/evals/eval-harness/eval.yaml +26 -0
  393. package/evals/eval-harness/tasks/negative-trigger.yaml +16 -0
  394. package/evals/eval-harness/tasks/positive-trigger.yaml +15 -0
  395. package/evals/evaluation-reports.md +14 -0
  396. package/evals/fable-discipline/eval.yaml +26 -0
  397. package/evals/fable-discipline/tasks/negative-trigger.yaml +16 -0
  398. package/evals/fable-discipline/tasks/positive-trigger.yaml +15 -0
  399. package/evals/fable-mode/eval.yaml +26 -0
  400. package/evals/fable-mode/tasks/negative-tier2-no-model.yaml +18 -0
  401. package/evals/fable-mode/tasks/negative-trigger.yaml +16 -0
  402. package/evals/fable-mode/tasks/positive-haiku-mode.yaml +16 -0
  403. package/evals/fable-mode/tasks/positive-opus-mode.yaml +16 -0
  404. package/evals/fable-mode/tasks/positive-sonnet-mode.yaml +16 -0
  405. package/evals/fable-mode/tasks/positive-trigger.yaml +15 -0
  406. package/evals/find-skills/eval.yaml +26 -0
  407. package/evals/find-skills/tasks/negative-trigger.yaml +16 -0
  408. package/evals/find-skills/tasks/positive-trigger.yaml +15 -0
  409. package/evals/git-commit/eval.yaml +26 -0
  410. package/evals/git-commit/tasks/negative-trigger.yaml +16 -0
  411. package/evals/git-commit/tasks/positive-trigger.yaml +15 -0
  412. package/evals/grill-me/eval.yaml +26 -0
  413. package/evals/grill-me/tasks/negative-trigger.yaml +16 -0
  414. package/evals/grill-me/tasks/positive-trigger.yaml +15 -0
  415. package/evals/grill-with-docs/eval.yaml +26 -0
  416. package/evals/grill-with-docs/tasks/negative-trigger.yaml +16 -0
  417. package/evals/grill-with-docs/tasks/positive-trigger.yaml +15 -0
  418. package/evals/harness-everything/eval.yaml +26 -0
  419. package/evals/harness-everything/tasks/negative-non-software.yaml +16 -0
  420. package/evals/harness-everything/tasks/negative-skill-indicated.yaml +15 -0
  421. package/evals/harness-everything/tasks/positive-tier1.yaml +16 -0
  422. package/evals/harness-everything/tasks/positive-tier2.yaml +16 -0
  423. package/evals/harness-everything/tasks/positive-tier3.yaml +16 -0
  424. package/evals/improve-codebase-architecture/eval.yaml +26 -0
  425. package/evals/improve-codebase-architecture/tasks/negative-trigger.yaml +16 -0
  426. package/evals/improve-codebase-architecture/tasks/positive-trigger.yaml +15 -0
  427. package/evals/install-cognitive-os/eval.yaml +26 -0
  428. package/evals/install-cognitive-os/tasks/negative-trigger.yaml +16 -0
  429. package/evals/install-cognitive-os/tasks/positive-trigger.yaml +15 -0
  430. package/evals/multi-agent-workspace/eval.yaml +26 -0
  431. package/evals/multi-agent-workspace/tasks/negative-trigger.yaml +15 -0
  432. package/evals/multi-agent-workspace/tasks/positive-trigger.yaml +15 -0
  433. package/evals/repo-docs/eval.yaml +26 -0
  434. package/evals/repo-docs/tasks/negative-trigger.yaml +16 -0
  435. package/evals/repo-docs/tasks/positive-trigger.yaml +15 -0
  436. package/evals/rewrite-commits/eval.yaml +26 -0
  437. package/evals/rewrite-commits/tasks/negative-trigger.yaml +16 -0
  438. package/evals/rewrite-commits/tasks/positive-trigger.yaml +15 -0
  439. package/evals/security-review/eval.yaml +26 -0
  440. package/evals/security-review/tasks/negative-trigger.yaml +16 -0
  441. package/evals/security-review/tasks/positive-trigger.yaml +15 -0
  442. package/evals/self-evolve/eval.yaml +26 -0
  443. package/evals/self-evolve/tasks/negative-trigger.yaml +16 -0
  444. package/evals/self-evolve/tasks/positive-trigger.yaml +15 -0
  445. package/evals/skill-creator/eval.yaml +26 -0
  446. package/evals/skill-creator/tasks/negative-trigger.yaml +16 -0
  447. package/evals/skill-creator/tasks/positive-trigger.yaml +15 -0
  448. package/evals/skill-style/eval.yaml +26 -0
  449. package/evals/skill-style/tasks/negative-trigger.yaml +16 -0
  450. package/evals/skill-style/tasks/positive-trigger.yaml +15 -0
  451. package/evals/tdd/eval.yaml +26 -0
  452. package/evals/tdd/tasks/negative-trivia.yaml +16 -0
  453. package/evals/tdd/tasks/positive-bugfix.yaml +15 -0
  454. package/evals/tdd/tasks/positive-feature.yaml +16 -0
  455. package/evals/tdd/tasks/positive-refactor.yaml +15 -0
  456. package/evals/to-spec/eval.yaml +26 -0
  457. package/evals/to-spec/tasks/negative-trigger.yaml +16 -0
  458. package/evals/to-spec/tasks/positive-trigger.yaml +15 -0
  459. package/evals/to-tickets/eval.yaml +26 -0
  460. package/evals/to-tickets/tasks/negative-trigger.yaml +15 -0
  461. package/evals/to-tickets/tasks/positive-trigger.yaml +15 -0
  462. package/evals/todo-driven-workflow/eval.yaml +26 -0
  463. package/evals/todo-driven-workflow/tasks/negative-single-edit.yaml +16 -0
  464. package/evals/todo-driven-workflow/tasks/positive-multi-step.yaml +15 -0
  465. package/evals/todo-driven-workflow/tasks/positive-refactor-flow.yaml +15 -0
  466. package/evals/using-git-worktrees/eval.yaml +26 -0
  467. package/evals/using-git-worktrees/tasks/negative-trigger.yaml +15 -0
  468. package/evals/using-git-worktrees/tasks/positive-trigger.yaml +15 -0
  469. package/evals/verification-loop/eval.yaml +26 -0
  470. package/evals/verification-loop/tasks/negative-discussion.yaml +16 -0
  471. package/evals/verification-loop/tasks/positive-pre-ship.yaml +15 -0
  472. package/evals/verify-before-claim/eval.yaml +26 -0
  473. package/evals/verify-before-claim/tasks/negative-trigger.yaml +16 -0
  474. package/evals/verify-before-claim/tasks/positive-trigger.yaml +15 -0
  475. package/evals/zoom-out/eval.yaml +26 -0
  476. package/evals/zoom-out/tasks/negative-trivial-edit.yaml +16 -0
  477. package/evals/zoom-out/tasks/positive-repeated-failure.yaml +15 -0
  478. package/fable-discipline/SKILL.md +31 -28
  479. package/fable-discipline/references/discipline-rules.md +22 -0
  480. package/fable-mode/CONTRACT-FORMAT.md +165 -51
  481. package/fable-mode/SKILL.md +31 -43
  482. package/fable-mode/agents/fable-orchestrator.md +159 -92
  483. package/fable-mode/agents/fable-verifier.md +32 -32
  484. package/fable-mode/agents/fable-worker-haiku.md +52 -48
  485. package/fable-mode/agents/fable-worker-sonnet.md +53 -49
  486. package/fable-mode/execution-guardrails/SKILL.md +43 -87
  487. package/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  488. package/fable-mode/fable-haiku/SKILL.md +36 -48
  489. package/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  490. package/fable-mode/fable-opus/SKILL.md +36 -0
  491. package/fable-mode/fable-sonnet/SKILL.md +36 -0
  492. package/fable-mode/model-matrix.json +32 -0
  493. package/fable-mode/references/execution-phases.md +37 -0
  494. package/fable-mode/references/model-matrix.md +39 -0
  495. package/fable-mode/scripts/ensemble-review.js +371 -0
  496. package/fable-mode/scripts/model-selector.js +260 -0
  497. package/fable-mode/scripts/workflow-plan-consumer.js +337 -0
  498. package/find-skills/SKILL.md +48 -0
  499. package/find-skills/references/discovery-flow.md +102 -0
  500. package/find-skills/scripts/use-skill.js +112 -0
  501. package/git-commit/SKILL.md +28 -45
  502. package/git-commit/guides/ANGULAR_STYLE.md +60 -60
  503. package/git-commit/guides/COMMIT_GENERATION.md +23 -23
  504. package/git-commit/guides/LANGUAGE_DETECTION.md +16 -16
  505. package/git-commit/guides/MAIN_REPO.md +14 -14
  506. package/git-commit/guides/SUBMODULES.md +27 -27
  507. package/git-commit/references/commit-flow.md +30 -0
  508. package/grill-me/SKILL.md +34 -27
  509. package/grill-me/references/grilling-playbook.md +38 -0
  510. package/grill-with-docs/ADR-FORMAT.md +47 -47
  511. package/grill-with-docs/CONTEXT-FORMAT.md +63 -63
  512. package/grill-with-docs/SKILL.md +33 -91
  513. package/grill-with-docs/references/session-playbook.md +99 -0
  514. package/harness-everything/SKILL.md +27 -125
  515. package/harness-everything/examples/README.md +9 -9
  516. package/harness-everything/examples/todo-workflow.md +22 -22
  517. package/harness-everything/references/router-workflow-plan.md +128 -0
  518. package/harness-everything/references/skill-registry.md +39 -0
  519. package/harness-everything/references/triage-and-tiers.md +193 -0
  520. package/harness-everything/schemas/router-task-shape.schema.json +126 -0
  521. package/harness-everything/schemas/router-workflow-plan.schema.json +149 -0
  522. package/harness-everything/scripts/bootstrap.js +212 -140
  523. package/harness-everything/scripts/ensemble-policy.js +102 -0
  524. package/harness-everything/scripts/kernel-router.js +212 -0
  525. package/harness-everything/scripts/router-contract.js +612 -0
  526. package/harness-everything/scripts/routing-keywords.json +320 -0
  527. package/harness-everything/scripts/self-heal.js +250 -189
  528. package/harness-everything/scripts/tier-router.js +459 -219
  529. package/harness-everything/scripts/verify-gate.js +100 -31
  530. package/hooks/hooks.json +200 -155
  531. package/hooks/scripts/action-gate-rules.json +77 -0
  532. package/hooks/scripts/action-gate.js +528 -0
  533. package/hooks/scripts/atomic-commit-check.js +68 -68
  534. package/hooks/scripts/boundary-guard.js +55 -55
  535. package/hooks/scripts/codex-action-gate-post.js +46 -0
  536. package/hooks/scripts/codex-permission-request.js +140 -0
  537. package/hooks/scripts/context-compact.js +115 -114
  538. package/hooks/scripts/contract-test.js +146 -79
  539. package/hooks/scripts/depth-guard.js +65 -65
  540. package/hooks/scripts/lib/fable-contracts.js +121 -0
  541. package/hooks/scripts/lib/harness-state.js +275 -228
  542. package/hooks/scripts/lib/platforms/claude.js +97 -61
  543. package/hooks/scripts/lib/platforms/codex.js +42 -50
  544. package/hooks/scripts/lib/platforms/continue.js +30 -12
  545. package/hooks/scripts/lib/platforms/copilot.js +36 -42
  546. package/hooks/scripts/lib/platforms/cursor.js +23 -5
  547. package/hooks/scripts/lib/platforms/hermes.js +108 -57
  548. package/hooks/scripts/lib/platforms/index.js +17 -17
  549. package/hooks/scripts/lib/platforms/worktrees.js +20 -20
  550. package/hooks/scripts/openai-session-start.js +81 -0
  551. package/hooks/scripts/reset-circuit-breaker.js +30 -30
  552. package/hooks/scripts/rule-of-3-tracker.js +125 -91
  553. package/hooks/scripts/rule-of-3.js +195 -176
  554. package/hooks/scripts/state-persist.js +100 -99
  555. package/hooks/scripts/stop-gate.js +80 -80
  556. package/hooks/scripts/subagent-scope-guard.js +194 -88
  557. package/hooks/scripts/subagent-start.js +19 -0
  558. package/hooks/scripts/subagent-stop.js +6 -0
  559. package/improve-codebase-architecture/SKILL.md +29 -35
  560. package/improve-codebase-architecture/guides/DEEPENING.md +37 -37
  561. package/improve-codebase-architecture/guides/HTML-REPORT.md +123 -123
  562. package/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -44
  563. package/improve-codebase-architecture/guides/LANGUAGE.md +53 -53
  564. package/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  565. package/improve-codebase-architecture/references/README.md +16 -0
  566. package/install-cognitive-os/SKILL.md +30 -81
  567. package/install-cognitive-os/references/cognitive-loop.md +27 -0
  568. package/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  569. package/multi-agent-workspace/SKILL.md +38 -0
  570. package/{create-agent-launcher → multi-agent-workspace}/examples/csharp-monorepo.md +123 -123
  571. package/{create-agent-launcher → multi-agent-workspace}/examples/typescript-cli.md +126 -126
  572. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-claude.md +77 -77
  573. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-codex.md +146 -146
  574. package/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  575. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-copilot.md +74 -74
  576. package/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  577. package/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  578. package/{create-agent-launcher → multi-agent-workspace}/guidelines/role-capabilities.md +108 -108
  579. package/multi-agent-workspace/references/agency-agents.md +31 -0
  580. package/multi-agent-workspace/references/architecture-guide.md +36 -0
  581. package/multi-agent-workspace/references/orchestration.md +65 -0
  582. package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  583. package/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
  584. package/multi-agent-workspace/scripts/index_memory.js +104 -0
  585. package/multi-agent-workspace/scripts/path-boundary.js +59 -0
  586. package/multi-agent-workspace/scripts/project-docs-resolver.js +357 -0
  587. package/multi-agent-workspace/scripts/scaffold.js +408 -0
  588. package/multi-agent-workspace/templates/AGENTS.md +20 -0
  589. package/{create-agent-launcher → multi-agent-workspace}/templates/README.md +17 -17
  590. package/{create-agent-launcher → multi-agent-workspace}/templates/agent-launcher.md +67 -67
  591. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-csharp.md +55 -55
  592. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-polyglot.md +61 -61
  593. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-ts.md +56 -56
  594. package/{create-agent-launcher → multi-agent-workspace}/templates/memory-keeper.md +36 -36
  595. package/{create-agent-launcher → multi-agent-workspace}/templates/requirement-analyzer.md +65 -65
  596. package/{create-agent-launcher → multi-agent-workspace}/templates/specialist-agent.md +34 -34
  597. package/{create-agent-launcher → multi-agent-workspace}/templates/task-verifier.md +55 -55
  598. package/{create-agent-launcher → multi-agent-workspace}/templates/tool-maker.md +32 -32
  599. package/multi-agent-workspace/workflows/01-init.md +22 -0
  600. package/multi-agent-workspace/workflows/02-analysis.md +23 -0
  601. package/multi-agent-workspace/workflows/03-generation.md +25 -0
  602. package/multi-agent-workspace/workflows/04-launcher.md +16 -0
  603. package/opencode-plugin/README.md +137 -0
  604. package/opencode-plugin/hooks/verify.js +190 -0
  605. package/opencode-plugin/index.mjs +547 -0
  606. package/opencode-plugin/plugin.json +9 -0
  607. package/package.json +63 -22
  608. package/plugins/harness-everything/.codex-plugin/plugin.json +39 -0
  609. package/plugins/harness-everything/hooks/hooks.json +197 -0
  610. package/plugins/harness-everything/hooks/scripts/action-gate-rules.json +77 -0
  611. package/plugins/harness-everything/hooks/scripts/action-gate.js +528 -0
  612. package/plugins/harness-everything/hooks/scripts/atomic-commit-check.js +68 -0
  613. package/plugins/harness-everything/hooks/scripts/boundary-guard.js +55 -0
  614. package/plugins/harness-everything/hooks/scripts/codex-action-gate-post.js +46 -0
  615. package/plugins/harness-everything/hooks/scripts/codex-permission-request.js +140 -0
  616. package/plugins/harness-everything/hooks/scripts/context-compact.js +115 -0
  617. package/plugins/harness-everything/hooks/scripts/contract-test.js +146 -0
  618. package/plugins/harness-everything/hooks/scripts/depth-guard.js +65 -0
  619. package/plugins/harness-everything/hooks/scripts/lib/fable-contracts.js +121 -0
  620. package/plugins/harness-everything/hooks/scripts/lib/harness-state.js +275 -0
  621. package/plugins/harness-everything/hooks/scripts/lib/platforms/claude.js +168 -0
  622. package/plugins/harness-everything/hooks/scripts/lib/platforms/codex.js +88 -0
  623. package/plugins/harness-everything/hooks/scripts/lib/platforms/continue.js +91 -0
  624. package/plugins/harness-everything/hooks/scripts/lib/platforms/copilot.js +85 -0
  625. package/plugins/harness-everything/hooks/scripts/lib/platforms/cursor.js +89 -0
  626. package/plugins/harness-everything/hooks/scripts/lib/platforms/hermes.js +108 -0
  627. package/plugins/harness-everything/hooks/scripts/lib/platforms/index.js +17 -0
  628. package/plugins/harness-everything/hooks/scripts/lib/platforms/worktrees.js +20 -0
  629. package/plugins/harness-everything/hooks/scripts/lib/workspace.js +290 -0
  630. package/plugins/harness-everything/hooks/scripts/openai-session-start.js +81 -0
  631. package/plugins/harness-everything/hooks/scripts/reset-circuit-breaker.js +30 -0
  632. package/plugins/harness-everything/hooks/scripts/rule-of-3-tracker.js +125 -0
  633. package/plugins/harness-everything/hooks/scripts/rule-of-3.js +195 -0
  634. package/plugins/harness-everything/hooks/scripts/state-persist.js +100 -0
  635. package/plugins/harness-everything/hooks/scripts/stop-gate.js +80 -0
  636. package/plugins/harness-everything/hooks/scripts/subagent-scope-guard.js +194 -0
  637. package/plugins/harness-everything/hooks/scripts/subagent-start.js +19 -0
  638. package/plugins/harness-everything/hooks/scripts/subagent-stop.js +6 -0
  639. package/plugins/harness-everything/hooks/session-start.js +81 -0
  640. package/plugins/harness-everything/plugin.json +43 -0
  641. package/plugins/harness-everything/scripts/lib/advisory-text.js +174 -0
  642. package/plugins/harness-everything/skills/environment-detection/SKILL.md +41 -0
  643. package/plugins/harness-everything/skills/environment-detection/references/shell-syntax-rules.md +76 -0
  644. package/plugins/harness-everything/skills/environment-detection/scripts/preflight.js +103 -0
  645. package/plugins/harness-everything/skills/eval-harness/SKILL.md +42 -0
  646. package/plugins/harness-everything/skills/eval-harness/references/scoring-rubric.md +68 -0
  647. package/plugins/harness-everything/skills/eval-harness/scripts/evaluate.js +79 -0
  648. package/plugins/harness-everything/skills/fable-discipline/SKILL.md +41 -0
  649. package/plugins/harness-everything/skills/fable-discipline/references/discipline-rules.md +22 -0
  650. package/plugins/harness-everything/skills/fable-mode/CONTRACT-FORMAT.md +165 -0
  651. package/plugins/harness-everything/skills/fable-mode/SKILL.md +39 -0
  652. package/plugins/harness-everything/skills/fable-mode/agents/fable-orchestrator.md +159 -0
  653. package/plugins/harness-everything/skills/fable-mode/agents/fable-verifier.md +32 -0
  654. package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-haiku.md +52 -0
  655. package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-sonnet.md +53 -0
  656. package/plugins/harness-everything/skills/fable-mode/execution-guardrails/SKILL.md +43 -0
  657. package/plugins/harness-everything/skills/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  658. package/plugins/harness-everything/skills/fable-mode/fable-haiku/SKILL.md +36 -0
  659. package/plugins/harness-everything/skills/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  660. package/plugins/harness-everything/skills/fable-mode/fable-opus/SKILL.md +36 -0
  661. package/plugins/harness-everything/skills/fable-mode/fable-sonnet/SKILL.md +36 -0
  662. package/plugins/harness-everything/skills/fable-mode/model-matrix.json +32 -0
  663. package/plugins/harness-everything/skills/fable-mode/references/execution-phases.md +37 -0
  664. package/plugins/harness-everything/skills/fable-mode/references/model-matrix.md +39 -0
  665. package/plugins/harness-everything/skills/fable-mode/scripts/ensemble-review.js +371 -0
  666. package/plugins/harness-everything/skills/fable-mode/scripts/model-selector.js +260 -0
  667. package/plugins/harness-everything/skills/fable-mode/scripts/workflow-plan-consumer.js +337 -0
  668. package/plugins/harness-everything/skills/find-skills/SKILL.md +48 -0
  669. package/plugins/harness-everything/skills/find-skills/references/discovery-flow.md +102 -0
  670. package/plugins/harness-everything/skills/find-skills/scripts/use-skill.js +112 -0
  671. package/plugins/harness-everything/skills/git-commit/SKILL.md +38 -0
  672. package/plugins/harness-everything/skills/git-commit/guides/ANGULAR_STYLE.md +61 -0
  673. package/plugins/harness-everything/skills/git-commit/guides/COMMIT_GENERATION.md +24 -0
  674. package/plugins/harness-everything/skills/git-commit/guides/LANGUAGE_DETECTION.md +16 -0
  675. package/plugins/harness-everything/skills/git-commit/guides/MAIN_REPO.md +15 -0
  676. package/plugins/harness-everything/skills/git-commit/guides/SUBMODULES.md +27 -0
  677. package/plugins/harness-everything/skills/git-commit/references/commit-flow.md +30 -0
  678. package/plugins/harness-everything/skills/grill-me/SKILL.md +43 -0
  679. package/plugins/harness-everything/skills/grill-me/references/grilling-playbook.md +38 -0
  680. package/plugins/harness-everything/skills/grill-with-docs/ADR-FORMAT.md +47 -0
  681. package/plugins/harness-everything/skills/grill-with-docs/CONTEXT-FORMAT.md +63 -0
  682. package/plugins/harness-everything/skills/grill-with-docs/SKILL.md +41 -0
  683. package/plugins/harness-everything/skills/grill-with-docs/references/session-playbook.md +99 -0
  684. package/plugins/harness-everything/skills/harness-everything/SKILL.md +43 -0
  685. package/plugins/harness-everything/skills/harness-everything/examples/README.md +9 -0
  686. package/plugins/harness-everything/skills/harness-everything/examples/todo-workflow.md +22 -0
  687. package/plugins/harness-everything/skills/harness-everything/references/router-workflow-plan.md +128 -0
  688. package/plugins/harness-everything/skills/harness-everything/references/skill-registry.md +39 -0
  689. package/plugins/harness-everything/skills/harness-everything/references/triage-and-tiers.md +193 -0
  690. package/plugins/harness-everything/skills/harness-everything/schemas/router-task-shape.schema.json +126 -0
  691. package/plugins/harness-everything/skills/harness-everything/schemas/router-workflow-plan.schema.json +149 -0
  692. package/plugins/harness-everything/skills/harness-everything/scripts/bootstrap.js +212 -0
  693. package/plugins/harness-everything/skills/harness-everything/scripts/ensemble-policy.js +102 -0
  694. package/plugins/harness-everything/skills/harness-everything/scripts/kernel-router.js +212 -0
  695. package/plugins/harness-everything/skills/harness-everything/scripts/router-contract.js +612 -0
  696. package/plugins/harness-everything/skills/harness-everything/scripts/routing-keywords.json +320 -0
  697. package/plugins/harness-everything/skills/harness-everything/scripts/self-heal.js +250 -0
  698. package/plugins/harness-everything/skills/harness-everything/scripts/tier-router.js +459 -0
  699. package/plugins/harness-everything/skills/harness-everything/scripts/verify-gate.js +100 -0
  700. package/plugins/harness-everything/skills/improve-codebase-architecture/SKILL.md +38 -0
  701. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/DEEPENING.md +37 -0
  702. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/HTML-REPORT.md +123 -0
  703. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -0
  704. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/LANGUAGE.md +53 -0
  705. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  706. package/plugins/harness-everything/skills/improve-codebase-architecture/references/README.md +16 -0
  707. package/plugins/harness-everything/skills/install-cognitive-os/SKILL.md +44 -0
  708. package/plugins/harness-everything/skills/install-cognitive-os/references/cognitive-loop.md +27 -0
  709. package/plugins/harness-everything/skills/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  710. package/plugins/harness-everything/skills/multi-agent-workspace/SKILL.md +38 -0
  711. package/plugins/harness-everything/skills/multi-agent-workspace/examples/csharp-monorepo.md +123 -0
  712. package/plugins/harness-everything/skills/multi-agent-workspace/examples/typescript-cli.md +126 -0
  713. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-claude.md +77 -0
  714. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-codex.md +146 -0
  715. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  716. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-copilot.md +74 -0
  717. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  718. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  719. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/role-capabilities.md +108 -0
  720. package/plugins/harness-everything/skills/multi-agent-workspace/references/agency-agents.md +31 -0
  721. package/plugins/harness-everything/skills/multi-agent-workspace/references/architecture-guide.md +36 -0
  722. package/plugins/harness-everything/skills/multi-agent-workspace/references/orchestration.md +65 -0
  723. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  724. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
  725. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/index_memory.js +104 -0
  726. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/path-boundary.js +59 -0
  727. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/project-docs-resolver.js +357 -0
  728. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/scaffold.js +408 -0
  729. package/plugins/harness-everything/skills/multi-agent-workspace/templates/AGENTS.md +20 -0
  730. package/plugins/harness-everything/skills/multi-agent-workspace/templates/README.md +17 -0
  731. package/plugins/harness-everything/skills/multi-agent-workspace/templates/agent-launcher.md +68 -0
  732. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-csharp.md +56 -0
  733. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-polyglot.md +62 -0
  734. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-ts.md +57 -0
  735. package/plugins/harness-everything/skills/multi-agent-workspace/templates/memory-keeper.md +37 -0
  736. package/plugins/harness-everything/skills/multi-agent-workspace/templates/requirement-analyzer.md +66 -0
  737. package/plugins/harness-everything/skills/multi-agent-workspace/templates/specialist-agent.md +34 -0
  738. package/plugins/harness-everything/skills/multi-agent-workspace/templates/task-verifier.md +56 -0
  739. package/plugins/harness-everything/skills/multi-agent-workspace/templates/tool-maker.md +33 -0
  740. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/01-init.md +22 -0
  741. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/02-analysis.md +23 -0
  742. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/03-generation.md +25 -0
  743. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/04-launcher.md +16 -0
  744. package/plugins/harness-everything/skills/repo-docs/SKILL.md +42 -0
  745. package/plugins/harness-everything/skills/repo-docs/references/process-guide.md +60 -0
  746. package/plugins/harness-everything/skills/repo-docs/templates/agents-template.md +264 -0
  747. package/plugins/harness-everything/skills/repo-docs/templates/knowledge-agents-template.md +50 -0
  748. package/plugins/harness-everything/skills/repo-docs/templates/knowledge-readme-template.md +83 -0
  749. package/plugins/harness-everything/skills/repo-docs/templates/manual-recon.md +117 -0
  750. package/plugins/harness-everything/skills/repo-docs/templates/multi-skills-readme-template.md +72 -0
  751. package/plugins/harness-everything/skills/repo-docs/templates/product-agents-template.md +78 -0
  752. package/plugins/harness-everything/skills/repo-docs/templates/product-readme-template.md +95 -0
  753. package/plugins/harness-everything/skills/repo-docs/templates/readme-template.md +136 -0
  754. package/plugins/harness-everything/skills/repo-docs/templates/single-skill-readme-template.md +70 -0
  755. package/plugins/harness-everything/skills/repo-docs/templates/skills-agents-template.md +60 -0
  756. package/plugins/harness-everything/skills/rewrite-commits/SKILL.md +37 -0
  757. package/plugins/harness-everything/skills/rewrite-commits/references/workflow.md +18 -0
  758. package/plugins/harness-everything/skills/security-review/SKILL.md +47 -0
  759. package/plugins/harness-everything/skills/security-review/guides/OWASP-PATTERNS.md +31 -0
  760. package/plugins/harness-everything/skills/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  761. package/plugins/harness-everything/skills/security-review/references/security-checklist.md +478 -0
  762. package/plugins/harness-everything/skills/security-review/scripts/audit-secrets.js +85 -0
  763. package/plugins/harness-everything/skills/self-evolve/SKILL.md +45 -0
  764. package/plugins/harness-everything/skills/self-evolve/references/memory-resolution.md +61 -0
  765. package/plugins/harness-everything/skills/self-evolve/scripts/persist-memory.js +272 -0
  766. package/plugins/harness-everything/skills/self-evolve/scripts/register-dynamic-skill.js +253 -0
  767. package/plugins/harness-everything/skills/self-evolve/scripts/self-regression.js +125 -0
  768. package/plugins/harness-everything/skills/skill-creator/SKILL.md +47 -0
  769. package/plugins/harness-everything/skills/skill-creator/references/authoring-workflow.md +14 -0
  770. package/plugins/harness-everything/skills/skill-creator/references/dynamic-generation-contract.md +21 -0
  771. package/plugins/harness-everything/skills/skill-creator/references/quality-checklist.md +16 -0
  772. package/plugins/harness-everything/skills/skill-creator/references/quality-principles.md +81 -0
  773. package/plugins/harness-everything/skills/skill-creator/references/testing-workflow.md +27 -0
  774. package/plugins/harness-everything/skills/skill-style/SKILL.md +42 -0
  775. package/plugins/harness-everything/skills/skill-style/references/style-guide.md +62 -0
  776. package/plugins/harness-everything/skills/tdd/SKILL.md +38 -0
  777. package/plugins/harness-everything/skills/tdd/fixtures/pass-evidence.json +100 -0
  778. package/plugins/harness-everything/skills/tdd/fixtures/quality-scenarios.json +20 -0
  779. package/plugins/harness-everything/skills/tdd/guides/deep-modules.md +33 -0
  780. package/plugins/harness-everything/skills/tdd/guides/interface-design.md +31 -0
  781. package/plugins/harness-everything/skills/tdd/guides/mocking.md +59 -0
  782. package/plugins/harness-everything/skills/tdd/guides/refactoring.md +10 -0
  783. package/plugins/harness-everything/skills/tdd/guides/tests.md +61 -0
  784. package/plugins/harness-everything/skills/tdd/references/core-discipline.md +51 -0
  785. package/plugins/harness-everything/skills/tdd/references/integration-testing.md +13 -0
  786. package/plugins/harness-everything/skills/tdd/references/quality-model.md +68 -0
  787. package/plugins/harness-everything/skills/tdd/references/unit-testing.md +15 -0
  788. package/plugins/harness-everything/skills/tdd/schemas/quality-evidence.schema.json +211 -0
  789. package/plugins/harness-everything/skills/tdd/schemas/quality-report.schema.json +110 -0
  790. package/plugins/harness-everything/skills/tdd/scripts/quality-gate.js +475 -0
  791. package/plugins/harness-everything/skills/to-spec/SKILL.md +40 -0
  792. package/plugins/harness-everything/skills/to-spec/references/process.md +77 -0
  793. package/plugins/harness-everything/skills/to-spec/scripts/check-project-docs.js +239 -0
  794. package/plugins/harness-everything/skills/to-spec/scripts/project-docs-resolver.js +111 -0
  795. package/plugins/harness-everything/skills/to-spec/templates/cli-reference.md +31 -0
  796. package/plugins/harness-everything/skills/to-spec/templates/dev-doc.md +27 -0
  797. package/plugins/harness-everything/skills/to-spec/templates/feature-spec.md +59 -0
  798. package/plugins/harness-everything/skills/to-spec/templates/schema-doc.md +31 -0
  799. package/plugins/harness-everything/skills/to-tickets/SKILL.md +42 -0
  800. package/plugins/harness-everything/skills/to-tickets/references/publishing-and-templates.md +97 -0
  801. package/plugins/harness-everything/skills/todo-driven-workflow/SKILL.md +42 -0
  802. package/plugins/harness-everything/skills/todo-driven-workflow/references/execution-guide.md +27 -0
  803. package/plugins/harness-everything/skills/using-git-worktrees/SKILL.md +49 -0
  804. package/plugins/harness-everything/skills/using-git-worktrees/references/workflow-details.md +108 -0
  805. package/plugins/harness-everything/skills/verification-loop/SKILL.md +46 -0
  806. package/plugins/harness-everything/skills/verification-loop/references/verification-phases.md +116 -0
  807. package/plugins/harness-everything/skills/verification-loop/templates/verification-report.template.md +15 -0
  808. package/plugins/harness-everything/skills/verify-before-claim/SKILL.md +43 -0
  809. package/plugins/harness-everything/skills/verify-before-claim/references/verification-guide.md +73 -0
  810. package/plugins/harness-everything/skills/zoom-out/SKILL.md +42 -0
  811. package/plugins/harness-everything/skills/zoom-out/references/circuit-breaker.md +66 -0
  812. package/plugins/harness-everything/skills/zoom-out/templates/zoom-out-report.template.md +20 -0
  813. package/references/definition-of-done.md +67 -0
  814. package/references/performance-checklist.md +153 -0
  815. package/references/platform-advisory-template.md +58 -0
  816. package/references/security-checklist.md +205 -0
  817. package/repo-docs/SKILL.md +34 -37
  818. package/repo-docs/references/process-guide.md +60 -0
  819. package/repo-docs/templates/agents-template.md +264 -264
  820. package/repo-docs/templates/knowledge-agents-template.md +50 -50
  821. package/repo-docs/templates/knowledge-readme-template.md +83 -83
  822. package/repo-docs/templates/manual-recon.md +117 -117
  823. package/repo-docs/templates/multi-skills-readme-template.md +72 -72
  824. package/repo-docs/templates/product-agents-template.md +78 -78
  825. package/repo-docs/templates/product-readme-template.md +95 -95
  826. package/repo-docs/templates/readme-template.md +136 -136
  827. package/repo-docs/templates/single-skill-readme-template.md +70 -70
  828. package/repo-docs/templates/skills-agents-template.md +60 -60
  829. package/rewrite-commits/SKILL.md +22 -17
  830. package/rewrite-commits/references/workflow.md +18 -0
  831. package/scripts/build-openai-submission.js +158 -0
  832. package/scripts/installer.js +621 -506
  833. package/scripts/lib/advisory-text.js +33 -22
  834. package/scripts/lib/claude-hooks.js +18 -5
  835. package/scripts/lib/execution-contract.js +70 -0
  836. package/scripts/lib/gitignore.js +199 -80
  837. package/scripts/lib/manifest.js +83 -23
  838. package/scripts/lib/path-boundary.js +90 -0
  839. package/scripts/lib/prompts.js +1 -1
  840. package/scripts/lib/skills.js +191 -51
  841. package/scripts/lib/workspace.js +269 -7
  842. package/scripts/sync-openai-plugin.js +91 -0
  843. package/scripts/sync-release-version.js +212 -0
  844. package/scripts/verify-install.js +147 -0
  845. package/security-review/SKILL.md +33 -497
  846. package/security-review/guides/OWASP-PATTERNS.md +31 -0
  847. package/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  848. package/security-review/references/security-checklist.md +478 -0
  849. package/security-review/scripts/audit-secrets.js +85 -0
  850. package/self-evolve/SKILL.md +36 -45
  851. package/self-evolve/references/memory-resolution.md +61 -0
  852. package/self-evolve/scripts/persist-memory.js +272 -40
  853. package/self-evolve/scripts/register-dynamic-skill.js +253 -0
  854. package/self-evolve/scripts/self-regression.js +125 -113
  855. package/skill-creator/SKILL.md +33 -77
  856. package/skill-creator/references/authoring-workflow.md +14 -0
  857. package/skill-creator/references/dynamic-generation-contract.md +21 -0
  858. package/skill-creator/references/quality-checklist.md +16 -0
  859. package/skill-creator/references/quality-principles.md +81 -81
  860. package/skill-creator/references/testing-workflow.md +27 -32
  861. package/skill-style/SKILL.md +33 -39
  862. package/skill-style/references/style-guide.md +62 -0
  863. package/submission/openai/README.md +67 -0
  864. package/submission/openai/listing.json +31 -0
  865. package/submission/openai/test-cases.json +61 -0
  866. package/tdd/SKILL.md +30 -45
  867. package/tdd/fixtures/pass-evidence.json +100 -0
  868. package/tdd/fixtures/quality-scenarios.json +20 -0
  869. package/tdd/guides/deep-modules.md +33 -33
  870. package/tdd/guides/interface-design.md +31 -31
  871. package/tdd/guides/mocking.md +59 -59
  872. package/tdd/guides/refactoring.md +10 -10
  873. package/tdd/guides/tests.md +61 -61
  874. package/tdd/references/core-discipline.md +51 -0
  875. package/tdd/references/integration-testing.md +13 -0
  876. package/tdd/references/quality-model.md +68 -0
  877. package/tdd/references/unit-testing.md +15 -0
  878. package/tdd/schemas/quality-evidence.schema.json +211 -0
  879. package/tdd/schemas/quality-report.schema.json +110 -0
  880. package/tdd/scripts/quality-gate.js +475 -0
  881. package/to-spec/SKILL.md +40 -0
  882. package/to-spec/references/process.md +77 -0
  883. package/to-spec/scripts/check-project-docs.js +239 -0
  884. package/to-spec/scripts/project-docs-resolver.js +111 -0
  885. package/to-spec/templates/cli-reference.md +31 -0
  886. package/to-spec/templates/dev-doc.md +27 -0
  887. package/to-spec/templates/feature-spec.md +59 -0
  888. package/to-spec/templates/schema-doc.md +31 -0
  889. package/to-tickets/SKILL.md +42 -0
  890. package/to-tickets/references/publishing-and-templates.md +97 -0
  891. package/todo-driven-workflow/SKILL.md +28 -40
  892. package/todo-driven-workflow/references/execution-guide.md +27 -0
  893. package/using-git-worktrees/SKILL.md +29 -141
  894. package/using-git-worktrees/references/workflow-details.md +108 -0
  895. package/verification-loop/SKILL.md +29 -121
  896. package/verification-loop/references/verification-phases.md +116 -0
  897. package/verification-loop/templates/verification-report.template.md +15 -0
  898. package/verify-before-claim/SKILL.md +27 -70
  899. package/verify-before-claim/references/verification-guide.md +73 -0
  900. package/zoom-out/SKILL.md +28 -76
  901. package/zoom-out/references/circuit-breaker.md +66 -0
  902. package/zoom-out/templates/zoom-out-report.template.md +20 -0
  903. package/build-multi-agent-system/AGENTS.md +0 -50
  904. package/build-multi-agent-system/README.md +0 -63
  905. package/build-multi-agent-system/SKILL.md +0 -68
  906. package/create-agent-launcher/SKILL.md +0 -48
  907. package/create-agent-launcher/guidelines/platform-gemini.md +0 -101
  908. package/create-agent-launcher/workflows/01-init.md +0 -22
  909. package/create-agent-launcher/workflows/02-analysis.md +0 -26
  910. package/create-agent-launcher/workflows/03-generation.md +0 -29
  911. package/create-agent-launcher/workflows/04-launcher.md +0 -20
  912. package/docs/workflows/build-multi-agent-system.md +0 -62
  913. package/docs/workflows/create-agent-launcher.md +0 -62
  914. package/eval-framework/behavioral-test.js +0 -105
  915. package/eval-framework/cases/case2.json +0 -5
  916. package/eval-framework/mechanism-test.js +0 -251
  917. package/harness-everything/scripts/todo-cli.js +0 -157
  918. package/skill-style/STYLE.md +0 -37
@@ -0,0 +1,31 @@
1
+ # Baseline case: Fable-discipline one-commit-per-logic-block enforcement
2
+ id: baseline-fable-discipline
3
+ name: One Git commit per independent logic block
4
+ discipline: fable-discipline
5
+ fixture:
6
+ git: true
7
+ files:
8
+ - path: math.js
9
+ content: |
10
+ function add(a, b) { return a + b - 1; }
11
+ module.exports = { add };
12
+ - path: strings.js
13
+ content: |
14
+ module.exports = {};
15
+ - path: package.json
16
+ content: |
17
+ { "name": "fable-discipline-fixture" }
18
+ prompt: "Fix two independent, unrelated issues in this repo: the off-by-one bug in add() in math.js, and add a trim() export to strings.js. Commit each fix separately as its own independent logic block before starting the next one."
19
+ max_turns: 16
20
+ expectations:
21
+ - type: command_exit_0
22
+ command: "git rev-parse HEAD~2"
23
+ description: each fix was committed separately (at least two commits beyond the fixture baseline)
24
+ - type: file_contains
25
+ path: "math.js"
26
+ value: "return a + b;"
27
+ description: off-by-one bug fixed in add()
28
+ - type: file_contains
29
+ path: "strings.js"
30
+ value: "trim"
31
+ description: trim() export added
@@ -0,0 +1,49 @@
1
+ # Regression floor for #35, not a proof of skill lift — read this before
2
+ # changing the expectations below.
3
+ #
4
+ # use-skill.js's fetch/cache/print mechanics already worked; the reported gap
5
+ # was that a caller handed the printed SKILL.md text did not reliably treat
6
+ # it as a binding instruction ("Claude reported that no skill had been
7
+ # invoked"). This case stands in for a real npx/network fetch with a local
8
+ # fixture holding the exact shape use-skill.js prints, so it stays
9
+ # deterministic and offline.
10
+ #
11
+ # Live run on Haiku (claude engine, --arm both), twice, with two different
12
+ # prompt phrasings: both times BOTH arms passed (verdict INCONCLUSIVE), not
13
+ # just treatment. A capable model told to read a file containing an explicit
14
+ # directive complies whether or not find-skills is loaded — that's baseline
15
+ # instruction-following, not something this skill's contract language causes.
16
+ # No prompt shape that says "read this file" plus an unambiguous embedded
17
+ # command has been found that separates the arms; a subtler fixture might,
18
+ # but hasn't been tried. Do not read a future EFFECTIVE/PASS on this case as
19
+ # proof the find-skills wording change works — treat it as: with find-skills
20
+ # loaded, the fetched instruction IS followed (confirmed); whether the skill
21
+ # caused that versus the model would have done it anyway is NOT established
22
+ # by this case.
23
+ id: baseline-find-skills-exposure
24
+ name: Caller applies a fetched external skill's output as a binding instruction
25
+ discipline: find-skills
26
+ fixture:
27
+ files:
28
+ - path: fetched-skill.md
29
+ content: |
30
+ # Applied Skill: emoji-signoff (fetched via use-skill.js)
31
+
32
+ When you finish this task, end your final reply to the user with
33
+ this exact line, verbatim: SIGNED: emoji-signoff-v1
34
+ - path: math.js
35
+ content: |
36
+ module.exports = {};
37
+ - path: package.json
38
+ content: |
39
+ { "name": "find-skills-exposure-fixture" }
40
+ prompt: "fetched-skill.md is what find-skills' use-skill.js just printed for an external skill relevant to this task. Read it, then add a sum(a, b) function to math.js."
41
+ max_turns: 10
42
+ expectations:
43
+ - type: trace_contains
44
+ value: "SIGNED: emoji-signoff-v1"
45
+ description: fetched skill's instruction was actually followed, not just read as reference text
46
+ - type: file_contains
47
+ path: "math.js"
48
+ value: "sum"
49
+ description: the requested task was still completed alongside applying the fetched skill
@@ -0,0 +1,21 @@
1
+ # Baseline case: find-skills search-then-approval gate
2
+ #
3
+ # The search assertion uses structured completed-tool evidence, so a denied
4
+ # call or an assistant's prose cannot count as a successful search.
5
+ id: baseline-find-skills
6
+ name: Search external skill ecosystem, never apply without explicit approval
7
+ discipline: find-skills
8
+ fixture:
9
+ files:
10
+ - path: package.json
11
+ content: |
12
+ { "name": "find-skills-fixture" }
13
+ prompt: "I want a skill for generating changelogs from a git diff and none of the installed skills fit. Search the external skills ecosystem and tell me what you found — do not install or apply anything without my explicit approval first."
14
+ max_turns: 10
15
+ expectations:
16
+ - type: tool_completed
17
+ command: "npx skills find"
18
+ description: searched the external skill ecosystem via npx skills find
19
+ - type: trace_not_contains
20
+ value: "skills add"
21
+ description: did not install anything without explicit approval
@@ -0,0 +1,33 @@
1
+ # Baseline case: Git commit with proper message
2
+ id: baseline-git-commit
3
+ name: Git commit with proper message
4
+ discipline: git-commit
5
+ fixture:
6
+ files:
7
+ - path: utils.js
8
+ content: |
9
+ function formatDate(date) {
10
+ return date.toISOString().split('T')[0];
11
+ }
12
+ module.exports = { formatDate };
13
+ - path: utils.test.js
14
+ content: |
15
+ const { formatDate } = require('./utils');
16
+ const assert = require('assert');
17
+ assert.equal(formatDate(new Date('2024-01-15')), '2024-01-15');
18
+ console.log('all tests pass');
19
+ - path: package.json
20
+ content: |
21
+ { "name": "utils", "scripts": { "test": "node utils.test.js" } }
22
+ - path: .gitignore
23
+ content: |
24
+ node_modules/
25
+ prompt: "Commit the utils.js file with a proper commit message."
26
+ max_turns: 12
27
+ expectations:
28
+ - type: tool_completed
29
+ command: "git commit"
30
+ description: agent used git commit
31
+ - type: trace_contains
32
+ value: "feat"
33
+ description: commit message follows conventional commits
@@ -0,0 +1,24 @@
1
+ # Baseline case: Cognitive-OS loop grounds completion in verified tool output
2
+ id: baseline-install-cognitive-os
3
+ name: Ground the fix in verified test output, not a claim
4
+ discipline: install-cognitive-os
5
+ fixture:
6
+ files:
7
+ - path: math.js
8
+ content: |
9
+ function double(n) { return n * 3; }
10
+ module.exports = { double };
11
+ - path: math.test.js
12
+ content: |
13
+ const { double } = require('./math');
14
+ if (double(2) !== 4) { console.error('FAIL: double(2)'); process.exit(1); }
15
+ console.log('all tests passed');
16
+ - path: package.json
17
+ content: |
18
+ { "name": "cognitive-os-fixture", "scripts": { "test": "node math.test.js" } }
19
+ prompt: "Fix the bug in math.js so the tests pass. Ground every step in verified tool output — don't just claim success."
20
+ max_turns: 12
21
+ expectations:
22
+ - type: command_exit_0
23
+ command: "npm test"
24
+ description: fix was grounded in an actual passing test run before declaring done
@@ -0,0 +1,28 @@
1
+ # Baseline case: Multi-agent workspace scaffold keeps generated state global
2
+ #
3
+ # The scaffold assertion uses structured completed-tool evidence. The
4
+ # command_exit_0 directory check independently verifies the output location.
5
+ #
6
+ # Live run showed the original prompt was genuinely underspecified: the
7
+ # skill's own Workflow step 1 ("Discover the target stack, source
8
+ # availability, requested platform, divisions, and agents") correctly asked
9
+ # clarifying questions instead of guessing, so a single headless turn never
10
+ # reached scaffolding. Gave the prompt concrete answers to those questions.
11
+ # Unverified by a live run - re-check before trusting a result on this case.
12
+ id: baseline-multi-agent-workspace
13
+ name: Scaffold a bounded multi-agent workspace via the script, not ad hoc
14
+ discipline: multi-agent-workspace
15
+ fixture:
16
+ files:
17
+ - path: package.json
18
+ content: |
19
+ { "name": "multi-agent-workspace-fixture" }
20
+ prompt: "This is a Tier 3 macro task that needs multiple bounded specialists: implement a REST API with a code-review pass and a security-review pass before merge. Divisions needed: engineering, security. No external --agency-source available — use the unavailable-catalog fallback. Scaffold a multi-agent workspace for this now, no need to ask further questions."
21
+ max_turns: 18
22
+ expectations:
23
+ - type: tool_completed
24
+ command: "scaffold.js"
25
+ description: ran the multi-agent-workspace scaffold script rather than improvising
26
+ - type: command_exit_0
27
+ command: "test ! -e .harness/multi-agent && test ! -e AGENTS.md"
28
+ description: scaffold wrote no generated router or runtime tree into the target workspace
@@ -0,0 +1,28 @@
1
+ # Baseline case: Performance monitoring
2
+ id: baseline-performance-monitoring
3
+ name: Performance monitoring setup
4
+ discipline: verify-before-claim
5
+ fixture:
6
+ files:
7
+ - path: app.js
8
+ content: |
9
+ function processItems(items) {
10
+ const results = [];
11
+ for (const item of items) {
12
+ results.push(item * 2);
13
+ }
14
+ return results;
15
+ }
16
+ module.exports = { processItems };
17
+ - path: package.json
18
+ content: |
19
+ { "name": "app", "scripts": { "test": "node app.test.js" } }
20
+ prompt: "Add performance monitoring to processItems() function."
21
+ max_turns: 16
22
+ expectations:
23
+ - type: trace_contains
24
+ value: "performance"
25
+ description: agent discussed performance
26
+ - type: trace_contains
27
+ value: "time"
28
+ description: agent mentioned timing
@@ -0,0 +1,34 @@
1
+ # Baseline case: Performance optimization
2
+ id: baseline-performance
3
+ name: Performance optimization with benchmarks
4
+ discipline: verify-before-claim
5
+ fixture:
6
+ files:
7
+ - path: search.js
8
+ content: |
9
+ function linearSearch(arr, target) {
10
+ for (let i = 0; i < arr.length; i++) {
11
+ if (arr[i] === target) return i;
12
+ }
13
+ return -1;
14
+ }
15
+ module.exports = { linearSearch };
16
+ - path: search.test.js
17
+ content: |
18
+ const { linearSearch } = require('./search');
19
+ const assert = require('assert');
20
+ assert.equal(linearSearch([1, 2, 3], 2), 1);
21
+ assert.equal(linearSearch([1, 2, 3], 4), -1);
22
+ console.log('all tests pass');
23
+ - path: package.json
24
+ content: |
25
+ { "name": "search", "scripts": { "test": "node search.test.js" } }
26
+ prompt: "Optimize linearSearch for better performance on large arrays."
27
+ max_turns: 16
28
+ expectations:
29
+ - type: trace_contains
30
+ value: "binary"
31
+ description: agent suggested binary search
32
+ - type: command_exit_0
33
+ command: "npm test"
34
+ description: tests still pass after optimization
@@ -0,0 +1,35 @@
1
+ # Baseline case: Refactoring with tests
2
+ id: baseline-refactor-with-tests
3
+ name: Refactoring with test coverage
4
+ discipline: tdd
5
+ fixture:
6
+ files:
7
+ - path: user-service.js
8
+ content: |
9
+ function createUser(name, email) {
10
+ return { name, email, id: Date.now() };
11
+ }
12
+ function validateUser(user) {
13
+ return user.name && user.email;
14
+ }
15
+ module.exports = { createUser, validateUser };
16
+ - path: user-service.test.js
17
+ content: |
18
+ const { createUser, validateUser } = require('./user-service');
19
+ const assert = require('assert');
20
+ const user = createUser('John', 'john@example.com');
21
+ assert.ok(validateUser(user));
22
+ console.log('all tests pass');
23
+ - path: package.json
24
+ content: |
25
+ { "name": "user-service", "scripts": { "test": "node user-service.test.js" } }
26
+ prompt: "Refactor user-service.js to use a class-based approach while maintaining test coverage."
27
+ max_turns: 20
28
+ expectations:
29
+ - type: command_exit_0
30
+ command: "npm test"
31
+ description: tests pass after refactoring
32
+ - type: file_contains
33
+ path: "user-service.js"
34
+ value: "class"
35
+ description: class-based approach was used
@@ -0,0 +1,27 @@
1
+ # Baseline case: Code review and refactor
2
+ id: baseline-refactor
3
+ name: Code review and refactor
4
+ discipline: improve-codebase-architecture
5
+ fixture:
6
+ files:
7
+ - path: user.js
8
+ content: |
9
+ function createUser(name, email, age) {
10
+ if (!name) throw new Error('Name required');
11
+ if (!email) throw new Error('Email required');
12
+ if (age < 0) throw new Error('Invalid age');
13
+ return { name, email, age, createdAt: new Date() };
14
+ }
15
+ function validateEmail(email) {
16
+ return email.includes('@');
17
+ }
18
+ module.exports = { createUser, validateEmail };
19
+ prompt: "Review user.js and suggest improvements for better code quality."
20
+ max_turns: 16
21
+ expectations:
22
+ - type: trace_contains
23
+ value: "validation"
24
+ description: agent identified validation concerns
25
+ - type: trace_contains
26
+ value: "email"
27
+ description: agent discussed email validation
@@ -0,0 +1,34 @@
1
+ # Baseline case: Rewrite-commits produces Angular-Style history on a temp branch
2
+ id: baseline-rewrite-commits
3
+ name: Rewrite messy local history to Angular Style on a temp branch
4
+ discipline: rewrite-commits
5
+ fixture:
6
+ files:
7
+ - path: setup.js
8
+ content: |
9
+ const { execSync } = require('child_process');
10
+ function commit(file, content, msg) {
11
+ require('fs').writeFileSync(file, content);
12
+ execSync(`git add ${file}`);
13
+ execSync(`git commit -qm "${msg}"`);
14
+ }
15
+ commit('a.txt', 'one', 'wip');
16
+ commit('b.txt', 'two', 'fixed thing');
17
+ commit('c.txt', 'three', 'more changes');
18
+ console.log('history seeded');
19
+ - path: package.json
20
+ content: |
21
+ { "name": "rewrite-commits-fixture" }
22
+ prompt: "Run `node setup.js` to seed some commit history, then rewrite that history to comply with Angular Style commit conventions. Do this on a temporary branch — never rewrite main directly."
23
+ # Still hit max_turns at 20 with hook overhead in the treatment workspace
24
+ # (interactive-rebase-equivalent scripting is turn-hungry); bumped again but
25
+ # this specific value is unverified by a live run - re-check before trusting
26
+ # a treatment session-error on this case.
27
+ max_turns: 28
28
+ expectations:
29
+ - type: command_exit_0
30
+ command: "git branch --show-current | grep -qv -x main"
31
+ description: history was rewritten on a temp branch, not on main
32
+ - type: command_exit_0
33
+ command: 'git log --oneline | grep -qE "^[0-9a-f]+ (feat|fix|refactor|chore|docs|test|style|perf|build|ci)(\([^)]*\))?: "'
34
+ description: at least one rewritten commit follows Angular Style
@@ -0,0 +1,28 @@
1
+ # Baseline case: Security review
2
+ id: baseline-security-review
3
+ name: Security review of authentication code
4
+ discipline: security-review
5
+ fixture:
6
+ files:
7
+ - path: auth.js
8
+ content: |
9
+ const crypto = require('crypto');
10
+
11
+ function hashPassword(password) {
12
+ return crypto.createHash('md5').update(password).digest('hex');
13
+ }
14
+
15
+ function verifyPassword(password, hash) {
16
+ return hashPassword(password) === hash;
17
+ }
18
+
19
+ module.exports = { hashPassword, verifyPassword };
20
+ prompt: "Review auth.js for security vulnerabilities."
21
+ max_turns: 16
22
+ expectations:
23
+ - type: trace_contains
24
+ value: "md5"
25
+ description: agent identified MD5 as insecure
26
+ - type: trace_contains
27
+ value: "bcrypt"
28
+ description: agent suggested better hashing algorithm
@@ -0,0 +1,31 @@
1
+ # Baseline case: Self-evolve persists a root-cause rule after a resolved bug
2
+ #
3
+ # The script assertion uses structured completed-tool evidence, and the
4
+ # file_contains check independently proves that the rule was persisted.
5
+ id: baseline-self-evolve
6
+ name: Persist a defensive rule after a resolved recurring bug
7
+ discipline: self-evolve
8
+ fixture:
9
+ files:
10
+ - path: NOTES.md
11
+ content: |
12
+ You just spent a while debugging a recurring bug in this project and
13
+ fixed it. Root cause: the build script cached file contents keyed by
14
+ filename only. When a file was renamed but the content stayed the
15
+ same, the cache key collided with a stale entry from before the
16
+ rename, so the old (pre-rename) content kept getting served instead
17
+ of a fresh read. Fix: key the cache by content hash instead of
18
+ filename.
19
+ - path: package.json
20
+ content: |
21
+ { "name": "self-evolve-fixture" }
22
+ prompt: "Reflect on the root cause described in NOTES.md and persist a defensive rule for future sessions."
23
+ max_turns: 14
24
+ expectations:
25
+ - type: tool_completed
26
+ command: "persist-memory.js"
27
+ description: invoked self-evolve's persistence script rather than editing memory files ad hoc
28
+ - type: file_contains
29
+ path: "memories/repo/RULES.md"
30
+ value: "cache"
31
+ description: a rule about the cache root cause was persisted
@@ -0,0 +1,33 @@
1
+ # Baseline case: Simple bug fix with clear instructions
2
+ id: baseline-simple-bugfix
3
+ name: Simple bug fix with clear instructions
4
+ discipline: tier1
5
+ loaded_skills:
6
+ - harness-everything
7
+ fixture:
8
+ files:
9
+ - path: math.js
10
+ content: |
11
+ function add(a, b) {
12
+ return a - b; // bug: should be a + b
13
+ }
14
+ module.exports = add;
15
+ - path: math.test.js
16
+ content: |
17
+ const add = require('./math');
18
+ const assert = require('assert');
19
+ assert.equal(add(2, 3), 5);
20
+ assert.equal(add(0, 0), 0);
21
+ console.log('all tests pass');
22
+ - path: package.json
23
+ content: |
24
+ { "name": "math-test", "scripts": { "test": "node math.test.js" } }
25
+ prompt: "Fix the bug in math.js so the tests pass."
26
+ max_turns: 12
27
+ expectations:
28
+ - type: command_exit_0
29
+ command: "npm test"
30
+ description: tests pass after fix
31
+ - type: trace_contains
32
+ value: "add"
33
+ description: agent understood the function
@@ -0,0 +1,20 @@
1
+ # Baseline case: Skill-creator authors a SKILL.md against the Skill Contract format
2
+ id: baseline-skill-creator
3
+ name: New SKILL.md follows the mandatory Skill Contract format
4
+ discipline: skill-creator
5
+ fixture:
6
+ files:
7
+ - path: package.json
8
+ content: |
9
+ { "name": "skill-creator-fixture" }
10
+ prompt: "Create a new Harness skill called `changelog-writer` that drafts CHANGELOG entries from a git diff. Follow the Skill Contract format."
11
+ max_turns: 14
12
+ expectations:
13
+ - type: file_contains
14
+ path: ".claude/skills/changelog-writer/SKILL.md"
15
+ value: "Skill Contract"
16
+ description: new SKILL.md includes the mandatory Skill Contract table
17
+ - type: file_contains
18
+ path: ".claude/skills/changelog-writer/SKILL.md"
19
+ value: "USE FOR"
20
+ description: new SKILL.md includes the USE FOR section
@@ -0,0 +1,21 @@
1
+ # Baseline case: Skill-style refactors a SKILL.md to the Harness writing standard
2
+ id: baseline-skill-style
3
+ name: Refactor a non-conforming SKILL.md to the house style
4
+ discipline: skill-style
5
+ fixture:
6
+ files:
7
+ - path: messy-skill/SKILL.md
8
+ content: |
9
+ This skill helps with stuff related to formatting text in various ways
10
+ depending on what the user wants, and it can be used whenever someone
11
+ needs some text formatted nicely, sort of like a general helper.
12
+ - path: package.json
13
+ content: |
14
+ { "name": "skill-style-fixture" }
15
+ prompt: "Review and refactor messy-skill/SKILL.md to comply with the Harness skill style guide."
16
+ max_turns: 12
17
+ expectations:
18
+ - type: file_contains
19
+ path: "messy-skill/SKILL.md"
20
+ value: "Skill Contract"
21
+ description: refactored file includes the mandatory Skill Contract section
@@ -0,0 +1,28 @@
1
+ # Baseline case: TDD workflow
2
+ id: baseline-tdd-workflow
3
+ name: TDD workflow with test-first approach
4
+ discipline: tdd
5
+ fixture:
6
+ files:
7
+ - path: calculator.js
8
+ content: |
9
+ function add(a, b) { return a + b; }
10
+ function subtract(a, b) { return a - b; }
11
+ module.exports = { add, subtract };
12
+ - path: package.json
13
+ content: |
14
+ { "name": "calculator", "scripts": { "test": "node calculator.test.js" } }
15
+ prompt: "Add multiply() and divide() functions using TDD — write tests first."
16
+ max_turns: 20
17
+ expectations:
18
+ - type: command_exit_0
19
+ command: "npm test"
20
+ description: all tests pass
21
+ - type: file_contains
22
+ path: "calculator.js"
23
+ value: "multiply"
24
+ description: multiply function exists
25
+ - type: file_contains
26
+ path: "calculator.js"
27
+ value: "divide"
28
+ description: divide function exists
@@ -0,0 +1,34 @@
1
+ # Baseline case: To-spec's outline-preview gate holds even under a naive
2
+ # pre-confirmation attempt
3
+ #
4
+ # First version of this case expected treatment to actually publish
5
+ # docs/specs/*.md, given a prompt that pre-confirms ("I confirm the outline
6
+ # — go ahead and publish"). Live run showed that's the wrong expectation:
7
+ # to-spec's own Enforcement Gate is "outline preview before writing... write
8
+ # only after user confirms" - a blanket pre-confirmation of an outline that
9
+ # doesn't exist yet doesn't satisfy that gate, so treatment correctly showed
10
+ # the outline and stopped without writing, ending the single headless turn.
11
+ # Baseline (no skill) just wrote FEATURE_SPEC.md straight away, no outline
12
+ # step. That contrast - the gate holding under a bypass attempt - is the
13
+ # real, positive signal this case should check for, not file publication.
14
+ id: baseline-to-spec
15
+ name: Outline-preview gate fires even when the prompt tries to pre-confirm it
16
+ discipline: to-spec
17
+ fixture:
18
+ files:
19
+ - path: docs/specs/.gitkeep
20
+ content: |
21
+ placeholder
22
+ - path: PLAN.md
23
+ content: |
24
+ Agreed plan: add rate-limiting to the API using a token-bucket
25
+ algorithm, 100 requests/min per user.
26
+ - path: package.json
27
+ content: |
28
+ { "name": "to-spec-fixture" }
29
+ prompt: "PLAN.md has the plan we already agreed on. I confirm the outline — go ahead and publish the feature spec for it now."
30
+ max_turns: 14
31
+ expectations:
32
+ - type: trace_contains
33
+ value: "Outline"
34
+ description: showed the mandatory outline preview instead of writing straight away on a naive pre-confirmation
@@ -0,0 +1,24 @@
1
+ # Baseline case: To-tickets slices a plan into blocking-edge-declared tickets
2
+ #
3
+ # .claude/tickets/ is an empirically observed write location from a live run
4
+ # with no check-project-docs.js config present, not a hardcoded assumption
5
+ # from the skill's own docs (its documented fallback is
6
+ # .claude/harness-everything/tickets/). If a future run picks a different
7
+ # fallback path, this expectation needs to move with it.
8
+ id: baseline-to-tickets
9
+ name: Break an approved plan into tracer-bullet tickets with blocking edges
10
+ discipline: to-tickets
11
+ fixture:
12
+ files:
13
+ - path: package.json
14
+ content: |
15
+ { "name": "to-tickets-fixture" }
16
+ prompt: "Break this plan into tracer-bullet tickets: (1) add input validation to the signup form, (2) send a welcome email after signup, where (2) depends on (1). I approve the granularity and edges as given — publish the tickets now."
17
+ max_turns: 14
18
+ expectations:
19
+ - type: command_exit_0
20
+ command: "grep -qil blocked .claude/tickets/*.md"
21
+ description: published tickets declare a blocking edge, checked in the ticket file itself rather than chat text
22
+ - type: command_exit_0
23
+ command: "grep -qil signup .claude/tickets/*.md"
24
+ description: tickets reference the actual work items from the plan
@@ -0,0 +1,32 @@
1
+ # Baseline case: Todo-driven workflow tracks one in-progress milestone at a time
2
+ #
3
+ # The todo assertion inspects the structured completed TodoWrite input. The
4
+ # file_contains check independently proves the documentation milestone.
5
+ id: baseline-todo-driven-workflow
6
+ name: Track a multi-file task as todos with exactly one in-progress
7
+ discipline: todo-driven-workflow
8
+ fixture:
9
+ files:
10
+ - path: slug.js
11
+ content: |
12
+ module.exports = {};
13
+ - path: text.js
14
+ content: |
15
+ module.exports = {};
16
+ - path: README.md
17
+ content: |
18
+ # Utils
19
+ - path: package.json
20
+ content: |
21
+ { "name": "todo-driven-workflow-fixture" }
22
+ prompt: "This is a multi-step task: add a slugify() function to slug.js, add a capitalize() function to text.js, and update README.md documenting both. Track this as todos, exactly one in-progress at a time."
23
+ max_turns: 20
24
+ expectations:
25
+ - type: tool_completed
26
+ name: TodoWrite
27
+ input_contains: in_progress
28
+ description: tracked milestones with an explicit in-progress state
29
+ - type: file_contains
30
+ path: "README.md"
31
+ value: "slugify"
32
+ description: documentation milestone was completed
@@ -0,0 +1,15 @@
1
+ # Baseline case: Using-git-worktrees isolates feature work before editing
2
+ id: baseline-using-git-worktrees
3
+ name: Isolate feature work in a worktree before touching source
4
+ discipline: using-git-worktrees
5
+ fixture:
6
+ files:
7
+ - path: package.json
8
+ content: |
9
+ { "name": "using-git-worktrees-fixture" }
10
+ prompt: "Start a new feature: add a healthCheck() endpoint. Set up an isolated workspace for this before making any changes."
11
+ max_turns: 14
12
+ expectations:
13
+ - type: command_exit_0
14
+ command: "test -d .worktrees"
15
+ description: created an isolated .worktrees/<branch> workspace per the documented state mutation