harness-everything 0.2.1 → 0.3.6

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 (494) hide show
  1. package/.claude-plugin/marketplace.json +27 -0
  2. package/.claude-plugin/plugin.json +51 -0
  3. package/.gitattributes +1 -0
  4. package/.github/workflows/behavioral-evals.yml +36 -0
  5. package/.github/workflows/ci.yml +117 -0
  6. package/.github/workflows/release.yml +45 -0
  7. package/.husky/commit-msg +1 -0
  8. package/.waza.yaml +22 -0
  9. package/AGENTS.md +60 -2
  10. package/BENCHMARK_SOP.md +62 -62
  11. package/CHANGELOG.md +297 -114
  12. package/CODE_OF_CONDUCT.md +24 -0
  13. package/CONTRIBUTING.md +47 -0
  14. package/Dockerfile +18 -18
  15. package/LICENSE +201 -201
  16. package/README.md +279 -197
  17. package/SECURITY.md +33 -0
  18. package/VERIFICATION.md +394 -347
  19. package/ab-test-deep-analysis-2026-08-27.md +383 -0
  20. package/ab-test-results-2026-08-27.md +152 -0
  21. package/ab-test-statistical-analysis-31cases.md +193 -0
  22. package/behavioral-evals/README.md +85 -0
  23. package/behavioral-evals/analyze-plugin-results.js +110 -0
  24. package/behavioral-evals/cases/baseline-add-feature.yaml +34 -0
  25. package/behavioral-evals/cases/baseline-api-design.yaml +32 -0
  26. package/behavioral-evals/cases/baseline-debugging.yaml +31 -0
  27. package/behavioral-evals/cases/baseline-dependency.yaml +24 -0
  28. package/behavioral-evals/cases/baseline-documentation.yaml +34 -0
  29. package/behavioral-evals/cases/baseline-error-handling.yaml +31 -0
  30. package/behavioral-evals/cases/baseline-git-commit.yaml +33 -0
  31. package/behavioral-evals/cases/baseline-performance-monitoring.yaml +28 -0
  32. package/behavioral-evals/cases/baseline-performance.yaml +34 -0
  33. package/behavioral-evals/cases/baseline-refactor-with-tests.yaml +35 -0
  34. package/behavioral-evals/cases/baseline-refactor.yaml +27 -0
  35. package/behavioral-evals/cases/baseline-security-review.yaml +28 -0
  36. package/behavioral-evals/cases/baseline-simple-bugfix.yaml +33 -0
  37. package/behavioral-evals/cases/baseline-tdd-workflow.yaml +28 -0
  38. package/behavioral-evals/cases/breaker-zoom-out-after-3.yaml +50 -0
  39. package/behavioral-evals/cases/pressure-budget-skip-review.yaml +27 -0
  40. package/behavioral-evals/cases/pressure-bypass-review.yaml +27 -0
  41. package/behavioral-evals/cases/pressure-complexity-skip.yaml +37 -0
  42. package/behavioral-evals/cases/pressure-expert-skip-testing.yaml +31 -0
  43. package/behavioral-evals/cases/pressure-fatigue-skip.yaml +33 -0
  44. package/behavioral-evals/cases/pressure-management-skip-all.yaml +28 -0
  45. package/behavioral-evals/cases/pressure-scope-bypass.yaml +28 -0
  46. package/behavioral-evals/cases/pressure-skip-docs.yaml +50 -0
  47. package/behavioral-evals/cases/pressure-skip-error-handling.yaml +35 -0
  48. package/behavioral-evals/cases/pressure-skip-security.yaml +32 -0
  49. package/behavioral-evals/cases/pressure-skip-tests.yaml +27 -0
  50. package/behavioral-evals/cases/pressure-skip-verification.yaml +43 -0
  51. package/behavioral-evals/cases/pressure-social-skip-review.yaml +28 -0
  52. package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +47 -0
  53. package/behavioral-evals/cases/scope-discipline.yaml +32 -0
  54. package/behavioral-evals/cases/tier1-no-overplan.yaml +26 -0
  55. package/behavioral-evals/cases/verify-before-done.yaml +31 -0
  56. package/behavioral-evals/results/.gitkeep +0 -0
  57. package/behavioral-evals/results/2026-08-23-breaker-zoom-out-after-3.json +20 -0
  58. package/behavioral-evals/results/2026-08-23-pressure-skip-verification.json +20 -0
  59. package/behavioral-evals/results/2026-08-23-pressure-sunk-cost-retry.json +20 -0
  60. package/behavioral-evals/results/2026-08-23-scope-discipline.json +16 -0
  61. package/behavioral-evals/results/2026-08-23-tier1-no-overplan.json +20 -0
  62. package/behavioral-evals/results/2026-08-23-verify-before-done.json +20 -0
  63. package/behavioral-evals/results/2026-08-27-baseline-add-feature.json +20 -0
  64. package/behavioral-evals/results/2026-08-27-baseline-api-design.json +20 -0
  65. package/behavioral-evals/results/2026-08-27-baseline-debugging.json +20 -0
  66. package/behavioral-evals/results/2026-08-27-baseline-dependency.json +16 -0
  67. package/behavioral-evals/results/2026-08-27-baseline-documentation.json +20 -0
  68. package/behavioral-evals/results/2026-08-27-baseline-error-handling.json +20 -0
  69. package/behavioral-evals/results/2026-08-27-baseline-git-commit.json +20 -0
  70. package/behavioral-evals/results/2026-08-27-baseline-performance-monitoring.json +20 -0
  71. package/behavioral-evals/results/2026-08-27-baseline-performance.json +20 -0
  72. package/behavioral-evals/results/2026-08-27-baseline-refactor-with-tests.json +20 -0
  73. package/behavioral-evals/results/2026-08-27-baseline-refactor.json +20 -0
  74. package/behavioral-evals/results/2026-08-27-baseline-security-review.json +20 -0
  75. package/behavioral-evals/results/2026-08-27-baseline-simple-bugfix.json +20 -0
  76. package/behavioral-evals/results/2026-08-27-baseline-tdd-workflow.json +24 -0
  77. package/behavioral-evals/results/2026-08-27-breaker-zoom-out-after-3.json +20 -0
  78. package/behavioral-evals/results/2026-08-27-pressure-budget-skip-review.json +16 -0
  79. package/behavioral-evals/results/2026-08-27-pressure-bypass-review.json +20 -0
  80. package/behavioral-evals/results/2026-08-27-pressure-complexity-skip.json +20 -0
  81. package/behavioral-evals/results/2026-08-27-pressure-expert-skip-testing.json +16 -0
  82. package/behavioral-evals/results/2026-08-27-pressure-fatigue-skip.json +16 -0
  83. package/behavioral-evals/results/2026-08-27-pressure-management-skip-all.json +20 -0
  84. package/behavioral-evals/results/2026-08-27-pressure-skip-docs.json +20 -0
  85. package/behavioral-evals/results/2026-08-27-pressure-skip-error-handling.json +20 -0
  86. package/behavioral-evals/results/2026-08-27-pressure-skip-security.json +20 -0
  87. package/behavioral-evals/results/2026-08-27-pressure-skip-tests.json +20 -0
  88. package/behavioral-evals/results/2026-08-27-pressure-skip-verification.json +24 -0
  89. package/behavioral-evals/results/2026-08-27-pressure-social-skip-review.json +20 -0
  90. package/behavioral-evals/results/2026-08-27-pressure-sunk-cost-retry.json +24 -0
  91. package/behavioral-evals/results/2026-08-27-scope-discipline.json +16 -0
  92. package/behavioral-evals/results/2026-08-27-tier1-no-overplan.json +20 -0
  93. package/behavioral-evals/results/2026-08-27-verify-before-done.json +20 -0
  94. package/behavioral-evals/results/run-20260827-115509.log +287 -0
  95. package/behavioral-evals/run-with-plugin.js +316 -0
  96. package/behavioral-evals/run.js +587 -0
  97. package/benchmarks/README.md +63 -0
  98. package/benchmarks/ab-test-2026-08-26/results.json +55 -0
  99. package/benchmarks/results/logs/.gitkeep +0 -0
  100. package/benchmarks/results/logs/test-a-harness.md +31 -0
  101. package/benchmarks/results/logs/test-a-vanilla.md +28 -0
  102. package/benchmarks/results/logs/test-b-micro-loop-harness.md +48 -0
  103. package/benchmarks/results/logs/test-b-micro-loop-vanilla.md +36 -0
  104. package/benchmarks/results/logs/test-c-attention-loss-harness.md +40 -0
  105. package/benchmarks/results/logs/test-c-attention-loss-vanilla.md +63 -0
  106. package/benchmarks/results/logs/test-d-knowledge-boundary-harness.md +24 -0
  107. package/benchmarks/results/logs/test-d-knowledge-boundary-vanilla.md +29 -0
  108. package/benchmarks/results/logs/test-e-shell-awareness-harness.md +20 -0
  109. package/benchmarks/results/logs/test-e-shell-awareness-vanilla.md +20 -0
  110. package/benchmarks/results/logs/test-f-fact-audit-harness.md +16 -0
  111. package/benchmarks/results/logs/test-f-fact-audit-vanilla.md +16 -0
  112. package/benchmarks/results/results.json +158 -0
  113. package/benchmarks/run.js +220 -0
  114. package/benchmarks/schema.json +44 -0
  115. package/bin/cli.js +152 -97
  116. package/ci/ab-test-cases/grill-me-adversarial.yaml +18 -0
  117. package/ci/ab-test-cases/tdd-test-first.yaml +23 -0
  118. package/ci/ab-test-cases/verification-loop-gates.yaml +25 -0
  119. package/ci/ab-test-cases/verify-before-claim-cites.yaml +18 -0
  120. package/ci/ab-test-harness.js +410 -0
  121. package/{eval-framework → ci}/cases/case1.json +5 -5
  122. package/ci/cases/case10-small-feature.json +5 -0
  123. package/ci/cases/case11-readme-typo-update.json +5 -0
  124. package/ci/cases/case12-chinese-macro-audit.json +5 -0
  125. package/{eval-framework → ci}/cases/case2.json +5 -5
  126. package/{eval-framework → ci}/cases/case3.json +5 -5
  127. package/{eval-framework → ci}/cases/case4-zh-tier2.json +5 -5
  128. package/{eval-framework → ci}/cases/case5-zh-tier3.json +5 -5
  129. package/ci/cases/case6-macro-skill-audit.json +5 -0
  130. package/ci/cases/case7-macro-reference-audit.json +5 -0
  131. package/ci/cases/case8-controlled-ab-benchmark.json +5 -0
  132. package/ci/cases/case9-four-issue-audit.json +5 -0
  133. package/ci/consistency-check.js +347 -0
  134. package/ci/description-collision.js +109 -0
  135. package/ci/fable-mode-test.js +120 -0
  136. package/ci/fixtures/agency-agents/divisions.json +6 -0
  137. package/ci/fixtures/agency-agents/engineering/code-reviewer.md +11 -0
  138. package/ci/fixtures/agency-agents/testing/reality-checker.md +11 -0
  139. package/ci/fixtures/bad-frontmatter-colon/SKILL.md +16 -0
  140. package/ci/fixtures/duplicate-description/skill-a/SKILL.md +16 -0
  141. package/ci/fixtures/duplicate-description/skill-b/SKILL.md +16 -0
  142. package/ci/mechanism-2a-rule-of-3.test.js +46 -0
  143. package/ci/mechanism-2b-boundary-guard.test.js +16 -0
  144. package/ci/mechanism-2c-state-persist.test.js +29 -0
  145. package/ci/mechanism-2d-fact-audit.test.js +18 -0
  146. package/ci/mechanism-2e-scope-guard.test.js +24 -0
  147. package/ci/mechanism-2f-stop-gate.test.js +23 -0
  148. package/ci/mechanism-2g-platform-ignore.test.js +88 -0
  149. package/ci/mechanism-2h-installer-manifest.test.js +147 -0
  150. package/ci/mechanism-2i-crlf-frontmatter.test.js +145 -0
  151. package/ci/mechanism-2i-install-verification.test.js +34 -0
  152. package/ci/mechanism-2j-behavioral-runner.test.js +20 -0
  153. package/ci/mechanism-2k-reference-check.test.js +20 -0
  154. package/ci/mechanism-2l-multi-agent-workspace.test.js +105 -0
  155. package/ci/mechanism-test.js +71 -0
  156. package/ci/negative-controls.js +84 -0
  157. package/ci/reference-check.js +112 -0
  158. package/ci/release-consistency-check.js +123 -0
  159. package/ci/routing-check.js +90 -0
  160. package/{eval-framework → ci}/runner.js +56 -56
  161. package/ci/skill-routing-check.js +98 -0
  162. package/ci/test-helper.js +104 -0
  163. package/ci/test-negative-controls.js +148 -0
  164. package/commitlint.config.js +25 -0
  165. package/docker-verify.sh +266 -266
  166. package/docs/architecture.md +99 -95
  167. package/docs/audit.md +53 -0
  168. package/docs/mechanism-first-skill-mesh.md +163 -0
  169. package/docs/philosophy.md +47 -45
  170. package/docs/reflection.md +48 -34
  171. package/docs/routing.md +58 -45
  172. package/docs/troubleshooting.md +284 -0
  173. package/docs/workflows/environment-detection.md +63 -63
  174. package/docs/workflows/eval-harness.md +64 -57
  175. package/docs/workflows/fable-discipline.md +59 -59
  176. package/docs/workflows/fable-mode.md +12 -15
  177. package/docs/workflows/find-skills.md +36 -0
  178. package/docs/workflows/git-commit.md +71 -62
  179. package/docs/workflows/grill-me.md +62 -62
  180. package/docs/workflows/grill-with-docs.md +69 -62
  181. package/docs/workflows/harness-everything.md +95 -92
  182. package/docs/workflows/improve-codebase-architecture.md +68 -60
  183. package/docs/workflows/install-cognitive-os.md +60 -60
  184. package/docs/workflows/multi-agent-workspace.md +42 -0
  185. package/docs/workflows/repo-docs.md +64 -59
  186. package/docs/workflows/rewrite-commits.md +60 -60
  187. package/docs/workflows/security-review.md +77 -58
  188. package/docs/workflows/self-evolve.md +42 -59
  189. package/docs/workflows/skill-creator.md +80 -75
  190. package/docs/workflows/skill-style.md +64 -64
  191. package/docs/workflows/tdd.md +7 -4
  192. package/docs/workflows/to-spec.md +83 -0
  193. package/docs/workflows/to-tickets.md +80 -0
  194. package/docs/workflows/todo-driven-workflow.md +28 -30
  195. package/docs/workflows/using-git-worktrees.md +67 -63
  196. package/docs/workflows/verification-loop.md +71 -69
  197. package/docs/workflows/verify-before-claim.md +64 -60
  198. package/docs/workflows/zoom-out.md +74 -62
  199. package/environment-detection/SKILL.md +41 -77
  200. package/environment-detection/references/shell-syntax-rules.md +76 -0
  201. package/environment-detection/scripts/preflight.js +103 -93
  202. package/eval-framework/fixtures/bad-frontmatter-colon/SKILL.md +14 -0
  203. package/eval-framework/fixtures/duplicate-desc-skill-a/SKILL.md +14 -0
  204. package/eval-framework/fixtures/duplicate-desc-skill-b/SKILL.md +14 -0
  205. package/eval-framework/fixtures/missing-delimiter/SKILL.md +13 -0
  206. package/eval-framework/fixtures/over-budget-skill/SKILL.md +36 -0
  207. package/eval-harness/SKILL.md +42 -59
  208. package/eval-harness/references/scoring-rubric.md +68 -0
  209. package/eval-harness/scripts/evaluate.js +77 -61
  210. package/evals/environment-detection/eval.yaml +26 -0
  211. package/evals/environment-detection/tasks/negative-trigger.yaml +16 -0
  212. package/evals/environment-detection/tasks/positive-trigger.yaml +15 -0
  213. package/evals/eval-harness/eval.yaml +26 -0
  214. package/evals/eval-harness/tasks/negative-trigger.yaml +16 -0
  215. package/evals/eval-harness/tasks/positive-trigger.yaml +15 -0
  216. package/evals/fable-discipline/eval.yaml +26 -0
  217. package/evals/fable-discipline/tasks/negative-trigger.yaml +16 -0
  218. package/evals/fable-discipline/tasks/positive-trigger.yaml +15 -0
  219. package/evals/fable-mode/eval.yaml +26 -0
  220. package/evals/fable-mode/tasks/negative-tier2-no-model.yaml +18 -0
  221. package/evals/fable-mode/tasks/negative-trigger.yaml +16 -0
  222. package/evals/fable-mode/tasks/positive-haiku-mode.yaml +16 -0
  223. package/evals/fable-mode/tasks/positive-opus-mode.yaml +16 -0
  224. package/evals/fable-mode/tasks/positive-sonnet-mode.yaml +16 -0
  225. package/evals/fable-mode/tasks/positive-trigger.yaml +15 -0
  226. package/evals/find-skills/eval.yaml +26 -0
  227. package/evals/find-skills/tasks/negative-trigger.yaml +16 -0
  228. package/evals/find-skills/tasks/positive-trigger.yaml +15 -0
  229. package/evals/git-commit/eval.yaml +26 -0
  230. package/evals/git-commit/tasks/negative-trigger.yaml +16 -0
  231. package/evals/git-commit/tasks/positive-trigger.yaml +15 -0
  232. package/evals/grill-me/eval.yaml +26 -0
  233. package/evals/grill-me/tasks/negative-trigger.yaml +16 -0
  234. package/evals/grill-me/tasks/positive-trigger.yaml +15 -0
  235. package/evals/grill-with-docs/eval.yaml +26 -0
  236. package/evals/grill-with-docs/tasks/negative-trigger.yaml +16 -0
  237. package/evals/grill-with-docs/tasks/positive-trigger.yaml +15 -0
  238. package/evals/harness-everything/eval.yaml +26 -0
  239. package/evals/harness-everything/tasks/negative-non-software.yaml +16 -0
  240. package/evals/harness-everything/tasks/negative-skill-indicated.yaml +15 -0
  241. package/evals/harness-everything/tasks/positive-tier1.yaml +16 -0
  242. package/evals/harness-everything/tasks/positive-tier2.yaml +16 -0
  243. package/evals/harness-everything/tasks/positive-tier3.yaml +16 -0
  244. package/evals/improve-codebase-architecture/eval.yaml +26 -0
  245. package/evals/improve-codebase-architecture/tasks/negative-trigger.yaml +16 -0
  246. package/evals/improve-codebase-architecture/tasks/positive-trigger.yaml +15 -0
  247. package/evals/install-cognitive-os/eval.yaml +26 -0
  248. package/evals/install-cognitive-os/tasks/negative-trigger.yaml +16 -0
  249. package/evals/install-cognitive-os/tasks/positive-trigger.yaml +15 -0
  250. package/evals/multi-agent-workspace/eval.yaml +26 -0
  251. package/evals/multi-agent-workspace/tasks/negative-trigger.yaml +15 -0
  252. package/evals/multi-agent-workspace/tasks/positive-trigger.yaml +15 -0
  253. package/evals/repo-docs/eval.yaml +26 -0
  254. package/evals/repo-docs/tasks/negative-trigger.yaml +16 -0
  255. package/evals/repo-docs/tasks/positive-trigger.yaml +15 -0
  256. package/evals/rewrite-commits/eval.yaml +26 -0
  257. package/evals/rewrite-commits/tasks/negative-trigger.yaml +16 -0
  258. package/evals/rewrite-commits/tasks/positive-trigger.yaml +15 -0
  259. package/evals/security-review/eval.yaml +26 -0
  260. package/evals/security-review/tasks/negative-trigger.yaml +16 -0
  261. package/evals/security-review/tasks/positive-trigger.yaml +15 -0
  262. package/evals/self-evolve/eval.yaml +26 -0
  263. package/evals/self-evolve/tasks/negative-trigger.yaml +16 -0
  264. package/evals/self-evolve/tasks/positive-trigger.yaml +15 -0
  265. package/evals/skill-creator/eval.yaml +26 -0
  266. package/evals/skill-creator/tasks/negative-trigger.yaml +16 -0
  267. package/evals/skill-creator/tasks/positive-trigger.yaml +15 -0
  268. package/evals/skill-style/eval.yaml +26 -0
  269. package/evals/skill-style/tasks/negative-trigger.yaml +16 -0
  270. package/evals/skill-style/tasks/positive-trigger.yaml +15 -0
  271. package/evals/tdd/eval.yaml +26 -0
  272. package/evals/tdd/tasks/negative-trivia.yaml +16 -0
  273. package/evals/tdd/tasks/positive-bugfix.yaml +15 -0
  274. package/evals/tdd/tasks/positive-feature.yaml +16 -0
  275. package/evals/tdd/tasks/positive-refactor.yaml +15 -0
  276. package/evals/to-spec/eval.yaml +26 -0
  277. package/evals/to-spec/tasks/negative-trigger.yaml +16 -0
  278. package/evals/to-spec/tasks/positive-trigger.yaml +15 -0
  279. package/evals/to-tickets/eval.yaml +26 -0
  280. package/evals/to-tickets/tasks/negative-trigger.yaml +15 -0
  281. package/evals/to-tickets/tasks/positive-trigger.yaml +15 -0
  282. package/evals/todo-driven-workflow/eval.yaml +26 -0
  283. package/evals/todo-driven-workflow/tasks/negative-single-edit.yaml +16 -0
  284. package/evals/todo-driven-workflow/tasks/positive-multi-step.yaml +15 -0
  285. package/evals/todo-driven-workflow/tasks/positive-refactor-flow.yaml +15 -0
  286. package/evals/using-git-worktrees/eval.yaml +26 -0
  287. package/evals/using-git-worktrees/tasks/negative-trigger.yaml +15 -0
  288. package/evals/using-git-worktrees/tasks/positive-trigger.yaml +15 -0
  289. package/evals/verification-loop/eval.yaml +26 -0
  290. package/evals/verification-loop/tasks/negative-discussion.yaml +16 -0
  291. package/evals/verification-loop/tasks/positive-pre-ship.yaml +15 -0
  292. package/evals/verify-before-claim/eval.yaml +26 -0
  293. package/evals/verify-before-claim/tasks/negative-trigger.yaml +16 -0
  294. package/evals/verify-before-claim/tasks/positive-trigger.yaml +15 -0
  295. package/evals/zoom-out/eval.yaml +26 -0
  296. package/evals/zoom-out/tasks/negative-trivial-edit.yaml +16 -0
  297. package/evals/zoom-out/tasks/positive-repeated-failure.yaml +15 -0
  298. package/fable-discipline/SKILL.md +41 -38
  299. package/fable-discipline/references/discipline-rules.md +22 -0
  300. package/fable-mode/CONTRACT-FORMAT.md +51 -51
  301. package/fable-mode/SKILL.md +39 -51
  302. package/fable-mode/agents/fable-orchestrator.md +99 -92
  303. package/fable-mode/agents/fable-verifier.md +32 -32
  304. package/fable-mode/agents/fable-worker-haiku.md +52 -48
  305. package/fable-mode/agents/fable-worker-sonnet.md +53 -49
  306. package/fable-mode/execution-guardrails/SKILL.md +43 -87
  307. package/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  308. package/fable-mode/fable-haiku/SKILL.md +36 -48
  309. package/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  310. package/fable-mode/fable-opus/SKILL.md +36 -0
  311. package/fable-mode/fable-sonnet/SKILL.md +36 -0
  312. package/fable-mode/model-matrix.json +32 -0
  313. package/fable-mode/references/execution-phases.md +37 -0
  314. package/fable-mode/references/model-matrix.md +39 -0
  315. package/fable-mode/scripts/model-selector.js +129 -0
  316. package/find-skills/SKILL.md +48 -0
  317. package/find-skills/references/discovery-flow.md +102 -0
  318. package/find-skills/scripts/use-skill.js +106 -0
  319. package/git-commit/SKILL.md +45 -55
  320. package/git-commit/guides/ANGULAR_STYLE.md +60 -60
  321. package/git-commit/guides/COMMIT_GENERATION.md +23 -23
  322. package/git-commit/guides/LANGUAGE_DETECTION.md +16 -16
  323. package/git-commit/guides/MAIN_REPO.md +14 -14
  324. package/git-commit/guides/SUBMODULES.md +27 -27
  325. package/git-commit/references/commit-flow.md +30 -0
  326. package/grill-me/SKILL.md +43 -36
  327. package/grill-me/references/grilling-playbook.md +38 -0
  328. package/grill-with-docs/ADR-FORMAT.md +47 -47
  329. package/grill-with-docs/CONTEXT-FORMAT.md +63 -63
  330. package/grill-with-docs/SKILL.md +41 -99
  331. package/grill-with-docs/references/session-playbook.md +97 -0
  332. package/harness-everything/SKILL.md +42 -141
  333. package/harness-everything/references/skill-registry.md +39 -0
  334. package/harness-everything/references/triage-and-tiers.md +116 -0
  335. package/harness-everything/scripts/bootstrap.js +203 -140
  336. package/harness-everything/scripts/routing-keywords.json +320 -0
  337. package/harness-everything/scripts/self-heal.js +241 -189
  338. package/harness-everything/scripts/tier-router.js +334 -219
  339. package/harness-everything/scripts/verify-gate.js +87 -18
  340. package/hooks/hooks.json +155 -155
  341. package/hooks/scripts/boundary-guard.js +55 -55
  342. package/hooks/scripts/contract-test.js +79 -79
  343. package/hooks/scripts/depth-guard.js +65 -65
  344. package/hooks/scripts/lib/harness-state.js +139 -228
  345. package/hooks/scripts/lib/platforms/claude.js +185 -42
  346. package/hooks/scripts/lib/platforms/codex.js +114 -46
  347. package/hooks/scripts/lib/platforms/continue.js +91 -41
  348. package/hooks/scripts/lib/platforms/copilot.js +109 -41
  349. package/hooks/scripts/lib/platforms/cursor.js +89 -41
  350. package/hooks/scripts/lib/platforms/hermes.js +57 -32
  351. package/hooks/scripts/lib/platforms/index.js +17 -17
  352. package/hooks/scripts/lib/platforms/worktrees.js +20 -20
  353. package/hooks/scripts/reset-circuit-breaker.js +30 -30
  354. package/hooks/scripts/rule-of-3-tracker.js +124 -91
  355. package/hooks/scripts/rule-of-3.js +14 -3
  356. package/hooks/scripts/state-persist.js +99 -99
  357. package/hooks/scripts/stop-gate.js +80 -80
  358. package/hooks/scripts/subagent-scope-guard.js +88 -88
  359. package/improve-codebase-architecture/SKILL.md +40 -44
  360. package/improve-codebase-architecture/guides/DEEPENING.md +37 -37
  361. package/improve-codebase-architecture/guides/HTML-REPORT.md +123 -123
  362. package/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -44
  363. package/improve-codebase-architecture/guides/LANGUAGE.md +53 -53
  364. package/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  365. package/install-cognitive-os/SKILL.md +38 -95
  366. package/install-cognitive-os/references/cognitive-loop.md +27 -0
  367. package/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  368. package/multi-agent-workspace/SKILL.md +37 -0
  369. package/{create-agent-launcher → multi-agent-workspace}/examples/csharp-monorepo.md +123 -123
  370. package/{create-agent-launcher → multi-agent-workspace}/examples/typescript-cli.md +126 -126
  371. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-claude.md +77 -77
  372. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-codex.md +146 -146
  373. package/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  374. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-copilot.md +74 -74
  375. package/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  376. package/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  377. package/{create-agent-launcher → multi-agent-workspace}/guidelines/role-capabilities.md +108 -108
  378. package/multi-agent-workspace/references/agency-agents.md +31 -0
  379. package/multi-agent-workspace/references/architecture-guide.md +32 -0
  380. package/multi-agent-workspace/references/orchestration.md +48 -0
  381. package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  382. package/multi-agent-workspace/scripts/index_memory.js +51 -0
  383. package/multi-agent-workspace/scripts/scaffold.js +253 -0
  384. package/{create-agent-launcher → multi-agent-workspace}/templates/README.md +17 -17
  385. package/{create-agent-launcher → multi-agent-workspace}/templates/agent-launcher.md +67 -67
  386. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-csharp.md +55 -55
  387. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-polyglot.md +61 -61
  388. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-ts.md +56 -56
  389. package/{create-agent-launcher → multi-agent-workspace}/templates/memory-keeper.md +36 -36
  390. package/{create-agent-launcher → multi-agent-workspace}/templates/requirement-analyzer.md +65 -65
  391. package/{create-agent-launcher → multi-agent-workspace}/templates/specialist-agent.md +34 -34
  392. package/{create-agent-launcher → multi-agent-workspace}/templates/task-verifier.md +55 -55
  393. package/{create-agent-launcher → multi-agent-workspace}/templates/tool-maker.md +32 -32
  394. package/multi-agent-workspace/workflows/01-init.md +22 -0
  395. package/multi-agent-workspace/workflows/02-analysis.md +23 -0
  396. package/multi-agent-workspace/workflows/03-generation.md +27 -0
  397. package/multi-agent-workspace/workflows/04-launcher.md +16 -0
  398. package/opencode-plugin/README.md +94 -0
  399. package/opencode-plugin/hooks/circuit-breaker.js +121 -0
  400. package/opencode-plugin/hooks/compliance.js +128 -0
  401. package/opencode-plugin/hooks/post-edit.js +62 -0
  402. package/opencode-plugin/hooks/pre-complete.js +65 -0
  403. package/opencode-plugin/hooks/verify.js +140 -0
  404. package/opencode-plugin/plugin.json +17 -0
  405. package/opencode-plugin/test-hook-firing.js +198 -0
  406. package/package.json +50 -22
  407. package/references/definition-of-done.md +67 -0
  408. package/references/performance-checklist.md +153 -0
  409. package/references/platform-advisory-template.md +58 -0
  410. package/references/security-checklist.md +205 -0
  411. package/repo-docs/SKILL.md +46 -45
  412. package/repo-docs/references/process-guide.md +60 -0
  413. package/repo-docs/templates/agents-template.md +264 -264
  414. package/repo-docs/templates/knowledge-agents-template.md +50 -50
  415. package/repo-docs/templates/knowledge-readme-template.md +83 -83
  416. package/repo-docs/templates/manual-recon.md +117 -117
  417. package/repo-docs/templates/multi-skills-readme-template.md +72 -72
  418. package/repo-docs/templates/product-agents-template.md +78 -78
  419. package/repo-docs/templates/product-readme-template.md +95 -95
  420. package/repo-docs/templates/readme-template.md +136 -136
  421. package/repo-docs/templates/single-skill-readme-template.md +70 -70
  422. package/repo-docs/templates/skills-agents-template.md +60 -60
  423. package/rewrite-commits/SKILL.md +37 -32
  424. package/rewrite-commits/references/workflow.md +18 -0
  425. package/scripts/installer.js +546 -649
  426. package/scripts/lib/advisory-text.js +167 -163
  427. package/scripts/lib/claude-hooks.js +84 -71
  428. package/scripts/lib/gitignore.js +199 -80
  429. package/scripts/lib/manifest.js +146 -82
  430. package/scripts/lib/prompts.js +241 -241
  431. package/scripts/lib/skills.js +260 -172
  432. package/scripts/lib/workspace.js +28 -28
  433. package/scripts/verify-install.js +147 -0
  434. package/security-review/SKILL.md +50 -511
  435. package/security-review/guides/OWASP-PATTERNS.md +31 -0
  436. package/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  437. package/security-review/references/security-checklist.md +478 -0
  438. package/security-review/scripts/audit-secrets.js +84 -0
  439. package/self-evolve/SKILL.md +47 -54
  440. package/self-evolve/references/memory-resolution.md +58 -0
  441. package/self-evolve/scripts/persist-memory.js +139 -40
  442. package/self-evolve/scripts/register-dynamic-skill.js +251 -0
  443. package/self-evolve/scripts/self-regression.js +110 -113
  444. package/skill-creator/SKILL.md +49 -91
  445. package/skill-creator/references/authoring-workflow.md +14 -0
  446. package/skill-creator/references/dynamic-generation-contract.md +21 -0
  447. package/skill-creator/references/quality-checklist.md +15 -0
  448. package/skill-creator/references/quality-principles.md +81 -81
  449. package/skill-creator/references/testing-workflow.md +20 -25
  450. package/skill-style/SKILL.md +42 -48
  451. package/skill-style/references/style-guide.md +36 -0
  452. package/tdd/SKILL.md +44 -53
  453. package/tdd/guides/deep-modules.md +33 -33
  454. package/tdd/guides/interface-design.md +31 -31
  455. package/tdd/guides/mocking.md +59 -59
  456. package/tdd/guides/refactoring.md +10 -10
  457. package/tdd/guides/tests.md +61 -61
  458. package/tdd/references/core-discipline.md +49 -0
  459. package/to-spec/SKILL.md +42 -0
  460. package/to-spec/references/process.md +77 -0
  461. package/to-spec/scripts/check-project-docs.js +259 -0
  462. package/to-spec/templates/cli-reference.md +31 -0
  463. package/to-spec/templates/dev-doc.md +27 -0
  464. package/to-spec/templates/feature-spec.md +59 -0
  465. package/to-spec/templates/schema-doc.md +31 -0
  466. package/to-tickets/SKILL.md +42 -0
  467. package/to-tickets/references/publishing-and-templates.md +97 -0
  468. package/todo-driven-workflow/SKILL.md +40 -54
  469. package/todo-driven-workflow/references/execution-guide.md +27 -0
  470. package/using-git-worktrees/SKILL.md +49 -161
  471. package/using-git-worktrees/references/workflow-details.md +108 -0
  472. package/verification-loop/SKILL.md +46 -138
  473. package/verification-loop/references/verification-phases.md +116 -0
  474. package/verification-loop/templates/verification-report.template.md +15 -0
  475. package/verify-before-claim/SKILL.md +43 -86
  476. package/verify-before-claim/references/verification-guide.md +73 -0
  477. package/zoom-out/SKILL.md +42 -90
  478. package/zoom-out/references/circuit-breaker.md +66 -0
  479. package/zoom-out/templates/zoom-out-report.template.md +20 -0
  480. package/build-multi-agent-system/AGENTS.md +0 -50
  481. package/build-multi-agent-system/README.md +0 -63
  482. package/build-multi-agent-system/SKILL.md +0 -68
  483. package/create-agent-launcher/SKILL.md +0 -48
  484. package/create-agent-launcher/guidelines/platform-gemini.md +0 -101
  485. package/create-agent-launcher/workflows/01-init.md +0 -22
  486. package/create-agent-launcher/workflows/02-analysis.md +0 -26
  487. package/create-agent-launcher/workflows/03-generation.md +0 -29
  488. package/create-agent-launcher/workflows/04-launcher.md +0 -20
  489. package/docs/workflows/build-multi-agent-system.md +0 -62
  490. package/docs/workflows/create-agent-launcher.md +0 -62
  491. package/eval-framework/behavioral-test.js +0 -105
  492. package/eval-framework/mechanism-test.js +0 -251
  493. package/harness-everything/scripts/todo-cli.js +0 -157
  494. package/skill-style/STYLE.md +0 -37
@@ -1,56 +1,56 @@
1
- ---
2
- name: "Task Verifier"
3
- description: "Use when: verifying if the implemented changes meet the original requirements and AI implementation document. It checks modifications without editing files and re-dispatches tasks if errors are found."
4
- {{TOOLS_ARRAY_DECLARATION}}
5
- ---
6
-
7
- You are an expert Quality Assurance and Task Verifier for the **{{PROJECT_NAME}}** project. Your responsibility is to inspect the codebase after a task has been implemented to ensure it perfectly matches the requirements.
8
-
9
- ## Constraints
10
-
11
- - **NO MODIFICATION**: You are a Read-Only Auditor. DO NOT use `{{EDIT_TOOL_NAME}}` to modify any source code files. If you find an issue, your job is to fail the verification, not to fix it.
12
- - ONLY use `{{SEARCH_TOOL_NAME}}` and `{{READ_TOOL_NAME}}` to inspect the codebase state. NEVER alter repository state.
13
- - DO NOT attempt to fix errors yourself.
14
- - **NO AGENT INVOCATION**: You CANNOT use an `agent` tool to call other agents. Output a Handover Block to request a re-dispatch instead.
15
-
16
- ## Behavioral Guidelines
17
-
18
- ### Strict Binary Verification
19
- *(from Karpathy: Goal-Driven Execution)*
20
- - Compare actual changes against **each goal** listed in the implementation document.
21
- - This is a BINARY check. Partial fulfillment is a Fail ❌.
22
- - DO NOT suggest alternative designs or code improvements. Your only concern is compliance with the document.
23
- - If a requirement is ambiguous in the document, surface that ambiguity as a Fail ❌.
24
-
25
- ### Zero Tolerance for Extraneous Code
26
- *(from Karpathy: Surgical Changes)*
27
- - Inspect the codebase using your read and search tools to verify what was changed.
28
- - If you find code that was NOT explicitly requested in the plan (even if it looks like a good refactor or a nice-to-have fix), you MUST fail the verification and instruct the developer to revert the extraneous changes.
29
-
30
- ### Categorize the Failure
31
- If verification fails, you MUST categorize the root cause of the failure:
32
- - `Implementation_Error`: The developer wrote bugged code or didn't follow the clear plan.
33
- - `Requirement_Ambiguity`: The plan itself is contradictory, missing edge cases, or logically flawed.
34
- - `Environment_Blocker`: Code seems right, but builds/tests fail due to missing dependencies, config issues, or OS limitations.
35
- - `Knowledge_Gap`: Missing context about internal libraries or third-party APIs.
36
-
37
- ## Approach
38
-
39
- 1. **Check Requirements Document**: Read the AI implementation document in `{{AI_PLAN_PATH}}` to understand the exact scope.
40
- 2. **Review Modifications**: Review the Handover Block provided by the Developer to get the exact list of modified files and line ranges. Use `{{READ_TOOL_NAME}}` directly on those specific files to inspect their current contents. You do not need to do a blind search unless the Developer's list is incomplete.
41
- 3. **Verify Compliance**: Cross-check actual code logic against the requirements and documented plan. Ensure no unrequested changes were made.
42
- 4. **Handle Discrepancies**: Pass ✅ if all requirements are met. Fail ❌ and output a Handover Block with fix instructions if not.
43
-
44
- ## Output Format
45
-
46
- ```
47
- ### 🤝 Handover Block
48
- - **Verification Status**: `[✅ Pass | ❌ Fail]`
49
- - **Failure Category**: `<Implementation_Error | Requirement_Ambiguity | Environment_Blocker | Knowledge_Gap | None>`
50
- - **Verified Against**: `<absolute path to implementation document>`
51
- - **Errors / Missing Items**: `<concise list, or 'None' if Pass>`
52
- - **Key Learnings (if any)**: `<Identify any novel problems solved, new architectural patterns used, or critical errors overcome during this task that should be committed to long-term memory. If none, write 'None'.>`
53
- - **Recommended Agent**: `<Agent Name if Fail, or 'None' if Pass>`
54
- - **Fix Instructions**: `<specific description of what needs to be fixed if Fail, or 'None' if Pass>`
55
- - **Action for Orchestrator**: I have completed my verification. Please refer to your central rules to determine the next step in the workflow (e.g. re-invoke developer, invoke memory keeper, or stop).
1
+ ---
2
+ name: "Task Verifier"
3
+ description: "Use when: verifying if the implemented changes meet the original requirements and AI implementation document. It checks modifications without editing files and re-dispatches tasks if errors are found."
4
+ {{TOOLS_ARRAY_DECLARATION}}
5
+ ---
6
+
7
+ You are an expert Quality Assurance and Task Verifier for the **{{PROJECT_NAME}}** project. Your responsibility is to inspect the codebase after a task has been implemented to ensure it perfectly matches the requirements.
8
+
9
+ ## Constraints
10
+
11
+ - **NO MODIFICATION**: You are a Read-Only Auditor. DO NOT use `{{EDIT_TOOL_NAME}}` to modify any source code files. If you find an issue, your job is to fail the verification, not to fix it.
12
+ - ONLY use `{{SEARCH_TOOL_NAME}}` and `{{READ_TOOL_NAME}}` to inspect the codebase state. NEVER alter repository state.
13
+ - DO NOT attempt to fix errors yourself.
14
+ - **NO AGENT INVOCATION**: You CANNOT use an `agent` tool to call other agents. Output a Handover Block to request a re-dispatch instead.
15
+
16
+ ## Behavioral Guidelines
17
+
18
+ ### Strict Binary Verification
19
+ *(from Karpathy: Goal-Driven Execution)*
20
+ - Compare actual changes against **each goal** listed in the implementation document.
21
+ - This is a BINARY check. Partial fulfillment is a Fail ❌.
22
+ - DO NOT suggest alternative designs or code improvements. Your only concern is compliance with the document.
23
+ - If a requirement is ambiguous in the document, surface that ambiguity as a Fail ❌.
24
+
25
+ ### Zero Tolerance for Extraneous Code
26
+ *(from Karpathy: Surgical Changes)*
27
+ - Inspect the codebase using your read and search tools to verify what was changed.
28
+ - If you find code that was NOT explicitly requested in the plan (even if it looks like a good refactor or a nice-to-have fix), you MUST fail the verification and instruct the developer to revert the extraneous changes.
29
+
30
+ ### Categorize the Failure
31
+ If verification fails, you MUST categorize the root cause of the failure:
32
+ - `Implementation_Error`: The developer wrote bugged code or didn't follow the clear plan.
33
+ - `Requirement_Ambiguity`: The plan itself is contradictory, missing edge cases, or logically flawed.
34
+ - `Environment_Blocker`: Code seems right, but builds/tests fail due to missing dependencies, config issues, or OS limitations.
35
+ - `Knowledge_Gap`: Missing context about internal libraries or third-party APIs.
36
+
37
+ ## Approach
38
+
39
+ 1. **Check Requirements Document**: Read the AI implementation document in `{{AI_PLAN_PATH}}` to understand the exact scope.
40
+ 2. **Review Modifications**: Review the Handover Block provided by the Developer to get the exact list of modified files and line ranges. Use `{{READ_TOOL_NAME}}` directly on those specific files to inspect their current contents. You do not need to do a blind search unless the Developer's list is incomplete.
41
+ 3. **Verify Compliance**: Cross-check actual code logic against the requirements and documented plan. Ensure no unrequested changes were made.
42
+ 4. **Handle Discrepancies**: Pass ✅ if all requirements are met. Fail ❌ and output a Handover Block with fix instructions if not.
43
+
44
+ ## Output Format
45
+
46
+ ```
47
+ ### 🤝 Handover Block
48
+ - **Verification Status**: `[✅ Pass | ❌ Fail]`
49
+ - **Failure Category**: `<Implementation_Error | Requirement_Ambiguity | Environment_Blocker | Knowledge_Gap | None>`
50
+ - **Verified Against**: `<absolute path to implementation document>`
51
+ - **Errors / Missing Items**: `<concise list, or 'None' if Pass>`
52
+ - **Key Learnings (if any)**: `<Identify any novel problems solved, new architectural patterns used, or critical errors overcome during this task that should be committed to long-term memory. If none, write 'None'.>`
53
+ - **Recommended Agent**: `<Agent Name if Fail, or 'None' if Pass>`
54
+ - **Fix Instructions**: `<specific description of what needs to be fixed if Fail, or 'None' if Pass>`
55
+ - **Action for Orchestrator**: I have completed my verification. Please refer to your central rules to determine the next step in the workflow (e.g. re-invoke developer, invoke memory keeper, or stop).
56
56
  ```
@@ -1,33 +1,33 @@
1
- ---
2
- name: "Tool Maker"
3
- description: "Use when: a repetitive or error-prone task (like file parsing, data extraction, or log analysis) needs to be automated via a small script to make the AI's autonomous capabilities more reliable."
4
- {{TOOLS_ARRAY_DECLARATION}}
5
- ---
6
-
7
- You are the Tool Maker Agent for the **{{PROJECT_NAME}}** project. Your job is to create small, reliable, and reusable utility scripts (e.g., Python, Node.js, bash) that help the AI system bypass limitations or handle brittle operations (like complex file reading or text processing).
8
-
9
- ## Constraints
10
-
11
- - DO NOT implement core application features.
12
- - DO NOT modify existing application source code unless it's a dedicated utility script directory (e.g., `scripts/ai_tools/`).
13
- - Scripts must be self-contained and require minimal external dependencies.
14
- - Scripts must be designed to be run from a standard terminal (CLI).
15
- - Output of the scripts must be clean, parsable, and AI-friendly (e.g., JSON or clear structured text).
16
-
17
- ## Approach
18
-
19
- 1. **Understand the Bottleneck**: Read the context provided by the Orchestrator regarding what operation is failing or is too repetitive (e.g., "The AI keeps failing to read line ranges in large CSVs").
20
- 2. **Design the Tool**: Choose the appropriate scripting language (usually Python or Node.js depending on the project stack). Ensure it takes clear command-line arguments.
21
- 3. **Implement**: Write the script and save it to the project's scripts directory (e.g., `{{SCRIPTS_DIR}}/`).
22
- 4. **Test**: Run the script using the terminal to verify it works exactly as intended and handles edge cases (like file not found).
23
- 5. **Document**: Add a brief usage example as a comment at the top of the script so other agents know how to use it.
24
-
25
- ## Output Format
26
-
27
- ```
28
- ### 🛠️ Tool Created
29
- - **Tool Path**: `<path to the script>`
30
- - **Usage Command**: `<example command to run it>`
31
- - **Purpose**: <Brief description of what it solves>
32
- - **Action for Orchestrator**: Please pass this tool information back to the agent that requested it, or proceed with the workflow.
1
+ ---
2
+ name: "Tool Maker"
3
+ description: "Use when: a repetitive or error-prone task (like file parsing, data extraction, or log analysis) needs to be automated via a small script to make the AI's autonomous capabilities more reliable."
4
+ {{TOOLS_ARRAY_DECLARATION}}
5
+ ---
6
+
7
+ You are the Tool Maker Agent for the **{{PROJECT_NAME}}** project. Your job is to create small, reliable, and reusable utility scripts (e.g., Python, Node.js, bash) that help the AI system bypass limitations or handle brittle operations (like complex file reading or text processing).
8
+
9
+ ## Constraints
10
+
11
+ - DO NOT implement core application features.
12
+ - DO NOT modify existing application source code unless it's a dedicated utility script directory (e.g., `scripts/ai_tools/`).
13
+ - Scripts must be self-contained and require minimal external dependencies.
14
+ - Scripts must be designed to be run from a standard terminal (CLI).
15
+ - Output of the scripts must be clean, parsable, and AI-friendly (e.g., JSON or clear structured text).
16
+
17
+ ## Approach
18
+
19
+ 1. **Understand the Bottleneck**: Read the context provided by the Orchestrator regarding what operation is failing or is too repetitive (e.g., "The AI keeps failing to read line ranges in large CSVs").
20
+ 2. **Design the Tool**: Choose the appropriate scripting language (usually Python or Node.js depending on the project stack). Ensure it takes clear command-line arguments.
21
+ 3. **Implement**: Write the script and save it to the project's scripts directory (e.g., `{{SCRIPTS_DIR}}/`).
22
+ 4. **Test**: Run the script using the terminal to verify it works exactly as intended and handles edge cases (like file not found).
23
+ 5. **Document**: Add a brief usage example as a comment at the top of the script so other agents know how to use it.
24
+
25
+ ## Output Format
26
+
27
+ ```
28
+ ### 🛠️ Tool Created
29
+ - **Tool Path**: `<path to the script>`
30
+ - **Usage Command**: `<example command to run it>`
31
+ - **Purpose**: <Brief description of what it solves>
32
+ - **Action for Orchestrator**: Please pass this tool information back to the agent that requested it, or proceed with the workflow.
33
33
  ```
@@ -0,0 +1,22 @@
1
+ # Phase 1: Platform & Location Preferences
2
+
3
+ **[State Checkpoint]**
4
+ - Verify the `Target Directory` absolute path passed from the initial context.
5
+
6
+ ## [Discovery & Inquiry Phase]
7
+ 1. Target Selection: First, auto-detect the current environment and target platform (`[Discover]`).
8
+ - Supported target platforms and enforcement levels: see [README § Supported AI IDEs & Tools](../../README.md#supported-ai-ides--tools) (platform-specific scaffold guidance lives in `guidelines/platform-<platform>.md`, listed above). Only **Claude Code** supports hard enforcement via native lifecycle hooks (`exit 2`); all other target platforms operate via prompt-based advisory rules.
9
+ - If interactive inquiry tools (like `vscode_askQuestions`) are available, confirm platform and scope location (Project Level vs Global Level) with the user.
10
+ - If running in a non-interactive terminal or without GUI inquiry tools, proceed with the auto-detected platform and default to Project Level location.
11
+
12
+ ## [Validation & Research Phase]
13
+ 2. Load Guidelines: Read `guidelines/platform-<platform>.md` corresponding to the chosen platform. Treat this local file as the primary source of truth. Avoid unnecessary web searches unless platform APIs are ambiguous.
14
+ 3. Conflict Assessment: Use the loaded layout rules to check if existing agents are already present in the target location within the `Target Directory`.
15
+
16
+ ## [Action Phase: Conflict Resolution]
17
+ 4. Preference Gathering: If interactive inquiry tools are available, confirm Resilience Features configuration; otherwise default to standard resilience.
18
+ 5. Conflict Strategy: If existing agents are found, confirm the Conflict Resolution strategy (Safe Update by default, Backup & Overwrite, or Smart Merge).
19
+
20
+ ## [Record: Handoff]
21
+ 6. State Packaging: Record the selected `Platform`, `Location`, `Resilience Features`, and `Conflict Strategy`.
22
+ 7. Handoff: Load and execute `workflows/02-analysis.md`, passing these variables alongside `Target Directory`.
@@ -0,0 +1,23 @@
1
+ # Phase 2: Project Analysis
2
+
3
+ **[State Checkpoint]**
4
+ - Verify inheritance of `Target Directory`, `Platform`, `Location`, `Resilience Features`, and `Conflict Strategy` from Phase 1.
5
+
6
+ ## [Discovery Phase: Content Extraction]
7
+ 1. Discovery Guide: Read `reference.md` for guidance on repo scanning.
8
+ 2. Target Scanning: Scan `Target Directory` for `README.md`, `AGENTS.md` (or `CLAUDE.md`), and build configuration files (e.g. `package.json`, `*.sln`).
9
+ 3. Safe Extraction: Read discovered files to extract project name, tech stack, build commands, and architectural conventions. Skip missing optional files gracefully.
10
+ 4. Abstraction: Synthesize extracted signals into a concise `Context Profile` to manage context window usage.
11
+
12
+ ## [Elimination & Evaluation Phase]
13
+ 5. Stack Detection: Determine the tech stack based on project files (e.g. `.csproj` for C#, `package.json` for Node/TS).
14
+ 6. Scope Limiting: Check for monorepo configuration (`pnpm-workspace.yaml`, `nx.json`).
15
+ - For monorepos, prompt the user to specify the target package/app rather than scaffolding blindly for the entire repository.
16
+ 7. Subagent Proposal: Recommend relevant specialist roles based on detected files (e.g. Shell Expert if `.sh` scripts exist). Avoid duplicating core agent roles.
17
+
18
+ ## [Action Phase: User Confirmation & Gap Analysis]
19
+ 8. Selection: Present recommended Subagent options to the user (e.g. Requirement Analyzer, Backend Developer, Task Verifier, plus detected specialists).
20
+ 9. Batch Requirements Check: Check selected templates for required placeholders (e.g. `{{DB_TYPE}}`). If missing from `Context Profile`, request missing inputs in one concise inquiry.
21
+
22
+ ## [Record: Handoff]
23
+ 10. Handoff: Load and execute `workflows/03-generation.md`, passing the `Context Profile`, `Selected Agents`, and all Phase 1 variables.
@@ -0,0 +1,27 @@
1
+ # Phase 3: Scaffold Generation
2
+
3
+ **[State Checkpoint]**
4
+ - Verify inheritance of `Target Directory`, `Context Profile`, `Selected Agents`, and Phase 1 variables (`Platform`, `Conflict Strategy`, etc.).
5
+ - Ensure directory context matches `Target Directory` before performing file modifications.
6
+
7
+ ## [Preparation Phase]
8
+ 1. Merge Strategy: Apply the `Conflict Strategy` chosen in Phase 1 without blindly overwriting existing files.
9
+ - If `Smart Merge` is chosen but the target agent belongs to a different platform architecture, default to `Backup & Overwrite` to avoid cross-platform configuration conflicts.
10
+ 2. Semantic Integrity: For Smart Merge, align updates with logical consistency, memory management, and verification guardrails while preserving original YAML frontmatter.
11
+
12
+ ## [Action Phase: Generation]
13
+ 3. Template Iteration: Process selected agents iteratively to manage context usage:
14
+ - Read the corresponding template for each chosen role.
15
+ - If merging into an existing file, read the target file first to preserve custom configuration.
16
+ - Inject cognitive guardrails: role boundaries, shared memory references (`memory-keeper`), and outcome verification guidelines.
17
+ - Align generated prompts with target platform capabilities (e.g. VS Code Copilot, Cursor, Claude Code) and appropriate task-tracking frameworks.
18
+ - Substitute placeholders using the `Context Profile`. If a placeholder remains unresolved, insert a clear comment tag (e.g. `// TODO: Manual configuration needed`).
19
+ - Save generated files to paths defined in `guidelines/platform-<platform>.md`.
20
+ 4. Orchestrator Generation: Consult `guidelines/platform-<platform>.md` for Orchestrator requirements and update central prompts if necessary.
21
+
22
+ ## [Summarize & Verification Phase]
23
+ 5. Integrity Check: Verify generated files exist on disk before reporting completion.
24
+
25
+ ## [Record: Exit]
26
+ 6. Completion: Record successful subagent scaffolding.
27
+ 7. Handoff: Load and execute `workflows/04-launcher.md`, passing the `Context Profile`, `Selected Agents`, and newly created file paths.
@@ -0,0 +1,16 @@
1
+ # Phase 4: Launcher Bootstrapping
2
+
3
+ **[State Checkpoint]**
4
+ - Verify inheritance of `Target Directory`, `Context Profile`, `Selected Agents`, and newly created file paths from Phase 3.
5
+
6
+ ## [Action Phase: Entry Point Generation]
7
+ 1. Entry Point Generation: Read `templates/agent-launcher.md`.
8
+ 2. Handoff Integration: Substitute placeholders using the `Context Profile`. Dynamically inject the paths and roles of `Selected Agents` into the Launcher so it serves as an effective central router.
9
+ 3. Disk Write: Save the launcher entry point to the path specified in platform guidelines.
10
+
11
+ ## [Summarize: Verification]
12
+ 4. Check: Verify the Launcher was created successfully on disk.
13
+
14
+ ## [Record: Exit]
15
+ 5. Completion: Present a clean summary table listing generated agent files and their configured roles.
16
+ 6. UX Handoff: Provide the user with guidance on how to trigger or invoke their new agent scaffold.
@@ -0,0 +1,94 @@
1
+ # Harness Enforcement Plugin for opencode
2
+
3
+ This plugin adds hard enforcement gates for Harness skills in opencode, addressing the limitation that skills are advisory-only in this platform.
4
+
5
+ ## Problem
6
+
7
+ In Claude Code, Harness hooks ENFORCE rules (hard gate). In opencode, skills only SUGGEST rules (soft guidance). This means:
8
+ - Under pressure, agents can bypass skills
9
+ - Verification can be skipped
10
+ - Circuit breaker patterns don't trigger
11
+
12
+ ## Solution
13
+
14
+ This plugin implements three enforcement mechanisms:
15
+
16
+ ### 1. Post-Edit Verification Gate
17
+
18
+ **File:** `hooks/post-edit.js`
19
+
20
+ Records every edit and tracks verification status.
21
+
22
+ ### 2. Pre-Complete Verification Gate
23
+
24
+ **File:** `hooks/pre-complete.js`
25
+
26
+ Blocks completion until verification runs after edits.
27
+
28
+ ### 3. Circuit Breaker
29
+
30
+ **File:** `hooks/circuit-breaker.js`
31
+
32
+ Enforces Rule of 3:
33
+ - Tracks failure signatures
34
+ - Blocks edits after 3 failures on same signature
35
+ - Requires reflection (zoom-out) before resuming
36
+
37
+ ### 4. Compliance Monitor
38
+
39
+ **File:** `hooks/compliance.js`
40
+
41
+ Tracks compliance metrics:
42
+ - Verification compliance rate
43
+ - Circuit breaker trips
44
+ - Pressure resistance metrics
45
+
46
+ ## Installation
47
+
48
+ 1. Copy `opencode-plugin/` to your opencode config directory
49
+ 2. Add to `opencode.json`:
50
+
51
+ ```json
52
+ {
53
+ "plugins": ["./opencode-plugin"]
54
+ }
55
+ ```
56
+
57
+ ## Configuration
58
+
59
+ Edit `plugin.json` to configure:
60
+
61
+ ```json
62
+ {
63
+ "config": {
64
+ "verificationRequired": true,
65
+ "circuitBreakerEnabled": true,
66
+ "maxRetries": 3,
67
+ "verificationCommands": ["npm test", "npm run lint", "npm run build"]
68
+ }
69
+ }
70
+ ```
71
+
72
+ ## Expected Impact
73
+
74
+ | Metric | Before | After (Expected) |
75
+ |--------|--------|------------------|
76
+ | Pressure pass rate | 0% | 80%+ |
77
+ | Verification compliance | Unknown | 95%+ |
78
+ | Circuit breaker enforcement | Advisory only | Hard gate |
79
+
80
+ ## Limitations
81
+
82
+ 1. **Requires opencode plugin support** - opencode must support post-edit hooks
83
+ 2. **State files in user home** - Uses `~/.harness-state/` for persistence
84
+ 3. **No cross-session state** - Each session starts fresh (by design)
85
+
86
+ ## Testing
87
+
88
+ Run the behavioral evals to verify:
89
+
90
+ ```bash
91
+ node behavioral-evals/run.js run --engine opencode
92
+ ```
93
+
94
+ Expected improvement in pressure cases.
@@ -0,0 +1,121 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Circuit Breaker Hook
4
+ *
5
+ * Enforces Rule of 3 for opencode.
6
+ * This hook tracks failures and enforces the circuit breaker pattern:
7
+ * 1. Tracks failure signatures
8
+ * 2. Blocks edits after 3 failures on same signature
9
+ * 3. Requires reflection (zoom-out) before resuming
10
+ */
11
+
12
+ const fs = require('fs');
13
+ const path = require('path');
14
+
15
+ const STATE_DIR = path.join(process.env.HOME || process.env.USERPROFILE, '.harness-state');
16
+ const BREAKER_FILE = path.join(STATE_DIR, 'circuit-breaker.json');
17
+
18
+ function loadBreakerState() {
19
+ try {
20
+ if (fs.existsSync(BREAKER_FILE)) {
21
+ return JSON.parse(fs.readFileSync(BREAKER_FILE, 'utf8'));
22
+ }
23
+ } catch (e) {
24
+ // Ignore parse errors
25
+ }
26
+ return {
27
+ failures: {},
28
+ hardLock: false,
29
+ lastReflection: null
30
+ };
31
+ }
32
+
33
+ function saveBreakerState(state) {
34
+ fs.writeFileSync(BREAKER_FILE, JSON.stringify(state, null, 2));
35
+ }
36
+
37
+ function extractFailureSignature(errorOutput) {
38
+ // Simple signature extraction: first 100 chars of error
39
+ return errorOutput.slice(0, 100).replace(/\s+/g, ' ').trim();
40
+ }
41
+
42
+ function main() {
43
+ const state = loadBreakerState();
44
+
45
+ // Read input from stdin (error output from failed command)
46
+ let input = '';
47
+ process.stdin.setEncoding('utf8');
48
+ process.stdin.on('data', (chunk) => input += chunk);
49
+ process.stdin.on('end', () => {
50
+ const signature = extractFailureSignature(input);
51
+
52
+ if (state.hardLock) {
53
+ // Hard lock active - block all edits
54
+ console.log(JSON.stringify({
55
+ hook: 'circuit-breaker',
56
+ action: 'block',
57
+ reason: 'hard_lock',
58
+ message: 'Circuit breaker hard-locked. Run npm run harness:reset or start new session.',
59
+ signature
60
+ }));
61
+ process.exit(2);
62
+ }
63
+
64
+ // Track failure
65
+ if (!state.failures[signature]) {
66
+ state.failures[signature] = { count: 0, firstSeen: Date.now() };
67
+ }
68
+
69
+ state.failures[signature].count++;
70
+ state.failures[signature].lastSeen = Date.now();
71
+
72
+ // Check if we've hit the limit
73
+ if (state.failures[signature].count >= 3) {
74
+ // Check if reflection happened
75
+ if (state.lastReflection && state.lastReflection > state.failures[signature].firstSeen) {
76
+ // Reflection happened - this is a repeat trip = hard lock
77
+ state.hardLock = true;
78
+ saveBreakerState(state);
79
+
80
+ console.log(JSON.stringify({
81
+ hook: 'circuit-breaker',
82
+ action: 'hard_lock',
83
+ reason: 'repeat_trip_after_reflection',
84
+ count: state.failures[signature].count,
85
+ message: 'Same failure after reflection. Hard-locked. Need human intervention.',
86
+ signature
87
+ }));
88
+ process.exit(2);
89
+ } else {
90
+ // No reflection yet - force reflection
91
+ // Save state first so next invocation knows count >= 3
92
+ saveBreakerState(state);
93
+
94
+ console.log(JSON.stringify({
95
+ hook: 'circuit-breaker',
96
+ action: 'force_reflection',
97
+ reason: 'three_failures',
98
+ count: state.failures[signature].count,
99
+ message: '3 failures on same signature. Must reflect (zoom-out) before retrying.',
100
+ signature,
101
+ instructions: 'Write zoom-out-report.md with: Goal, Failed Attempts, Verified Facts, Diagnosis, Decision'
102
+ }));
103
+ process.exit(2);
104
+ }
105
+ }
106
+
107
+ // Under limit - allow but warn
108
+ saveBreakerState(state);
109
+
110
+ console.log(JSON.stringify({
111
+ hook: 'circuit-breaker',
112
+ action: 'allow',
113
+ count: state.failures[signature].count,
114
+ remaining: 3 - state.failures[signature].count,
115
+ message: `Failure ${state.failures[signature].count}/3. ${3 - state.failures[signature].count} retries remaining.`,
116
+ signature
117
+ }));
118
+ });
119
+ }
120
+
121
+ main();
@@ -0,0 +1,128 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Compliance Monitoring Hook
4
+ *
5
+ * Tracks compliance metrics for Harness skills.
6
+ * This hook monitors and reports:
7
+ * 1. Verification compliance rate
8
+ * 2. Circuit breaker trips
9
+ * 3. Pressure resistance metrics
10
+ */
11
+
12
+ const fs = require('fs');
13
+ const path = require('path');
14
+
15
+ const STATE_DIR = path.join(process.env.HOME || process.env.USERPROFILE, '.harness-state');
16
+ const COMPLIANCE_FILE = path.join(STATE_DIR, 'compliance.json');
17
+
18
+ function loadCompliance() {
19
+ try {
20
+ if (fs.existsSync(COMPLIANCE_FILE)) {
21
+ return JSON.parse(fs.readFileSync(COMPLIANCE_FILE, 'utf8'));
22
+ }
23
+ } catch (e) {
24
+ // Ignore parse errors
25
+ }
26
+ return {
27
+ sessionStart: Date.now(),
28
+ totalEdits: 0,
29
+ verifiedEdits: 0,
30
+ blockedAttempts: 0,
31
+ circuitBreakerTrips: 0,
32
+ reflectionsForced: 0,
33
+ pressureResistanceAttempts: 0,
34
+ pressureResistanceSuccesses: 0
35
+ };
36
+ }
37
+
38
+ function saveCompliance(state) {
39
+ fs.writeFileSync(COMPLIANCE_FILE, JSON.stringify(state, null, 2));
40
+ }
41
+
42
+ function main() {
43
+ const compliance = loadCompliance();
44
+
45
+ // Read event from stdin
46
+ let input = '';
47
+ process.stdin.setEncoding('utf8');
48
+ process.stdin.on('data', (chunk) => input += chunk);
49
+ process.stdin.on('end', () => {
50
+ try {
51
+ const event = JSON.parse(input);
52
+
53
+ // Update compliance based on event
54
+ switch (event.hook) {
55
+ case 'post-edit-verification':
56
+ compliance.totalEdits++;
57
+ break;
58
+
59
+ case 'pre-complete-verification':
60
+ if (event.action === 'block') {
61
+ compliance.blockedAttempts++;
62
+ }
63
+ break;
64
+
65
+ case 'verification-runner':
66
+ if (event.allPassed) {
67
+ compliance.verifiedEdits++;
68
+ }
69
+ break;
70
+
71
+ case 'circuit-breaker':
72
+ if (event.action === 'force_reflection') {
73
+ compliance.circuitBreakerTrips++;
74
+ compliance.reflectionsForced++;
75
+ } else if (event.action === 'hard_lock') {
76
+ compliance.circuitBreakerTrips++;
77
+ }
78
+ break;
79
+
80
+ case 'pressure-resistance':
81
+ compliance.pressureResistanceAttempts++;
82
+ if (event.resisted) {
83
+ compliance.pressureResistanceSuccesses++;
84
+ }
85
+ break;
86
+ }
87
+
88
+ // Calculate metrics
89
+ const verificationRate = compliance.totalEdits > 0
90
+ ? (compliance.verifiedEdits / compliance.totalEdits * 100).toFixed(1)
91
+ : 0;
92
+
93
+ const pressureResistanceRate = compliance.pressureResistanceAttempts > 0
94
+ ? (compliance.pressureResistanceSuccesses / compliance.pressureResistanceAttempts * 100).toFixed(1)
95
+ : 0;
96
+
97
+ saveCompliance(compliance);
98
+
99
+ // Output compliance report
100
+ console.log(JSON.stringify({
101
+ hook: 'compliance-monitor',
102
+ action: 'report',
103
+ metrics: {
104
+ totalEdits: compliance.totalEdits,
105
+ verifiedEdits: compliance.verifiedEdits,
106
+ verificationRate: `${verificationRate}%`,
107
+ blockedAttempts: compliance.blockedAttempts,
108
+ circuitBreakerTrips: compliance.circuitBreakerTrips,
109
+ reflectionsForced: compliance.reflectionsForced,
110
+ pressureResistanceAttempts: compliance.pressureResistanceAttempts,
111
+ pressureResistanceSuccesses: compliance.pressureResistanceSuccesses,
112
+ pressureResistanceRate: `${pressureResistanceRate}%`
113
+ },
114
+ message: `Verification: ${verificationRate}% | Pressure Resistance: ${pressureResistanceRate}%`
115
+ }));
116
+
117
+ } catch (e) {
118
+ // Invalid input
119
+ console.log(JSON.stringify({
120
+ hook: 'compliance-monitor',
121
+ action: 'error',
122
+ message: 'Invalid event data'
123
+ }));
124
+ }
125
+ });
126
+ }
127
+
128
+ main();