harness-everything 0.2.2 → 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 (496) 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 +10 -10
  174. package/docs/workflows/eval-harness.md +13 -6
  175. package/docs/workflows/fable-discipline.md +9 -9
  176. package/docs/workflows/fable-mode.md +29 -32
  177. package/docs/workflows/find-skills.md +36 -0
  178. package/docs/workflows/git-commit.md +18 -9
  179. package/docs/workflows/grill-me.md +11 -11
  180. package/docs/workflows/grill-with-docs.md +14 -7
  181. package/docs/workflows/harness-everything.md +95 -92
  182. package/docs/workflows/improve-codebase-architecture.md +15 -7
  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 +12 -7
  186. package/docs/workflows/security-review.md +26 -7
  187. package/docs/workflows/self-evolve.md +27 -44
  188. package/docs/workflows/skill-creator.md +80 -75
  189. package/docs/workflows/skill-style.md +64 -64
  190. package/docs/workflows/tdd.md +42 -39
  191. package/docs/workflows/to-spec.md +83 -0
  192. package/docs/workflows/to-tickets.md +80 -0
  193. package/docs/workflows/todo-driven-workflow.md +34 -36
  194. package/docs/workflows/using-git-worktrees.md +12 -8
  195. package/docs/workflows/verification-loop.md +16 -14
  196. package/docs/workflows/verify-before-claim.md +12 -8
  197. package/docs/workflows/zoom-out.md +22 -10
  198. package/environment-detection/SKILL.md +25 -61
  199. package/environment-detection/references/shell-syntax-rules.md +76 -0
  200. package/environment-detection/scripts/preflight.js +103 -93
  201. package/eval-framework/fixtures/bad-frontmatter-colon/SKILL.md +14 -0
  202. package/eval-framework/fixtures/duplicate-desc-skill-a/SKILL.md +14 -0
  203. package/eval-framework/fixtures/duplicate-desc-skill-b/SKILL.md +14 -0
  204. package/eval-framework/fixtures/missing-delimiter/SKILL.md +13 -0
  205. package/eval-framework/fixtures/over-budget-skill/SKILL.md +36 -0
  206. package/eval-harness/SKILL.md +34 -51
  207. package/eval-harness/references/scoring-rubric.md +68 -0
  208. package/eval-harness/scripts/evaluate.js +77 -61
  209. package/evals/environment-detection/eval.yaml +26 -0
  210. package/evals/environment-detection/tasks/negative-trigger.yaml +16 -0
  211. package/evals/environment-detection/tasks/positive-trigger.yaml +15 -0
  212. package/evals/eval-harness/eval.yaml +26 -0
  213. package/evals/eval-harness/tasks/negative-trigger.yaml +16 -0
  214. package/evals/eval-harness/tasks/positive-trigger.yaml +15 -0
  215. package/evals/fable-discipline/eval.yaml +26 -0
  216. package/evals/fable-discipline/tasks/negative-trigger.yaml +16 -0
  217. package/evals/fable-discipline/tasks/positive-trigger.yaml +15 -0
  218. package/evals/fable-mode/eval.yaml +26 -0
  219. package/evals/fable-mode/tasks/negative-tier2-no-model.yaml +18 -0
  220. package/evals/fable-mode/tasks/negative-trigger.yaml +16 -0
  221. package/evals/fable-mode/tasks/positive-haiku-mode.yaml +16 -0
  222. package/evals/fable-mode/tasks/positive-opus-mode.yaml +16 -0
  223. package/evals/fable-mode/tasks/positive-sonnet-mode.yaml +16 -0
  224. package/evals/fable-mode/tasks/positive-trigger.yaml +15 -0
  225. package/evals/find-skills/eval.yaml +26 -0
  226. package/evals/find-skills/tasks/negative-trigger.yaml +16 -0
  227. package/evals/find-skills/tasks/positive-trigger.yaml +15 -0
  228. package/evals/git-commit/eval.yaml +26 -0
  229. package/evals/git-commit/tasks/negative-trigger.yaml +16 -0
  230. package/evals/git-commit/tasks/positive-trigger.yaml +15 -0
  231. package/evals/grill-me/eval.yaml +26 -0
  232. package/evals/grill-me/tasks/negative-trigger.yaml +16 -0
  233. package/evals/grill-me/tasks/positive-trigger.yaml +15 -0
  234. package/evals/grill-with-docs/eval.yaml +26 -0
  235. package/evals/grill-with-docs/tasks/negative-trigger.yaml +16 -0
  236. package/evals/grill-with-docs/tasks/positive-trigger.yaml +15 -0
  237. package/evals/harness-everything/eval.yaml +26 -0
  238. package/evals/harness-everything/tasks/negative-non-software.yaml +16 -0
  239. package/evals/harness-everything/tasks/negative-skill-indicated.yaml +15 -0
  240. package/evals/harness-everything/tasks/positive-tier1.yaml +16 -0
  241. package/evals/harness-everything/tasks/positive-tier2.yaml +16 -0
  242. package/evals/harness-everything/tasks/positive-tier3.yaml +16 -0
  243. package/evals/improve-codebase-architecture/eval.yaml +26 -0
  244. package/evals/improve-codebase-architecture/tasks/negative-trigger.yaml +16 -0
  245. package/evals/improve-codebase-architecture/tasks/positive-trigger.yaml +15 -0
  246. package/evals/install-cognitive-os/eval.yaml +26 -0
  247. package/evals/install-cognitive-os/tasks/negative-trigger.yaml +16 -0
  248. package/evals/install-cognitive-os/tasks/positive-trigger.yaml +15 -0
  249. package/evals/multi-agent-workspace/eval.yaml +26 -0
  250. package/evals/multi-agent-workspace/tasks/negative-trigger.yaml +15 -0
  251. package/evals/multi-agent-workspace/tasks/positive-trigger.yaml +15 -0
  252. package/evals/repo-docs/eval.yaml +26 -0
  253. package/evals/repo-docs/tasks/negative-trigger.yaml +16 -0
  254. package/evals/repo-docs/tasks/positive-trigger.yaml +15 -0
  255. package/evals/rewrite-commits/eval.yaml +26 -0
  256. package/evals/rewrite-commits/tasks/negative-trigger.yaml +16 -0
  257. package/evals/rewrite-commits/tasks/positive-trigger.yaml +15 -0
  258. package/evals/security-review/eval.yaml +26 -0
  259. package/evals/security-review/tasks/negative-trigger.yaml +16 -0
  260. package/evals/security-review/tasks/positive-trigger.yaml +15 -0
  261. package/evals/self-evolve/eval.yaml +26 -0
  262. package/evals/self-evolve/tasks/negative-trigger.yaml +16 -0
  263. package/evals/self-evolve/tasks/positive-trigger.yaml +15 -0
  264. package/evals/skill-creator/eval.yaml +26 -0
  265. package/evals/skill-creator/tasks/negative-trigger.yaml +16 -0
  266. package/evals/skill-creator/tasks/positive-trigger.yaml +15 -0
  267. package/evals/skill-style/eval.yaml +26 -0
  268. package/evals/skill-style/tasks/negative-trigger.yaml +16 -0
  269. package/evals/skill-style/tasks/positive-trigger.yaml +15 -0
  270. package/evals/tdd/eval.yaml +26 -0
  271. package/evals/tdd/tasks/negative-trivia.yaml +16 -0
  272. package/evals/tdd/tasks/positive-bugfix.yaml +15 -0
  273. package/evals/tdd/tasks/positive-feature.yaml +16 -0
  274. package/evals/tdd/tasks/positive-refactor.yaml +15 -0
  275. package/evals/to-spec/eval.yaml +26 -0
  276. package/evals/to-spec/tasks/negative-trigger.yaml +16 -0
  277. package/evals/to-spec/tasks/positive-trigger.yaml +15 -0
  278. package/evals/to-tickets/eval.yaml +26 -0
  279. package/evals/to-tickets/tasks/negative-trigger.yaml +15 -0
  280. package/evals/to-tickets/tasks/positive-trigger.yaml +15 -0
  281. package/evals/todo-driven-workflow/eval.yaml +26 -0
  282. package/evals/todo-driven-workflow/tasks/negative-single-edit.yaml +16 -0
  283. package/evals/todo-driven-workflow/tasks/positive-multi-step.yaml +15 -0
  284. package/evals/todo-driven-workflow/tasks/positive-refactor-flow.yaml +15 -0
  285. package/evals/using-git-worktrees/eval.yaml +26 -0
  286. package/evals/using-git-worktrees/tasks/negative-trigger.yaml +15 -0
  287. package/evals/using-git-worktrees/tasks/positive-trigger.yaml +15 -0
  288. package/evals/verification-loop/eval.yaml +26 -0
  289. package/evals/verification-loop/tasks/negative-discussion.yaml +16 -0
  290. package/evals/verification-loop/tasks/positive-pre-ship.yaml +15 -0
  291. package/evals/verify-before-claim/eval.yaml +26 -0
  292. package/evals/verify-before-claim/tasks/negative-trigger.yaml +16 -0
  293. package/evals/verify-before-claim/tasks/positive-trigger.yaml +15 -0
  294. package/evals/zoom-out/eval.yaml +26 -0
  295. package/evals/zoom-out/tasks/negative-trivial-edit.yaml +16 -0
  296. package/evals/zoom-out/tasks/positive-repeated-failure.yaml +15 -0
  297. package/fable-discipline/SKILL.md +31 -28
  298. package/fable-discipline/references/discipline-rules.md +22 -0
  299. package/fable-mode/CONTRACT-FORMAT.md +51 -51
  300. package/fable-mode/SKILL.md +31 -43
  301. package/fable-mode/agents/fable-orchestrator.md +99 -92
  302. package/fable-mode/agents/fable-verifier.md +32 -32
  303. package/fable-mode/agents/fable-worker-haiku.md +52 -48
  304. package/fable-mode/agents/fable-worker-sonnet.md +53 -49
  305. package/fable-mode/execution-guardrails/SKILL.md +43 -87
  306. package/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  307. package/fable-mode/fable-haiku/SKILL.md +36 -48
  308. package/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  309. package/fable-mode/fable-opus/SKILL.md +36 -0
  310. package/fable-mode/fable-sonnet/SKILL.md +36 -0
  311. package/fable-mode/model-matrix.json +32 -0
  312. package/fable-mode/references/execution-phases.md +37 -0
  313. package/fable-mode/references/model-matrix.md +39 -0
  314. package/fable-mode/scripts/model-selector.js +129 -0
  315. package/find-skills/SKILL.md +48 -0
  316. package/find-skills/references/discovery-flow.md +102 -0
  317. package/find-skills/scripts/use-skill.js +106 -0
  318. package/git-commit/SKILL.md +35 -45
  319. package/git-commit/guides/ANGULAR_STYLE.md +60 -60
  320. package/git-commit/guides/COMMIT_GENERATION.md +23 -23
  321. package/git-commit/guides/LANGUAGE_DETECTION.md +16 -16
  322. package/git-commit/guides/MAIN_REPO.md +14 -14
  323. package/git-commit/guides/SUBMODULES.md +27 -27
  324. package/git-commit/references/commit-flow.md +30 -0
  325. package/grill-me/SKILL.md +34 -27
  326. package/grill-me/references/grilling-playbook.md +38 -0
  327. package/grill-with-docs/ADR-FORMAT.md +47 -47
  328. package/grill-with-docs/CONTEXT-FORMAT.md +63 -63
  329. package/grill-with-docs/SKILL.md +33 -91
  330. package/grill-with-docs/references/session-playbook.md +97 -0
  331. package/harness-everything/SKILL.md +29 -128
  332. package/harness-everything/examples/README.md +9 -9
  333. package/harness-everything/examples/todo-workflow.md +22 -22
  334. package/harness-everything/references/skill-registry.md +39 -0
  335. package/harness-everything/references/triage-and-tiers.md +116 -0
  336. package/harness-everything/scripts/bootstrap.js +203 -140
  337. package/harness-everything/scripts/routing-keywords.json +320 -0
  338. package/harness-everything/scripts/self-heal.js +241 -189
  339. package/harness-everything/scripts/tier-router.js +334 -219
  340. package/harness-everything/scripts/verify-gate.js +100 -31
  341. package/hooks/hooks.json +155 -155
  342. package/hooks/scripts/atomic-commit-check.js +68 -68
  343. package/hooks/scripts/boundary-guard.js +55 -55
  344. package/hooks/scripts/context-compact.js +114 -114
  345. package/hooks/scripts/contract-test.js +79 -79
  346. package/hooks/scripts/depth-guard.js +65 -65
  347. package/hooks/scripts/lib/harness-state.js +139 -228
  348. package/hooks/scripts/lib/platforms/claude.js +72 -19
  349. package/hooks/scripts/lib/platforms/codex.js +24 -6
  350. package/hooks/scripts/lib/platforms/continue.js +23 -5
  351. package/hooks/scripts/lib/platforms/copilot.js +23 -5
  352. package/hooks/scripts/lib/platforms/cursor.js +23 -5
  353. package/hooks/scripts/lib/platforms/hermes.js +57 -57
  354. package/hooks/scripts/lib/platforms/index.js +17 -17
  355. package/hooks/scripts/lib/platforms/worktrees.js +20 -20
  356. package/hooks/scripts/reset-circuit-breaker.js +30 -30
  357. package/hooks/scripts/rule-of-3-tracker.js +124 -91
  358. package/hooks/scripts/rule-of-3.js +187 -176
  359. package/hooks/scripts/state-persist.js +99 -99
  360. package/hooks/scripts/stop-gate.js +80 -80
  361. package/hooks/scripts/subagent-scope-guard.js +88 -88
  362. package/improve-codebase-architecture/SKILL.md +31 -35
  363. package/improve-codebase-architecture/guides/DEEPENING.md +37 -37
  364. package/improve-codebase-architecture/guides/HTML-REPORT.md +123 -123
  365. package/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -44
  366. package/improve-codebase-architecture/guides/LANGUAGE.md +53 -53
  367. package/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  368. package/install-cognitive-os/SKILL.md +23 -80
  369. package/install-cognitive-os/references/cognitive-loop.md +27 -0
  370. package/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  371. package/multi-agent-workspace/SKILL.md +37 -0
  372. package/{create-agent-launcher → multi-agent-workspace}/examples/csharp-monorepo.md +123 -123
  373. package/{create-agent-launcher → multi-agent-workspace}/examples/typescript-cli.md +126 -126
  374. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-claude.md +77 -77
  375. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-codex.md +146 -146
  376. package/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  377. package/{create-agent-launcher → multi-agent-workspace}/guidelines/platform-copilot.md +74 -74
  378. package/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  379. package/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  380. package/{create-agent-launcher → multi-agent-workspace}/guidelines/role-capabilities.md +108 -108
  381. package/multi-agent-workspace/references/agency-agents.md +31 -0
  382. package/multi-agent-workspace/references/architecture-guide.md +32 -0
  383. package/multi-agent-workspace/references/orchestration.md +48 -0
  384. package/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  385. package/multi-agent-workspace/scripts/index_memory.js +51 -0
  386. package/multi-agent-workspace/scripts/scaffold.js +253 -0
  387. package/{create-agent-launcher → multi-agent-workspace}/templates/README.md +17 -17
  388. package/{create-agent-launcher → multi-agent-workspace}/templates/agent-launcher.md +67 -67
  389. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-csharp.md +55 -55
  390. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-polyglot.md +61 -61
  391. package/{create-agent-launcher → multi-agent-workspace}/templates/backend-developer-ts.md +56 -56
  392. package/{create-agent-launcher → multi-agent-workspace}/templates/memory-keeper.md +36 -36
  393. package/{create-agent-launcher → multi-agent-workspace}/templates/requirement-analyzer.md +65 -65
  394. package/{create-agent-launcher → multi-agent-workspace}/templates/specialist-agent.md +34 -34
  395. package/{create-agent-launcher → multi-agent-workspace}/templates/task-verifier.md +55 -55
  396. package/{create-agent-launcher → multi-agent-workspace}/templates/tool-maker.md +32 -32
  397. package/multi-agent-workspace/workflows/01-init.md +22 -0
  398. package/multi-agent-workspace/workflows/02-analysis.md +23 -0
  399. package/multi-agent-workspace/workflows/03-generation.md +27 -0
  400. package/multi-agent-workspace/workflows/04-launcher.md +16 -0
  401. package/opencode-plugin/README.md +94 -0
  402. package/opencode-plugin/hooks/circuit-breaker.js +121 -0
  403. package/opencode-plugin/hooks/compliance.js +128 -0
  404. package/opencode-plugin/hooks/post-edit.js +62 -0
  405. package/opencode-plugin/hooks/pre-complete.js +65 -0
  406. package/opencode-plugin/hooks/verify.js +140 -0
  407. package/opencode-plugin/plugin.json +17 -0
  408. package/opencode-plugin/test-hook-firing.js +198 -0
  409. package/package.json +50 -22
  410. package/references/definition-of-done.md +67 -0
  411. package/references/performance-checklist.md +153 -0
  412. package/references/platform-advisory-template.md +58 -0
  413. package/references/security-checklist.md +205 -0
  414. package/repo-docs/SKILL.md +38 -37
  415. package/repo-docs/references/process-guide.md +60 -0
  416. package/repo-docs/templates/agents-template.md +264 -264
  417. package/repo-docs/templates/knowledge-agents-template.md +50 -50
  418. package/repo-docs/templates/knowledge-readme-template.md +83 -83
  419. package/repo-docs/templates/manual-recon.md +117 -117
  420. package/repo-docs/templates/multi-skills-readme-template.md +72 -72
  421. package/repo-docs/templates/product-agents-template.md +78 -78
  422. package/repo-docs/templates/product-readme-template.md +95 -95
  423. package/repo-docs/templates/readme-template.md +136 -136
  424. package/repo-docs/templates/single-skill-readme-template.md +70 -70
  425. package/repo-docs/templates/skills-agents-template.md +60 -60
  426. package/rewrite-commits/SKILL.md +22 -17
  427. package/rewrite-commits/references/workflow.md +18 -0
  428. package/scripts/installer.js +546 -506
  429. package/scripts/lib/advisory-text.js +8 -4
  430. package/scripts/lib/claude-hooks.js +18 -5
  431. package/scripts/lib/gitignore.js +199 -80
  432. package/scripts/lib/manifest.js +68 -4
  433. package/scripts/lib/prompts.js +1 -1
  434. package/scripts/lib/skills.js +87 -1
  435. package/scripts/verify-install.js +147 -0
  436. package/security-review/SKILL.md +35 -496
  437. package/security-review/guides/OWASP-PATTERNS.md +31 -0
  438. package/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  439. package/security-review/references/security-checklist.md +478 -0
  440. package/security-review/scripts/audit-secrets.js +84 -0
  441. package/self-evolve/SKILL.md +38 -45
  442. package/self-evolve/references/memory-resolution.md +58 -0
  443. package/self-evolve/scripts/persist-memory.js +139 -40
  444. package/self-evolve/scripts/register-dynamic-skill.js +251 -0
  445. package/self-evolve/scripts/self-regression.js +110 -113
  446. package/skill-creator/SKILL.md +34 -76
  447. package/skill-creator/references/authoring-workflow.md +14 -0
  448. package/skill-creator/references/dynamic-generation-contract.md +21 -0
  449. package/skill-creator/references/quality-checklist.md +15 -0
  450. package/skill-creator/references/quality-principles.md +81 -81
  451. package/skill-creator/references/testing-workflow.md +27 -32
  452. package/skill-style/SKILL.md +33 -39
  453. package/skill-style/references/style-guide.md +36 -0
  454. package/tdd/SKILL.md +34 -43
  455. package/tdd/guides/deep-modules.md +33 -33
  456. package/tdd/guides/interface-design.md +31 -31
  457. package/tdd/guides/mocking.md +59 -59
  458. package/tdd/guides/refactoring.md +10 -10
  459. package/tdd/guides/tests.md +61 -61
  460. package/tdd/references/core-discipline.md +49 -0
  461. package/to-spec/SKILL.md +42 -0
  462. package/to-spec/references/process.md +77 -0
  463. package/to-spec/scripts/check-project-docs.js +259 -0
  464. package/to-spec/templates/cli-reference.md +31 -0
  465. package/to-spec/templates/dev-doc.md +27 -0
  466. package/to-spec/templates/feature-spec.md +59 -0
  467. package/to-spec/templates/schema-doc.md +31 -0
  468. package/to-tickets/SKILL.md +42 -0
  469. package/to-tickets/references/publishing-and-templates.md +97 -0
  470. package/todo-driven-workflow/SKILL.md +27 -41
  471. package/todo-driven-workflow/references/execution-guide.md +27 -0
  472. package/using-git-worktrees/SKILL.md +29 -141
  473. package/using-git-worktrees/references/workflow-details.md +108 -0
  474. package/verification-loop/SKILL.md +29 -121
  475. package/verification-loop/references/verification-phases.md +116 -0
  476. package/verification-loop/templates/verification-report.template.md +15 -0
  477. package/verify-before-claim/SKILL.md +27 -70
  478. package/verify-before-claim/references/verification-guide.md +73 -0
  479. package/zoom-out/SKILL.md +28 -76
  480. package/zoom-out/references/circuit-breaker.md +66 -0
  481. package/zoom-out/templates/zoom-out-report.template.md +20 -0
  482. package/build-multi-agent-system/AGENTS.md +0 -50
  483. package/build-multi-agent-system/README.md +0 -63
  484. package/build-multi-agent-system/SKILL.md +0 -68
  485. package/create-agent-launcher/SKILL.md +0 -48
  486. package/create-agent-launcher/guidelines/platform-gemini.md +0 -101
  487. package/create-agent-launcher/workflows/01-init.md +0 -22
  488. package/create-agent-launcher/workflows/02-analysis.md +0 -26
  489. package/create-agent-launcher/workflows/03-generation.md +0 -29
  490. package/create-agent-launcher/workflows/04-launcher.md +0 -20
  491. package/docs/workflows/build-multi-agent-system.md +0 -62
  492. package/docs/workflows/create-agent-launcher.md +0 -62
  493. package/eval-framework/behavioral-test.js +0 -105
  494. package/eval-framework/mechanism-test.js +0 -251
  495. package/harness-everything/scripts/todo-cli.js +0 -157
  496. package/skill-style/STYLE.md +0 -37
@@ -1,34 +1,48 @@
1
- # Harness Reflection, Memory & Self-Evolution
2
-
3
- AI models are notorious for forgetting lessons learned in previous coding sessions. When a bug is solved, if the developer opens a new terminal or launches a new AI session, the agent may encounter the same environment quirks or framework gotchas and make the exact same mistakes again.
4
-
5
- Harness solves this through its **Self-Evolution and Persistent Memory system**.
6
-
7
- ---
8
-
9
- ## The Transaction Log (WAL) & Session Handoff
10
-
11
- Harness maintains a lightweight transaction log (analogous to a Write-Ahead Log in databases) via `hooks/scripts/state-persist.js`.
12
-
13
- * **Continuous Capture:** Every successful tool use or milestone is recorded in the session transaction log.
14
- * **Handoff File:** A session handoff checkpoint is saved in the workspace.
15
- * **Session Start Recovery:** Upon starting a new session, the `bootstrap.js` hook reads the handoff file. It automatically "wakens" the agent, restoring the previous task state, completed milestones, and pending actions. This completely eliminates "session restart amnesia."
16
-
17
- ---
18
-
19
- ## Long-term Memory & Workspace Rules
20
-
21
- When a complex issue—such as an environment-specific bug, a unique framework quirk, or a custom build command requirement—is successfully resolved:
22
-
23
- 1. **Deep Reflection:** Harness triggers the `self-evolve` skill, directing the model to reflect on the root cause and extract the exact pattern.
24
- 2. **Rule Generation:** The model abstracts the learning into a concise rule (avoiding generic prompt prose).
25
- 3. **RULES.md Integration:** The rule is appended or merged into local workspace rules (usually under a `RULES.md` or a customized folder).
26
- 4. **Self-Regression Validation:** Before any new rule is persisted, Harness executes the `self-regression.js` test suite. This ensures that the generated rules do not conflict with existing core rules and that all script syntax is 100% correct, preventing behavior decay.
27
-
28
- ---
29
-
30
- ## The Benefits of Self-Evolution
31
-
32
- * **Immunization:** The workspace is permanently "immunized" against recurring bugs.
33
- * **Team Alignment:** Because rules are checked into Git, every developer (and every AI agent they launch) immediately benefits from the shared, updated knowledge base.
34
- * **Token Efficiency:** Rather than the user repeatedly reminding the AI about custom project structures or conventions, the agent reads them natively from the immunized RULES file.
1
+ # Harness Reflection, Memory & Self-Evolution
2
+
3
+ AI models are notorious for forgetting lessons learned in previous coding sessions. When a bug is solved, if the developer opens a new terminal or launches a new AI session, the agent may encounter the same environment quirks or framework gotchas and make the exact same mistakes again.
4
+
5
+ Harness solves this through its **Self-Evolution and Persistent Memory system**.
6
+
7
+ ---
8
+
9
+ ## The Transaction Log (WAL) & Session Handoff
10
+
11
+ Harness maintains a lightweight transaction log (analogous to a Write-Ahead Log in databases) via `hooks/scripts/state-persist.js`.
12
+
13
+ * **Continuous Capture:** Every successful tool use or milestone is recorded in the session transaction log.
14
+ * **Handoff File:** A session handoff checkpoint is saved in the workspace.
15
+ * **Session Start Recovery:** Upon starting a new session, the `bootstrap.js` hook reads the handoff file. It automatically "wakens" the agent, restoring the previous task state, completed milestones, and pending actions. This completely eliminates "session restart amnesia."
16
+
17
+ ---
18
+
19
+ ## Long-term Memory & Workspace Rules
20
+
21
+ When a complex issue—such as an environment-specific bug, a unique framework quirk, or a custom build command requirement—is successfully resolved:
22
+
23
+ 1. **Deep Reflection:** Harness triggers the `self-evolve` skill, directing the model to reflect on the root cause and extract the exact pattern.
24
+ 2. **Rule Generation:** The model abstracts the learning into a concise rule (avoiding generic prompt prose).
25
+ 3. **Memory vs. Dynamic Skill Judgment:** The model decides whether the insight is a simple, localized tip or a reusable, complex procedure — packaging every lesson as a skill would bloat context for no benefit, so this is a deliberate gate, not the default.
26
+ * **Simple Rule (default path):** Appended to local workspace rules (`RULES.md`, or a customized folder) via `persist-memory.js`.
27
+ * **Dynamic Skill (exception path):** Written as a standalone `SKILL.md` under `.claude/harness-everything/skills/generated/<name>/` per `skill-creator`'s Dynamic Skill Generation Contract (with `status: draft` lifecycle metadata and required `triggers:` keywords), then registered via `register-dynamic-skill.js` into `manifest.json`. From there, `tier-router.js` scans and auto-surfaces it in future sessions whenever its triggers match the prompt — closing the loop from "learned once" to "discovered automatically," not just recorded.
28
+ 4. **Self-Regression Validation:** Before any new rule or dynamic skill is persisted, Harness executes the `self-regression.js` test suite. This ensures that the generated rules/skills do not conflict with existing core rules and that all script syntax is 100% correct, preventing behavior decay.
29
+
30
+ ---
31
+
32
+ ## External Skills: A Deliberately *Different* Loop for Third-Party Content
33
+
34
+ `self-evolve`'s `generated[]` skills are self-authored — this workspace's own agent wrote them, `skill-creator` quality-gates them, and their lifecycle (`draft` → `active` → `deprecated`) is entirely Harness's to track. `find-skills` closes an adjacent gap — a capability that's neither in the static registry nor something this workspace has already learned, but that a third-party skill on `skills.sh` covers — and it was tempting to mirror `generated[]`'s exact mechanism for it (cache the skill's path + triggers in `manifest.json`, let `tier-router.js` auto-surface it the same way).
35
+
36
+ That mirroring was tried and deliberately reverted: `generated[]` is safe to cache because Harness owns the whole lifecycle behind it. A skill fetched via `npx skills add` has none of that guarantee — its author can update the `SKILL.md` at any time, or the user can run `npx skills update`/`remove` independently of Harness, and a cached copy of its `description`/`triggers` from install time would silently drift out of sync with no mechanism to notice. Caching it anyway would launder unaudited, unowned third-party content into the same trust tier as `generated[]`'s self-authored, quality-gated content — a category error, not just a missing feature.
37
+
38
+ So `find-skills` queries live instead of caching bookkeeping, and — a step further — defaults to never installing anything in the first place. `npx skills` already ships an ephemeral mode built for exactly this (`npx skills use <source>`): it fetches a skill and prints its content as a ready-to-follow prompt without installing it anywhere. `find-skills/scripts/use-skill.js` wraps that call behind a content-addressed cache under the OS temp directory (`os.tmpdir()/harness-find-skills-cache/<sha1-of-source>.md`, default 6h freshness) — a real fetch on first lookup, then zero network cost on repeat lookups of the same source, and nothing written to the repo, to a platform's native skill directory, or to `manifest.json`. When the OS eventually reclaims that temp directory, that's the entire "cleanup" story - no explicit expiry logic to maintain, because there was never any permanent state to expire.
39
+
40
+ Permanent install (`npx skills add`) still exists, but only as an explicit exception the user opts into when they know they'll reuse a skill across many future sessions - never the default `find-skills` reaches for. Checking `npx skills list` (§0.3 in `find-skills/SKILL.md`) only ever finds something from that rare path; the default ephemeral path never shows up there, by design, because it never installs. This is the actual answer to "won't skills pile up and bloat context over time?" - most borrowed knowledge is solved-once, applied-once, and leaves nothing behind. Only the deliberate minority a human chooses to keep ever accumulates, and that minority is small enough to stay legible without any Harness-side tracking.
41
+
42
+ ---
43
+
44
+ ## The Benefits of Self-Evolution
45
+
46
+ * **Immunization:** The workspace is permanently "immunized" against recurring bugs.
47
+ * **Team Alignment:** Because rules are checked into Git, every developer (and every AI agent they launch) immediately benefits from the shared, updated knowledge base.
48
+ * **Token Efficiency:** Rather than the user repeatedly reminding the AI about custom project structures or conventions, the agent reads them natively from the immunized RULES file.
package/docs/routing.md CHANGED
@@ -1,45 +1,58 @@
1
- # Harness Routing & Task Triage
2
-
3
- To prevent both over-engineering and under-planning, Harness classifies every user request into one of three execution tiers. This ensures that trivial tasks are executed instantly without unnecessary bloat, while complex architectural refactoring is strictly designed and verified.
4
-
5
- ---
6
-
7
- ## The Three-Tier Routing System
8
-
9
- Upon receiving a request, the `tier-router.js` script analyzes the scope, affected files, and instruction patterns to route the task:
10
-
11
- ```
12
- [ User Request ]
13
- |
14
- v
15
- [ Triage Analysis ]
16
- / | \
17
- / | \
18
- (Trivial) (Standard) (Macro)
19
- / | \
20
- v v v
21
- [ Tier 1 ] [ Tier 2 ] [ Tier 3 ]
22
- Direct Edit Test-Driven (TDD) Multi-Agent Flow
23
- (No plans) (Red-Green-Refactor) (Fable-Mode)
24
- ```
25
-
26
- ### Tier 1: Trivial Tasks (Direct Execution)
27
- * **Trigger criteria:** Single-file edits, typos, simple styling fixes, readme corrections, or clean-up tasks.
28
- * **Behavior:** Harness bypasses plans, code-reviews, and sub-agents. The model is directed to make the edit directly and complete the task, consuming minimal tokens.
29
- * **Verification:** Basic syntax checks or a quick compile verify success.
30
-
31
- ### Tier 2: Standard Tasks (Test-Driven Development)
32
- * **Trigger criteria:** Normal feature requests, bug fixes, algorithm additions, API endpoint creations, or any task affecting multiple files with logical risk.
33
- * **Behavior:** Harness enforces the `todo-driven-workflow` base execution loop (initialize a 3-7 item verifiable checklist before editing, one item in-progress at a time) and the `tdd` skill. The model is strictly guided through the Red-Green-Refactor loop:
34
- 1. **Red:** Write an automated test first that reproduces the issue or covers the feature, then run it to verify failure.
35
- 2. **Green:** Implement the minimal amount of code to make the test pass.
36
- 3. **Refactor:** Polish the code, clean up duplicates, and ensure coverage targets (minimum 80%) are met.
37
- * **Verification:** Strict execution of the test suite.
38
-
39
- ### Tier 3: Macro Tasks (Multi-Agent/Fable-Mode)
40
- * **Trigger criteria:** High-level design changes, migration of modules, large-scale refactoring, or major capability additions affecting multiple domains.
41
- * **Behavior:** Harness automatically spawns the multi-agent orchestration engine (`fable-mode` and `create-agent-launcher`), with the macro plan materialized as the `todo-driven-workflow` checklist.
42
- 1. **Planning:** An agent constructs a rigorous, phase-based implementation plan.
43
- 2. **Delegation:** Specialized sub-agents (e.g., `security-reviewer`, `database-reviewer`, `code-reviewer`) are created to handle specific work streams or audits.
44
- 3. **Handoffs:** Session handoffs are saved periodically to ensure that if a session limits out or restarts, the progress is seamlessly restored.
45
- * **Verification:** Multi-layer unit, integration, and E2E verification loops.
1
+ # Harness Routing & Task Triage
2
+
3
+ To prevent both over-engineering and under-planning, Harness classifies every user request into one of three execution tiers. This ensures that trivial tasks are executed instantly without unnecessary bloat, while complex architectural refactoring is strictly designed and verified.
4
+
5
+ This is a default, not an order: `tier-router.js`'s own output tells the agent to follow its own read of the task when it clearly disagrees, and an explicit instruction from the Human Partner always wins. The keyword heuristic exists to catch the common case cheaply and deterministically, not to override judgment when it's wrong - the tier-router hook and the `zoom-out` step-back-and-retry loop are the safety net for when a hard call is actually needed, not the routing keywords themselves.
6
+
7
+ ## Tuning the keyword heuristic
8
+
9
+ `tier-router.js` reads its keyword/guide tables from the sibling `harness-everything/scripts/routing-keywords.json` instead of hardcoding them. Edit that file directly to retune which prompts route to Tier 2/3 or surface a given knowledge guide - no code changes, no re-install, and it travels with `tier-router.js` automatically on every install/update since it lives in the same skill folder. Each `guideGroups` entry matches via a plain-substring `keywords` array (case-insensitive OR) or a `regex` source string; if the file is missing or hand-edited into invalid JSON, the router fails open (empty tables, Tier 1 default) instead of breaking the hook.
10
+
11
+ ## Non-Software Task Bypass
12
+
13
+ If the user's prompt is non-software engineering (general Q&A, text translation, web searching, or conversational chat), Harness OS routing is **bypassed completely**. The model replies directly and naturally without emitting a Routing Checkpoint block.
14
+
15
+ ---
16
+
17
+ ## The Three-Tier Routing System
18
+
19
+ Upon receiving a software engineering request, the `tier-router.js` script analyzes the scope, affected files, and instruction patterns to route the task:
20
+
21
+ ```
22
+ [ User Request ]
23
+ |
24
+ [ Software Task? ]
25
+ / \
26
+ (No) (Yes)
27
+ / \
28
+ [ Bypass Router ] [ Triage Analysis ]
29
+ Direct Response / | \
30
+ / | \
31
+ (Trivial) (Standard) (Macro)
32
+ / | \
33
+ v v v
34
+ [ Tier 1 ] [ Tier 2 ] [ Tier 3 ]
35
+ Direct Edit Test-Driven (TDD) Multi-Agent Flow
36
+ (No plans) (Red-Green-Refactor) (Fable-Mode)
37
+ ```
38
+
39
+ ### Tier 1: Trivial Tasks (Direct Execution)
40
+ * **Trigger criteria:** Single-file edits, typos, simple styling fixes, readme corrections, or clean-up tasks.
41
+ * **Behavior:** Harness bypasses plans, code-reviews, and sub-agents. The model makes the edit directly, emitting a brief single-line routing checkpoint or direct response.
42
+ * **Verification:** Basic syntax checks or a quick compile verify success.
43
+
44
+ ### Tier 2: Standard Tasks (Test-Driven Development)
45
+ * **Trigger criteria:** Normal feature requests, bug fixes, algorithm additions, API endpoint creations, SRP object splitting, or security reviews affecting multiple files.
46
+ * **Behavior:** Harness enforces the `todo-driven-workflow` base execution loop (prioritizing native IDE tools like `manage_todo_list`, with `tasks/todo.md` as the portable fallback) and the `tdd` skill. The model is strictly guided through the Red-Green-Refactor loop:
47
+ 1. **Red:** Write an automated test first that reproduces the issue or covers the feature, then run it to verify failure.
48
+ 2. **Green:** Implement the minimal amount of code to make the test pass.
49
+ 3. **Refactor:** Polish the code, clean up duplicates, and ensure coverage targets are met.
50
+ * **Verification:** Strict execution of the test suite and pre-delivery checks (`verification-loop`).
51
+
52
+ ### Tier 3: Macro Tasks (Multi-Agent/Fable-Mode)
53
+ * **Trigger criteria:** High-level design changes, migration of modules, large-scale refactoring, or major capability additions affecting multiple domains.
54
+ * **Behavior:** Harness routes the macro task to `fable-mode` and `multi-agent-workspace`, with the macro plan materialized via `todo-driven-workflow`. Hosts that support sub-agents may then delegate bounded work streams.
55
+ 1. **Planning & Alignment:** Perform grilling (`grill-me` / `grill-with-docs`), present an outline preview via `to-spec`, and publish formal specs or vertical-slice tickets (`to-tickets`).
56
+ 2. **Delegation:** Specialized sub-agents (or inline persona role-switches) handle specific work streams or audits.
57
+ 3. **Handoffs & Memory:** Milestone progress is saved to `todo-driven-workflow` state, and lessons learned are recorded via `self-evolve` (enforcing the 60-line cleanliness and lazy-loading rule).
58
+ * **Verification:** Multi-layer unit, integration, and E2E verification loops (`verification-loop`).
@@ -0,0 +1,284 @@
1
+ # Harness OS Troubleshooting Guide
2
+
3
+ This guide helps you resolve common issues with Harness OS installation and usage.
4
+
5
+ ## Installation Issues
6
+
7
+ ### Permission Denied Errors
8
+
9
+ **Symptom:** `EACCES: permission denied` during installation
10
+
11
+ **Solution:**
12
+ ```bash
13
+ # Option 1: Install without sudo (recommended)
14
+ npx github:dyphn1/Harness-everything install
15
+
16
+ # Option 2: If you need global installation
17
+ npx github:dyphn1/Harness-everything install --global
18
+
19
+ # Option 3: Fix npm permissions (if using npm)
20
+ mkdir ~/.npm-global
21
+ npm config set prefix '~/.npm-global'
22
+ export PATH=~/.npm-global/bin:$PATH
23
+ ```
24
+
25
+ ### Node.js Version Issues
26
+
27
+ **Symptom:** `SyntaxError` or unsupported engine errors
28
+
29
+ **Solution:**
30
+ ```bash
31
+ # Check your Node.js version
32
+ node --version
33
+
34
+ # Harness requires Node.js 18 or higher
35
+ # Update using nvm (recommended):
36
+ nvm install 18
37
+ nvm use 18
38
+
39
+ # Or download from https://nodejs.org/
40
+ ```
41
+
42
+ ### Network Issues
43
+
44
+ **Symptom:** `npm ERR! network` or timeout errors
45
+
46
+ **Solution:**
47
+ ```bash
48
+ # Check your internet connection
49
+ npm ping
50
+
51
+ # Try with different registry
52
+ npm config set registry https://registry.npmjs.org/
53
+
54
+ # Clear npm cache
55
+ npm cache clean --force
56
+
57
+ # Use yarn instead
58
+ yarn install
59
+ ```
60
+
61
+ ## Hook Issues
62
+
63
+ ### Hooks Not Firing (Claude Code)
64
+
65
+ **Symptom:** Harness rules not being enforced
66
+
67
+ **Solution:**
68
+ 1. Verify hooks are installed:
69
+ ```bash
70
+ cat .claude/settings.json | grep -A 10 "hooks"
71
+ ```
72
+
73
+ 2. Check hook file permissions:
74
+ ```bash
75
+ ls -la hooks/scripts/*.js
76
+ ```
77
+
78
+ 3. Restart Claude Code session
79
+
80
+ ### Hook Execution Errors
81
+
82
+ **Symptom:** `Error: Cannot find module` or similar
83
+
84
+ **Solution:**
85
+ ```bash
86
+ # Verify Node.js is in PATH
87
+ which node
88
+
89
+ # Check if hooks directory exists
90
+ ls -la hooks/scripts/
91
+
92
+ # Reinstall Harness
93
+ npx github:dyphn1/Harness-everything uninstall
94
+ npx github:dyphn1/Harness-everything install
95
+ ```
96
+
97
+ ### Circuit Breaker Tripping Too Often
98
+
99
+ **Symptom:** `RULE OF 3 CIRCUIT BREAKER TRIGGERED!` frequently
100
+
101
+ **Solution:**
102
+ 1. This is normal behavior - Harness is protecting you from infinite loops
103
+ 2. Follow the zoom-out instructions in the error message
104
+ 3. If it's a false positive, check the error signature:
105
+ ```bash
106
+ cat .claude/harness-everything/state/sessions/default/rule-of-3-state.json
107
+ ```
108
+
109
+ 4. Reset if needed:
110
+ ```bash
111
+ npm run harness:reset
112
+ ```
113
+
114
+ ## Platform-Specific Issues
115
+
116
+ ### Cursor Not Showing Rules
117
+
118
+ **Symptom:** `.cursorrules` file not created
119
+
120
+ **Solution:**
121
+ 1. Verify file exists:
122
+ ```bash
123
+ cat .cursorrules | head -20
124
+ ```
125
+
126
+ 2. If missing, reinstall with Cursor flag:
127
+ ```bash
128
+ npx github:dyphn1/Harness-everything install --cursor
129
+ ```
130
+
131
+ 3. Restart Cursor
132
+
133
+ ### Copilot Not Following Rules
134
+
135
+ **Symptom:** GitHub Copilot ignoring Harness guidance
136
+
137
+ **Solution:**
138
+ 1. Check file exists:
139
+ ```bash
140
+ cat .github/copilot-instructions.md | head -20
141
+ ```
142
+
143
+ 2. Ensure Copilot is using the instructions file
144
+ 3. Restart VS Code/GitHub Copilot
145
+
146
+ ### Codex/AGENTS.md Issues
147
+
148
+ **Symptom:** Codex not recognizing Harness
149
+
150
+ **Solution:**
151
+ 1. Check AGENTS.md exists:
152
+ ```bash
153
+ cat AGENTS.md | head -20
154
+ ```
155
+
156
+ 2. Reinstall with Codex flag:
157
+ ```bash
158
+ npx github:dyphn1/Harness-everything install --codex
159
+ ```
160
+
161
+ ## Performance Issues
162
+
163
+ ### Slow Hook Execution
164
+
165
+ **Symptom:** Terminal commands feel slower
166
+
167
+ **Solution:**
168
+ 1. Check hook execution time:
169
+ ```bash
170
+ time node hooks/scripts/rule-of-3.js < /dev/null
171
+ ```
172
+
173
+ 2. If >200ms, check for:
174
+ - Large state files
175
+ - Network calls in hooks
176
+ - Complex file operations
177
+
178
+ 3. Reset state:
179
+ ```bash
180
+ rm -rf .claude/harness-everything/state/sessions/
181
+ ```
182
+
183
+ ### High Memory Usage
184
+
185
+ **Symptom:** Node.js processes consuming too much memory
186
+
187
+ **Solution:**
188
+ 1. Check for memory leaks:
189
+ ```bash
190
+ # Monitor Node.js processes
191
+ ps aux | grep node
192
+ ```
193
+
194
+ 2. Restart session if needed
195
+ 3. Report issue if persistent
196
+
197
+ ## Debugging
198
+
199
+ ### Enable Verbose Logging
200
+
201
+ ```bash
202
+ # Set debug environment variable
203
+ export HARNESS_DEBUG=1
204
+
205
+ # Run with verbose output
206
+ node hooks/scripts/rule-of-3.js < payload.json
207
+ ```
208
+
209
+ ### Check State Files
210
+
211
+ ```bash
212
+ # View current state
213
+ cat .claude/harness-everything/state/sessions/default/rule-of-3-state.json
214
+ cat .claude/harness-everything/state/sessions/default/handoff-state.json
215
+
216
+ # Reset all state
217
+ rm -rf .claude/harness-everything/state/sessions/
218
+ npm run harness:reset
219
+ ```
220
+
221
+ ### Manual Hook Testing
222
+
223
+ ```bash
224
+ # Test rule-of-3 hook
225
+ echo '{"tool_name":"Bash","tool_input":{"command":"test"}}' | node hooks/scripts/rule-of-3.js
226
+
227
+ # Test state-persist hook
228
+ echo '{"tool_name":"Edit","tool_input":{"file_path":"test.js"}}' | node hooks/scripts/state-persist.js
229
+ ```
230
+
231
+ ## Getting Help
232
+
233
+ ### Collect Diagnostic Information
234
+
235
+ ```bash
236
+ # Generate diagnostic report
237
+ echo "=== System Info ===" > harness-diagnostic.txt
238
+ node --version >> harness-diagnostic.txt
239
+ npm --version >> harness-diagnostic.txt
240
+ echo "" >> harness-diagnostic.txt
241
+
242
+ echo "=== Harness Version ===" >> harness-diagnostic.txt
243
+ cat package.json | grep version >> harness-diagnostic.txt
244
+ echo "" >> harness-diagnostic.txt
245
+
246
+ echo "=== Installed Platforms ===" >> harness-diagnostic.txt
247
+ ls -la .claude/ .cursorrules .github/copilot-instructions.md AGENTS.md .continue/rules/ .hermes.md 2>/dev/null >> harness-diagnostic.txt
248
+ echo "" >> harness-diagnostic.txt
249
+
250
+ echo "=== Hook Status ===" >> harness-diagnostic.txt
251
+ cat .claude/settings.json | grep -A 20 "hooks" >> harness-diagnostic.txt 2>/dev/null
252
+ echo "" >> harness-diagnostic.txt
253
+
254
+ echo "=== Recent Errors ===" >> harness-diagnostic.txt
255
+ # Add any recent error logs here
256
+ ```
257
+
258
+ ### Contact Support
259
+
260
+ 1. **GitHub Issues:** https://github.com/dyphn1/Harness-everything/issues
261
+ 2. **Include:** Diagnostic report, error messages, steps to reproduce
262
+ 3. **Platform:** Specify which AI tool you're using (Claude Code, Cursor, etc.)
263
+
264
+ ## Common Error Messages
265
+
266
+ ### "Cannot find module './lib/harness-state'"
267
+ - **Cause:** Missing dependencies
268
+ - **Solution:** Run `npm install` or reinstall Harness
269
+
270
+ ### "Routing-keywords.json missing/invalid"
271
+ - **Cause:** Configuration file corrupted
272
+ - **Solution:** Will fail open to Tier 1 - reinstall to restore
273
+
274
+ ### "Session state not found"
275
+ - **Cause:** First run or state cleared
276
+ - **Solution:** Normal - state will be created on first use
277
+
278
+ ### "Zoom-out report not found"
279
+ - **Cause:** Circuit breaker tripped but no report written
280
+ - **Solution:** Follow the zoom-out instructions in the error message
281
+
282
+ ---
283
+
284
+ *This troubleshooting guide covers the most common issues. For other problems, please open a GitHub issue with diagnostic information.*
@@ -10,16 +10,16 @@ This section visualizes how the `environment-detection` skill executes internall
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Before Command Execution]) --> DetectOS["Detect Operating System: Windows, macOS, Linux"]
14
- DetectOS --> DetectShell["Detect Shell: Bash, PowerShell, CMD, Zsh"]
15
- DetectShell --> ScanCapabilities["Scan available runtimes: Node, Python, .NET, Docker"]
16
- ScanCapabilities --> CheckSyntax["Inspect command for active shell compatibilities"]
17
- CheckSyntax --> SyntaxGuard{Syntax safe for shell?}
18
- SyntaxGuard -->|No| RewriteCmd["Transform/Rewrite command syntax to match active shell"]
19
- SyntaxGuard -->|Yes| Execute["Run command in persistent terminal"]
20
- RewriteCmd --> Execute
21
- Execute --> CaptureOutput["Interleave output and exit code correctly"]
22
- CaptureOutput --> End([Secure terminal result returned])
13
+ Start([Session Start / Discover Phase]) --> CheckNode{Node.js Executable?}
14
+ CheckNode -->|Yes| RunPreflight["Run scripts/preflight.js"]
15
+ CheckNode -->|No / Fails| Heuristic["Inspect <environment_info> & Probe Shell via echo/env"]
16
+
17
+ RunPreflight --> ParseOutput["Parse OS, Shell, Path Separators & CLI Runtimes"]
18
+ Heuristic --> ParseOutput
19
+
20
+ ParseOutput --> SelfHeal["Run self-heal.js if Node available"]
21
+ SelfHeal --> AlignSyntax["Adopt Path Slash (/ vs \\) & Env Var Syntax ($VAR vs %VAR%)"]
22
+ AlignSyntax --> End([Environment Context Established])
23
23
  ```
24
24
 
25
25
  ---
@@ -10,12 +10,19 @@ This section visualizes how the `eval-harness` skill executes internally, detail
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Agent Execution Finished]) --> CollectExecutionMetrics["Gather total elapsed time, token count, and API calls"]
14
- CollectExecutionMetrics --> EvaluateAccuracy["Compare completed task output against baseline correctness requirements"]
15
- EvaluateAccuracy --> AnalyzeLoops["Check for repetitive tool invocations or redundant edits"]
16
- AnalyzeLoops --> CalculateScores["Calculate performance and efficiency scores"]
17
- CalculateScores --> GenerateEvalReport["Compile formal evaluation report and dashboard metrics"]
18
- GenerateEvalReport --> End([Performance metrics indexed and logged])
13
+ Start([Trigger: Benchmark / Evaluate Log]) --> ParseLog["1. Parse Log: Actions, Error Loops, Token Indicator"]
14
+ ParseLog --> CalcRubric["2. Calculate Scores across 4 Dimensions (0-10)"]
15
+ CalcRubric --> CheckScript{3. Is evaluate.js Executable?}
16
+
17
+ CheckScript -->|Yes| RunScript["Run node eval-harness/scripts/evaluate.js"]
18
+ CheckScript -->|No / Fails| FileFallback{"4. Markdown File Fallback"}
19
+
20
+ FileFallback -->|evals/ Exists| WriteEvals["Save Scorecard to evals/scorecard.md"]
21
+ FileFallback -->|No evals/ Folder| WritePlatform["Save Scorecard to .github/harness-everything/evals/scorecard.md"]
22
+
23
+ RunScript --> End([Evaluation Scorecard Logged])
24
+ WriteEvals --> End
25
+ WritePlatform --> End
19
26
  ```
20
27
 
21
28
  ---
@@ -1,6 +1,6 @@
1
1
  # Workflow: Fable Discipline
2
2
 
3
- > Shadow guard for fable-mode preventing context bloat, enforcing physical boundaries, and tracking token burn metrics.
3
+ > Shadow guard for fable-mode preventing context bloat, enforcing physical boundaries, and preserving compact stage handoffs.
4
4
 
5
5
  ---
6
6
 
@@ -10,14 +10,14 @@ This section visualizes how the `fable-discipline` skill executes internally, de
10
10
 
11
11
  ```mermaid
12
12
  graph TD
13
- Start([Fable Task Initiated]) --> AuditContext["Audit total file lengths in current context"]
14
- AuditContext --> CheckTokenLimit{Tokens exceeding budget?}
13
+ Start([Fable Task Initiated]) --> AuditContext["Audit active context against the stage contract"]
14
+ AuditContext --> CheckTokenLimit{Context exceeds the active budget?}
15
15
  CheckTokenLimit -->|Yes| TrimContext["Evict raw logs, completed tasks, and non-essential file contents"]
16
16
  CheckTokenLimit -->|No| KeepState["Continue monitoring context state"]
17
17
  TrimContext --> EnforceLimit["Enforce physical boundary guidelines"]
18
18
  KeepState --> EnforceLimit
19
- EnforceLimit --> LogMetrics["Track token utilization and distillation loops"]
20
- LogMetrics --> End([Context maintained under safe, high-attention limits])
19
+ EnforceLimit --> RecordHandoff["Record a compact stage handoff"]
20
+ RecordHandoff --> End([Context maintained under safe, high-attention limits])
21
21
  ```
22
22
 
23
23
  ---
@@ -41,11 +41,11 @@ Here we model concrete real-world scenarios and use cases of the `fable-discipli
41
41
 
42
42
  ```mermaid
43
43
  graph TD
44
- Start["Fable-mode is editing a large monorepo (context approaching 120k tokens)"] --> Monitor["Fable-discipline analyzes context size"]
45
- Monitor --> TriggerPruning["Identifies 80k tokens of raw test execution logs & completed sub-task details"]
44
+ Start["Fable-mode is editing a large monorepo with growing context"] --> Monitor["Fable-discipline analyzes active context"]
45
+ Monitor --> TriggerPruning["Identifies raw logs & completed sub-task details"]
46
46
  TriggerPruning --> Clean["Evicts completed step details and logs from immediate active context"]
47
- Clean --> Compress["Summarizes historical state into a 50-line relational state.json"]
48
- Compress --> Done([Active context drops back to 40k tokens, preserving model's reasoning precision])
47
+ Clean --> Compress["Summarizes historical state into the stage handoff"]
48
+ Compress --> Done([Active context remains bounded while preserving required facts])
49
49
  ```
50
50
 
51
51
  ---
@@ -1,32 +1,29 @@
1
- # Workflow: Fable Mode
2
-
3
- > Macro-task planning and execution engine. Like all Harness workflows, this is not a straight line to success. It requires continuous verification and course correction.
4
-
5
- ---
6
-
7
- ## 1. Skill Behavior Workflow
8
-
9
- This section visualizes how `fable-mode` handles macro tasks. Subagent failure or integration crashes are expected realities, not edge cases.
10
-
11
- ```mermaid
12
- graph TD
13
- Start([Tier 3 Macro Task Triggered]) --> InitFable["Initialize Fable Execution Context"]
14
- InitFable --> AnalyzeScope["Map system dependencies & files"]
15
- AnalyzeScope --> GenerateContract["Generate Contract & Todo List"]
16
-
17
- GenerateContract --> RunStep["Try: Execute Step / Sub-agent"]
18
- RunStep --> VerifyStep["Try: Run verify-gate.js for Integration"]
19
-
20
- VerifyStep --> Check{Gate: Exit Code?}
21
- Check -->|Exit 1: Sub-agent Failed| Diagnose["Reflect: Why did sub-agent fail?"]
22
- Diagnose --> InsertBlocker["Insert Blocker Todo: Fix Integration"]
23
- InsertBlocker --> RunStep
24
-
25
- Check -->|Exit 0: Success| CheckAllSteps{All steps done?}
26
- CheckAllSteps -->|No| RunStep
27
- CheckAllSteps -->|Yes| FinalAudit["Perform system-wide verification loop"]
28
-
29
- FinalAudit --> FinalCheck{Gate: Exit Code?}
30
- FinalCheck -->|Exit 1| Diagnose
31
- FinalCheck -->|Exit 0| End([Macro rewrite successfully deployed])
32
- ```
1
+ # Workflow: Fable Mode
2
+
3
+ > Macro-task planning and execution engine. Like all Harness workflows, this is not a straight line to success. It requires continuous verification and course correction.
4
+
5
+ ---
6
+
7
+ ## 1. Skill Behavior Workflow
8
+
9
+ This section visualizes how `fable-mode` handles macro tasks. Subagent failure or integration crashes are expected realities, not edge cases.
10
+
11
+ ```mermaid
12
+ graph TD
13
+ Start([Tier 3 Macro Task Triggered]) --> Discovery["1. Discovery & Architectural Plan"]
14
+ Discovery --> InitTodo["2. Delegate Roadmap to todo-driven-workflow"]
15
+
16
+ InitTodo --> Delegate{3. Delegate Sub-tasks}
17
+ Delegate -->|Sub-agent Tool Available| SpawnSub["Spawn Sub-agent via multi-agent-workspace"]
18
+ Delegate -->|No Sub-agent Tool| InlinePersona["Inline Persona Role-Switch Fallback"]
19
+
20
+ SpawnSub --> ScopeCheck["Monitor via hooks/scripts/subagent-scope-guard.js"]
21
+ InlinePersona --> ScopeCheck
22
+
23
+ ScopeCheck --> VerifyStep["4. Integration Verification via harness-everything/scripts/verify-gate.js"]
24
+ VerifyStep --> CheckGate{Integration Verification Passed?}
25
+
26
+ CheckGate -->|No: Integration Error| FixBlocker["Add Blocker Item to todo-driven-workflow & Fix"] --> VerifyStep
27
+ CheckGate -->|Yes: Gate Passes| Transition["5. Transition Scaffolding to TDD Iteration"]
28
+ Transition --> End([Macro Scaffolding Successfully Deployed])
29
+ ```