harness-everything 0.3.6 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (573) hide show
  1. package/.agents/plugins/marketplace.json +20 -0
  2. package/.claude-plugin/marketplace.json +1 -1
  3. package/.claude-plugin/plugin.json +8 -7
  4. package/.github/workflows/ci.yml +23 -18
  5. package/.github/workflows/release.yml +53 -27
  6. package/.releaserc.json +113 -0
  7. package/AGENTS.md +34 -23
  8. package/BENCHMARK_SOP.md +38 -18
  9. package/CHANGELOG.md +194 -3
  10. package/CONTRIBUTING.md +17 -4
  11. package/PRIVACY.md +25 -0
  12. package/README.md +118 -87
  13. package/RELEASING.md +82 -0
  14. package/SUPPORT.md +27 -0
  15. package/TERMS.md +21 -0
  16. package/VERIFICATION.md +175 -286
  17. package/behavioral-evals/README.md +21 -0
  18. package/behavioral-evals/case-validator.js +194 -0
  19. package/behavioral-evals/cases/baseline-environment-detection.yaml +21 -0
  20. package/behavioral-evals/cases/baseline-eval-harness.yaml +27 -0
  21. package/behavioral-evals/cases/baseline-fable-discipline.yaml +31 -0
  22. package/behavioral-evals/cases/baseline-find-skills-exposure.yaml +49 -0
  23. package/behavioral-evals/cases/baseline-find-skills.yaml +21 -0
  24. package/behavioral-evals/cases/baseline-git-commit.yaml +2 -2
  25. package/behavioral-evals/cases/baseline-install-cognitive-os.yaml +24 -0
  26. package/behavioral-evals/cases/baseline-multi-agent-workspace.yaml +28 -0
  27. package/behavioral-evals/cases/baseline-rewrite-commits.yaml +34 -0
  28. package/behavioral-evals/cases/baseline-self-evolve.yaml +31 -0
  29. package/behavioral-evals/cases/baseline-skill-creator.yaml +20 -0
  30. package/behavioral-evals/cases/baseline-skill-style.yaml +21 -0
  31. package/behavioral-evals/cases/baseline-to-spec.yaml +34 -0
  32. package/behavioral-evals/cases/baseline-to-tickets.yaml +24 -0
  33. package/behavioral-evals/cases/baseline-todo-driven-workflow.yaml +32 -0
  34. package/behavioral-evals/cases/baseline-using-git-worktrees.yaml +15 -0
  35. package/behavioral-evals/cases/breaker-zoom-out-after-3.yaml +2 -2
  36. package/behavioral-evals/cases/pressure-complexity-skip.yaml +2 -2
  37. package/behavioral-evals/cases/pressure-scope-bypass.yaml +7 -2
  38. package/behavioral-evals/cases/pressure-sunk-cost-retry.yaml +7 -4
  39. package/behavioral-evals/cases/scope-discipline.yaml +2 -1
  40. package/behavioral-evals/cases/verify-before-done.yaml +7 -5
  41. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/case.yaml +31 -0
  42. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/historical-case.yaml +31 -0
  43. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/provenance.json +42 -0
  44. package/behavioral-evals/evidence/2026-09-07/baseline-debugging/result.sanitized.json +20 -0
  45. package/behavioral-evals/evidence/2026-09-07/baseline-performance/case.yaml +34 -0
  46. package/behavioral-evals/evidence/2026-09-07/baseline-performance/historical-case.yaml +34 -0
  47. package/behavioral-evals/evidence/2026-09-07/baseline-performance/provenance.json +42 -0
  48. package/behavioral-evals/evidence/2026-09-07/baseline-performance/result.sanitized.json +20 -0
  49. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/case.yaml +28 -0
  50. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/historical-case.yaml +28 -0
  51. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/provenance.json +42 -0
  52. package/behavioral-evals/evidence/2026-09-07/baseline-security-review/result.sanitized.json +20 -0
  53. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/case.yaml +33 -0
  54. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/historical-case.yaml +33 -0
  55. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/provenance.json +42 -0
  56. package/behavioral-evals/evidence/2026-09-07/baseline-simple-bugfix/result.sanitized.json +20 -0
  57. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/case.yaml +28 -0
  58. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/historical-case.yaml +18 -0
  59. package/behavioral-evals/evidence/2026-09-07/grill-me-adversarial/provenance.json +30 -0
  60. package/behavioral-evals/evidence/2026-09-07/live-run-blocker.md +16 -0
  61. package/behavioral-evals/evidence/2026-09-07/manifest.json +88 -0
  62. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/case.yaml +33 -0
  63. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/historical-case.yaml +28 -0
  64. package/behavioral-evals/evidence/2026-09-07/pressure-scope-bypass/provenance.json +30 -0
  65. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/case.yaml +50 -0
  66. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/historical-case.yaml +50 -0
  67. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/provenance.json +42 -0
  68. package/behavioral-evals/evidence/2026-09-07/pressure-skip-docs/result.sanitized.json +20 -0
  69. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/case.yaml +35 -0
  70. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/historical-case.yaml +35 -0
  71. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/provenance.json +42 -0
  72. package/behavioral-evals/evidence/2026-09-07/pressure-skip-error-handling/result.sanitized.json +20 -0
  73. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/case.yaml +43 -0
  74. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/historical-case.yaml +43 -0
  75. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/provenance.json +42 -0
  76. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification/result.sanitized.json +24 -0
  77. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/case.yaml +43 -0
  78. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/historical-case.yaml +43 -0
  79. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/provenance.json +42 -0
  80. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-23-pressure-skip-verification/result.sanitized.json +20 -0
  81. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/case.yaml +43 -0
  82. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/historical-case.yaml +43 -0
  83. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/provenance.json +42 -0
  84. package/behavioral-evals/evidence/2026-09-07/pressure-skip-verification--2026-08-27-pressure-skip-verification/result.sanitized.json +24 -0
  85. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/case.yaml +50 -0
  86. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/historical-case.yaml +47 -0
  87. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/provenance.json +42 -0
  88. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry/result.sanitized.json +24 -0
  89. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/case.yaml +50 -0
  90. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/historical-case.yaml +47 -0
  91. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/provenance.json +42 -0
  92. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-23-pressure-sunk-cost-retry/result.sanitized.json +20 -0
  93. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/case.yaml +50 -0
  94. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/historical-case.yaml +47 -0
  95. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/provenance.json +42 -0
  96. package/behavioral-evals/evidence/2026-09-07/pressure-sunk-cost-retry--2026-08-27-pressure-sunk-cost-retry/result.sanitized.json +24 -0
  97. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/case.yaml +30 -0
  98. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/historical-case.yaml +23 -0
  99. package/behavioral-evals/evidence/2026-09-07/tdd-test-first/provenance.json +30 -0
  100. package/behavioral-evals/evidence/2026-09-07/triage-matrix.json +426 -0
  101. package/behavioral-evals/evidence/2026-09-07/triage-matrix.md +24 -0
  102. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/case.yaml +19 -0
  103. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/historical-case.yaml +18 -0
  104. package/behavioral-evals/evidence/2026-09-07/verify-before-claim-cites/provenance.json +30 -0
  105. package/behavioral-evals/evidence/2026-09-07/verify-before-done/case.yaml +33 -0
  106. package/behavioral-evals/evidence/2026-09-07/verify-before-done/historical-case.yaml +31 -0
  107. package/behavioral-evals/evidence/2026-09-07/verify-before-done/provenance.json +42 -0
  108. package/behavioral-evals/evidence/2026-09-07/verify-before-done/result.sanitized.json +20 -0
  109. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/case.yaml +33 -0
  110. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/historical-case.yaml +31 -0
  111. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/provenance.json +42 -0
  112. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-23-verify-before-done/result.sanitized.json +20 -0
  113. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/case.yaml +33 -0
  114. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/historical-case.yaml +31 -0
  115. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/provenance.json +42 -0
  116. package/behavioral-evals/evidence/2026-09-07/verify-before-done--2026-08-27-verify-before-done/result.sanitized.json +20 -0
  117. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/case.yaml +33 -0
  118. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/historical-case.yaml +33 -0
  119. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/provenance.json +42 -0
  120. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/result.sanitized.json +480 -0
  121. package/behavioral-evals/evidence/2026-09-09/pressure-scope-bypass/transcript.sanitized.jsonl +95 -0
  122. package/behavioral-evals/evidence-tool.js +443 -0
  123. package/behavioral-evals/fixtures/claude-denied.jsonl +3 -0
  124. package/behavioral-evals/fixtures/claude-legacy.json +1 -0
  125. package/behavioral-evals/fixtures/claude-oral-only.jsonl +2 -0
  126. package/behavioral-evals/fixtures/claude-success.jsonl +5 -0
  127. package/behavioral-evals/fixtures/claude-truncated.jsonl +3 -0
  128. package/behavioral-evals/fixtures/opencode-success.jsonl +6 -0
  129. package/behavioral-evals/results/2026-08-31-baseline-add-feature.json +20 -0
  130. package/behavioral-evals/results/2026-09-03-baseline-environment-detection-pair.json +133 -0
  131. package/behavioral-evals/results/2026-09-03-baseline-eval-harness-pair.json +141 -0
  132. package/behavioral-evals/results/2026-09-03-baseline-fable-discipline-pair.json +149 -0
  133. package/behavioral-evals/results/2026-09-03-baseline-find-skills-exposure-pair.json +141 -0
  134. package/behavioral-evals/results/2026-09-03-baseline-find-skills-pair.json +141 -0
  135. package/behavioral-evals/results/2026-09-03-baseline-install-cognitive-os-pair.json +133 -0
  136. package/behavioral-evals/results/2026-09-03-baseline-multi-agent-workspace-pair.json +141 -0
  137. package/behavioral-evals/results/2026-09-03-baseline-rewrite-commits-pair.json +95 -0
  138. package/behavioral-evals/results/2026-09-03-baseline-self-evolve-pair.json +141 -0
  139. package/behavioral-evals/results/2026-09-03-baseline-skill-creator-pair.json +141 -0
  140. package/behavioral-evals/results/2026-09-03-baseline-skill-style-pair.json +133 -0
  141. package/behavioral-evals/results/2026-09-03-baseline-to-spec-pair.json +133 -0
  142. package/behavioral-evals/results/2026-09-03-baseline-to-tickets-pair.json +141 -0
  143. package/behavioral-evals/results/2026-09-03-baseline-todo-driven-workflow-pair.json +141 -0
  144. package/behavioral-evals/results/2026-09-03-baseline-using-git-worktrees-pair.json +133 -0
  145. package/behavioral-evals/results/2026-09-03-summary-both.json +41 -0
  146. package/behavioral-evals/results/2026-09-04-baseline-find-skills-pair.json +141 -0
  147. package/behavioral-evals/results/2026-09-04-baseline-self-evolve-treatment.json +80 -0
  148. package/behavioral-evals/results/2026-09-04-baseline-skill-creator-treatment.json +80 -0
  149. package/behavioral-evals/results/2026-09-04-summary-both.json +41 -0
  150. package/behavioral-evals/run-with-plugin.js +15 -31
  151. package/behavioral-evals/run.js +446 -105
  152. package/behavioral-evals/transcript-parser.js +591 -0
  153. package/bin/cli.js +24 -12
  154. package/ci/ab-test-cases/grill-me-adversarial.yaml +14 -4
  155. package/ci/ab-test-cases/tdd-test-first.yaml +13 -6
  156. package/ci/ab-test-cases/verification-loop-gates.yaml +20 -7
  157. package/ci/ab-test-cases/verify-before-claim-cites.yaml +7 -6
  158. package/ci/ab-test-harness.js +113 -38
  159. package/ci/action-gate-platform-doc.test.js +31 -0
  160. package/ci/action-gate.test.js +260 -0
  161. package/ci/cases/case2.json +2 -2
  162. package/ci/consistency-check.js +51 -5
  163. package/ci/description-collision.js +15 -6
  164. package/ci/disclosure-check.js +225 -0
  165. package/ci/doc-capability-consistency.test.js +180 -0
  166. package/ci/fixtures/phase4/parallel-disjoint.stages.json +32 -0
  167. package/ci/fixtures/phase4/parallel-read-only.stages.json +32 -0
  168. package/ci/installer-roundtrip.test.js +159 -0
  169. package/ci/invariant-routing.test.js +74 -0
  170. package/ci/issue99-runtime.test.js +218 -0
  171. package/ci/mechanism-2aa-codex-action-gate-policy.test.js +117 -0
  172. package/ci/mechanism-2ab-openai-plugin-sync-integrity.test.js +80 -0
  173. package/ci/mechanism-2j-behavioral-runner.test.js +43 -1
  174. package/ci/mechanism-2k-reference-check.test.js +57 -2
  175. package/ci/mechanism-2l-multi-agent-workspace.test.js +202 -6
  176. package/ci/mechanism-2m-self-repo-guard.test.js +65 -0
  177. package/ci/mechanism-2n-opencode-plugin.test.js +461 -0
  178. package/ci/mechanism-2o-state-home-isolation.test.js +183 -0
  179. package/ci/mechanism-2p-installer-links.test.js +183 -0
  180. package/ci/mechanism-2q-installer-global-shared-store.test.js +132 -0
  181. package/ci/mechanism-2r-uninstall-flags.test.js +148 -0
  182. package/ci/mechanism-2s-tdd-quality.test.js +203 -0
  183. package/ci/mechanism-2t-disclosure.test.js +90 -0
  184. package/ci/mechanism-2t-evidence-triage.test.js +200 -0
  185. package/ci/mechanism-2t-issue-20.test.js +75 -0
  186. package/ci/mechanism-2t-platform-skill-targets.test.js +164 -0
  187. package/ci/mechanism-2t-transcript-parser.test.js +179 -0
  188. package/ci/mechanism-2t-workspace-identity.test.js +200 -0
  189. package/ci/mechanism-2u-issue-42-regressions.test.js +239 -0
  190. package/ci/mechanism-2u-issue-44.test.js +35 -0
  191. package/ci/mechanism-2v-verifier-boundaries.test.js +138 -0
  192. package/ci/mechanism-2w-platform-compatibility.test.js +148 -0
  193. package/ci/mechanism-2x-release-automation.test.js +157 -0
  194. package/ci/mechanism-2x-release-commit-message.test.js +66 -0
  195. package/ci/mechanism-2y-release-tooling-compat.test.js +47 -0
  196. package/ci/mechanism-2z-claude-plugin-manifest.test.js +29 -0
  197. package/ci/mutation-check.js +53 -0
  198. package/ci/mutation-loader.js +57 -0
  199. package/ci/negative-controls.js +76 -46
  200. package/ci/openai-plugin-package.test.js +182 -0
  201. package/ci/openai-plugin-runtime.test.js +175 -0
  202. package/ci/openai-plugin-submission.test.js +101 -0
  203. package/ci/phase4-ensemble-memory.test.js +307 -0
  204. package/ci/reference-check.js +73 -25
  205. package/ci/release-consistency-check.js +24 -1
  206. package/ci/router-phase2-safety.test.js +81 -0
  207. package/ci/router-workflow-plan.test.js +264 -0
  208. package/ci/routing-check.js +6 -5
  209. package/ci/runner.js +6 -5
  210. package/ci/skill-routing-check.js +48 -11
  211. package/ci/test-behavioral-case-validation.js +62 -0
  212. package/ci/test-helper.js +10 -0
  213. package/ci/workflow-plan-consumers-edge.test.js +72 -0
  214. package/ci/workflow-plan-consumers.test.js +276 -0
  215. package/docs/architecture.md +137 -57
  216. package/docs/audit.md +22 -20
  217. package/docs/codex-action-gate.md +90 -0
  218. package/docs/issue-20-rollup.md +47 -0
  219. package/docs/mechanism-first-skill-mesh.md +22 -20
  220. package/docs/openai-plugin.md +118 -0
  221. package/docs/philosophy.md +28 -17
  222. package/docs/platform-capabilities.md +73 -0
  223. package/docs/platform-compatibility.json +270 -0
  224. package/docs/reflection.md +37 -22
  225. package/docs/release-evidence.md +25 -0
  226. package/docs/routing.md +157 -44
  227. package/docs/security-audit.md +38 -0
  228. package/docs/troubleshooting.md +82 -46
  229. package/docs/verifier-boundaries.md +45 -0
  230. package/docs/workflows/fable-mode.md +77 -21
  231. package/docs/workflows/find-skills.md +40 -0
  232. package/docs/workflows/grill-with-docs.md +2 -2
  233. package/docs/workflows/multi-agent-workspace.md +22 -10
  234. package/docs/workflows/self-evolve.md +33 -0
  235. package/docs/workflows/tdd.md +36 -0
  236. package/docs/workflows/todo-driven-workflow.md +33 -0
  237. package/environment-detection/SKILL.md +3 -3
  238. package/eval-harness/SKILL.md +7 -7
  239. package/eval-harness/scripts/evaluate.js +12 -10
  240. package/evals/evaluation-reports.md +14 -0
  241. package/evals/harness-everything/tasks/positive-tier1.yaml +1 -1
  242. package/evals/harness-everything/tasks/positive-tier2.yaml +1 -1
  243. package/evals/harness-everything/tasks/positive-tier3.yaml +1 -1
  244. package/evals/install-cognitive-os/tasks/positive-trigger.yaml +1 -1
  245. package/fable-discipline/SKILL.md +2 -2
  246. package/fable-mode/CONTRACT-FORMAT.md +147 -33
  247. package/fable-mode/SKILL.md +3 -3
  248. package/fable-mode/agents/fable-orchestrator.md +95 -35
  249. package/fable-mode/execution-guardrails/SKILL.md +2 -2
  250. package/fable-mode/fable-haiku/SKILL.md +3 -3
  251. package/fable-mode/fable-opus/SKILL.md +3 -3
  252. package/fable-mode/fable-sonnet/SKILL.md +3 -3
  253. package/fable-mode/scripts/ensemble-review.js +371 -0
  254. package/fable-mode/scripts/model-selector.js +134 -3
  255. package/fable-mode/scripts/workflow-plan-consumer.js +337 -0
  256. package/find-skills/SKILL.md +5 -5
  257. package/find-skills/references/discovery-flow.md +1 -1
  258. package/find-skills/scripts/use-skill.js +7 -1
  259. package/git-commit/SKILL.md +4 -11
  260. package/grill-me/SKILL.md +5 -5
  261. package/grill-with-docs/SKILL.md +7 -7
  262. package/grill-with-docs/references/session-playbook.md +6 -4
  263. package/harness-everything/SKILL.md +23 -22
  264. package/harness-everything/references/router-workflow-plan.md +128 -0
  265. package/harness-everything/references/triage-and-tiers.md +173 -96
  266. package/harness-everything/schemas/router-task-shape.schema.json +126 -0
  267. package/harness-everything/schemas/router-workflow-plan.schema.json +149 -0
  268. package/harness-everything/scripts/bootstrap.js +13 -4
  269. package/harness-everything/scripts/ensemble-policy.js +102 -0
  270. package/harness-everything/scripts/kernel-router.js +212 -0
  271. package/harness-everything/scripts/router-contract.js +612 -0
  272. package/harness-everything/scripts/self-heal.js +29 -20
  273. package/harness-everything/scripts/tier-router.js +346 -221
  274. package/hooks/hooks.json +60 -15
  275. package/hooks/scripts/action-gate-rules.json +77 -0
  276. package/hooks/scripts/action-gate.js +528 -0
  277. package/hooks/scripts/atomic-commit-check.js +5 -5
  278. package/hooks/scripts/codex-action-gate-post.js +46 -0
  279. package/hooks/scripts/codex-permission-request.js +140 -0
  280. package/hooks/scripts/context-compact.js +4 -3
  281. package/hooks/scripts/contract-test.js +118 -51
  282. package/hooks/scripts/lib/fable-contracts.js +121 -0
  283. package/hooks/scripts/lib/harness-state.js +164 -28
  284. package/hooks/scripts/lib/platforms/claude.js +45 -62
  285. package/hooks/scripts/lib/platforms/codex.js +35 -61
  286. package/hooks/scripts/lib/platforms/continue.js +7 -7
  287. package/hooks/scripts/lib/platforms/copilot.js +29 -53
  288. package/hooks/scripts/lib/platforms/hermes.js +71 -20
  289. package/hooks/scripts/openai-session-start.js +81 -0
  290. package/hooks/scripts/rule-of-3-tracker.js +9 -8
  291. package/hooks/scripts/rule-of-3.js +29 -21
  292. package/hooks/scripts/state-persist.js +5 -4
  293. package/hooks/scripts/stop-gate.js +2 -2
  294. package/hooks/scripts/subagent-scope-guard.js +144 -38
  295. package/hooks/scripts/subagent-start.js +19 -0
  296. package/hooks/scripts/subagent-stop.js +6 -0
  297. package/improve-codebase-architecture/SKILL.md +2 -4
  298. package/improve-codebase-architecture/references/README.md +16 -0
  299. package/install-cognitive-os/SKILL.md +28 -22
  300. package/multi-agent-workspace/SKILL.md +16 -15
  301. package/multi-agent-workspace/references/architecture-guide.md +13 -9
  302. package/multi-agent-workspace/references/orchestration.md +39 -22
  303. package/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
  304. package/multi-agent-workspace/scripts/index_memory.js +79 -26
  305. package/multi-agent-workspace/scripts/path-boundary.js +59 -0
  306. package/multi-agent-workspace/scripts/project-docs-resolver.js +357 -0
  307. package/multi-agent-workspace/scripts/scaffold.js +258 -103
  308. package/multi-agent-workspace/templates/AGENTS.md +20 -0
  309. package/multi-agent-workspace/workflows/03-generation.md +8 -10
  310. package/multi-agent-workspace/workflows/04-launcher.md +5 -5
  311. package/opencode-plugin/README.md +114 -71
  312. package/opencode-plugin/hooks/verify.js +62 -12
  313. package/opencode-plugin/index.mjs +547 -0
  314. package/opencode-plugin/plugin.json +4 -12
  315. package/package.json +16 -3
  316. package/plugins/harness-everything/.codex-plugin/plugin.json +39 -0
  317. package/plugins/harness-everything/hooks/hooks.json +197 -0
  318. package/plugins/harness-everything/hooks/scripts/action-gate-rules.json +77 -0
  319. package/plugins/harness-everything/hooks/scripts/action-gate.js +528 -0
  320. package/plugins/harness-everything/hooks/scripts/atomic-commit-check.js +68 -0
  321. package/plugins/harness-everything/hooks/scripts/boundary-guard.js +55 -0
  322. package/plugins/harness-everything/hooks/scripts/codex-action-gate-post.js +46 -0
  323. package/plugins/harness-everything/hooks/scripts/codex-permission-request.js +140 -0
  324. package/plugins/harness-everything/hooks/scripts/context-compact.js +115 -0
  325. package/plugins/harness-everything/hooks/scripts/contract-test.js +146 -0
  326. package/plugins/harness-everything/hooks/scripts/depth-guard.js +65 -0
  327. package/plugins/harness-everything/hooks/scripts/lib/fable-contracts.js +121 -0
  328. package/plugins/harness-everything/hooks/scripts/lib/harness-state.js +275 -0
  329. package/plugins/harness-everything/hooks/scripts/lib/platforms/claude.js +168 -0
  330. package/plugins/harness-everything/hooks/scripts/lib/platforms/codex.js +88 -0
  331. package/plugins/harness-everything/hooks/scripts/lib/platforms/continue.js +91 -0
  332. package/plugins/harness-everything/hooks/scripts/lib/platforms/copilot.js +85 -0
  333. package/plugins/harness-everything/hooks/scripts/lib/platforms/cursor.js +89 -0
  334. package/plugins/harness-everything/hooks/scripts/lib/platforms/hermes.js +108 -0
  335. package/plugins/harness-everything/hooks/scripts/lib/platforms/index.js +17 -0
  336. package/plugins/harness-everything/hooks/scripts/lib/platforms/worktrees.js +20 -0
  337. package/plugins/harness-everything/hooks/scripts/lib/workspace.js +290 -0
  338. package/plugins/harness-everything/hooks/scripts/openai-session-start.js +81 -0
  339. package/plugins/harness-everything/hooks/scripts/reset-circuit-breaker.js +30 -0
  340. package/plugins/harness-everything/hooks/scripts/rule-of-3-tracker.js +125 -0
  341. package/plugins/harness-everything/hooks/scripts/rule-of-3.js +195 -0
  342. package/plugins/harness-everything/hooks/scripts/state-persist.js +100 -0
  343. package/plugins/harness-everything/hooks/scripts/stop-gate.js +80 -0
  344. package/plugins/harness-everything/hooks/scripts/subagent-scope-guard.js +194 -0
  345. package/plugins/harness-everything/hooks/scripts/subagent-start.js +19 -0
  346. package/plugins/harness-everything/hooks/scripts/subagent-stop.js +6 -0
  347. package/plugins/harness-everything/hooks/session-start.js +81 -0
  348. package/plugins/harness-everything/plugin.json +43 -0
  349. package/plugins/harness-everything/scripts/lib/advisory-text.js +174 -0
  350. package/plugins/harness-everything/skills/environment-detection/SKILL.md +41 -0
  351. package/plugins/harness-everything/skills/environment-detection/references/shell-syntax-rules.md +76 -0
  352. package/plugins/harness-everything/skills/environment-detection/scripts/preflight.js +103 -0
  353. package/plugins/harness-everything/skills/eval-harness/SKILL.md +42 -0
  354. package/plugins/harness-everything/skills/eval-harness/references/scoring-rubric.md +68 -0
  355. package/plugins/harness-everything/skills/eval-harness/scripts/evaluate.js +79 -0
  356. package/plugins/harness-everything/skills/fable-discipline/SKILL.md +41 -0
  357. package/plugins/harness-everything/skills/fable-discipline/references/discipline-rules.md +22 -0
  358. package/plugins/harness-everything/skills/fable-mode/CONTRACT-FORMAT.md +165 -0
  359. package/plugins/harness-everything/skills/fable-mode/SKILL.md +39 -0
  360. package/plugins/harness-everything/skills/fable-mode/agents/fable-orchestrator.md +159 -0
  361. package/plugins/harness-everything/skills/fable-mode/agents/fable-verifier.md +32 -0
  362. package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-haiku.md +52 -0
  363. package/plugins/harness-everything/skills/fable-mode/agents/fable-worker-sonnet.md +53 -0
  364. package/plugins/harness-everything/skills/fable-mode/execution-guardrails/SKILL.md +43 -0
  365. package/plugins/harness-everything/skills/fable-mode/execution-guardrails/references/guardrail-rules.md +56 -0
  366. package/plugins/harness-everything/skills/fable-mode/fable-haiku/SKILL.md +36 -0
  367. package/plugins/harness-everything/skills/fable-mode/fable-haiku/references/routing-notes.md +26 -0
  368. package/plugins/harness-everything/skills/fable-mode/fable-opus/SKILL.md +36 -0
  369. package/plugins/harness-everything/skills/fable-mode/fable-sonnet/SKILL.md +36 -0
  370. package/plugins/harness-everything/skills/fable-mode/model-matrix.json +32 -0
  371. package/plugins/harness-everything/skills/fable-mode/references/execution-phases.md +37 -0
  372. package/plugins/harness-everything/skills/fable-mode/references/model-matrix.md +39 -0
  373. package/plugins/harness-everything/skills/fable-mode/scripts/ensemble-review.js +371 -0
  374. package/plugins/harness-everything/skills/fable-mode/scripts/model-selector.js +260 -0
  375. package/plugins/harness-everything/skills/fable-mode/scripts/workflow-plan-consumer.js +337 -0
  376. package/plugins/harness-everything/skills/find-skills/SKILL.md +48 -0
  377. package/plugins/harness-everything/skills/find-skills/references/discovery-flow.md +102 -0
  378. package/plugins/harness-everything/skills/find-skills/scripts/use-skill.js +112 -0
  379. package/plugins/harness-everything/skills/git-commit/SKILL.md +38 -0
  380. package/plugins/harness-everything/skills/git-commit/guides/ANGULAR_STYLE.md +61 -0
  381. package/plugins/harness-everything/skills/git-commit/guides/COMMIT_GENERATION.md +24 -0
  382. package/plugins/harness-everything/skills/git-commit/guides/LANGUAGE_DETECTION.md +16 -0
  383. package/plugins/harness-everything/skills/git-commit/guides/MAIN_REPO.md +15 -0
  384. package/plugins/harness-everything/skills/git-commit/guides/SUBMODULES.md +27 -0
  385. package/plugins/harness-everything/skills/git-commit/references/commit-flow.md +30 -0
  386. package/plugins/harness-everything/skills/grill-me/SKILL.md +43 -0
  387. package/plugins/harness-everything/skills/grill-me/references/grilling-playbook.md +38 -0
  388. package/plugins/harness-everything/skills/grill-with-docs/ADR-FORMAT.md +47 -0
  389. package/plugins/harness-everything/skills/grill-with-docs/CONTEXT-FORMAT.md +63 -0
  390. package/plugins/harness-everything/skills/grill-with-docs/SKILL.md +41 -0
  391. package/plugins/harness-everything/skills/grill-with-docs/references/session-playbook.md +99 -0
  392. package/plugins/harness-everything/skills/harness-everything/SKILL.md +43 -0
  393. package/plugins/harness-everything/skills/harness-everything/examples/README.md +9 -0
  394. package/plugins/harness-everything/skills/harness-everything/examples/todo-workflow.md +22 -0
  395. package/plugins/harness-everything/skills/harness-everything/references/router-workflow-plan.md +128 -0
  396. package/plugins/harness-everything/skills/harness-everything/references/skill-registry.md +39 -0
  397. package/plugins/harness-everything/skills/harness-everything/references/triage-and-tiers.md +193 -0
  398. package/plugins/harness-everything/skills/harness-everything/schemas/router-task-shape.schema.json +126 -0
  399. package/plugins/harness-everything/skills/harness-everything/schemas/router-workflow-plan.schema.json +149 -0
  400. package/plugins/harness-everything/skills/harness-everything/scripts/bootstrap.js +212 -0
  401. package/plugins/harness-everything/skills/harness-everything/scripts/ensemble-policy.js +102 -0
  402. package/plugins/harness-everything/skills/harness-everything/scripts/kernel-router.js +212 -0
  403. package/plugins/harness-everything/skills/harness-everything/scripts/router-contract.js +612 -0
  404. package/plugins/harness-everything/skills/harness-everything/scripts/routing-keywords.json +320 -0
  405. package/plugins/harness-everything/skills/harness-everything/scripts/self-heal.js +250 -0
  406. package/plugins/harness-everything/skills/harness-everything/scripts/tier-router.js +459 -0
  407. package/plugins/harness-everything/skills/harness-everything/scripts/verify-gate.js +100 -0
  408. package/plugins/harness-everything/skills/improve-codebase-architecture/SKILL.md +38 -0
  409. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/DEEPENING.md +37 -0
  410. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/HTML-REPORT.md +123 -0
  411. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/INTERFACE-DESIGN.md +44 -0
  412. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/LANGUAGE.md +53 -0
  413. package/plugins/harness-everything/skills/improve-codebase-architecture/guides/refactoring-workflow.md +59 -0
  414. package/plugins/harness-everything/skills/improve-codebase-architecture/references/README.md +16 -0
  415. package/plugins/harness-everything/skills/install-cognitive-os/SKILL.md +44 -0
  416. package/plugins/harness-everything/skills/install-cognitive-os/references/cognitive-loop.md +27 -0
  417. package/plugins/harness-everything/skills/multi-agent-workspace/NOTICE-agency-agents.md +27 -0
  418. package/plugins/harness-everything/skills/multi-agent-workspace/SKILL.md +38 -0
  419. package/plugins/harness-everything/skills/multi-agent-workspace/examples/csharp-monorepo.md +123 -0
  420. package/plugins/harness-everything/skills/multi-agent-workspace/examples/typescript-cli.md +126 -0
  421. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-claude.md +77 -0
  422. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-codex.md +146 -0
  423. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-continue.md +38 -0
  424. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-copilot.md +74 -0
  425. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-cursor.md +40 -0
  426. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/platform-hermes.md +38 -0
  427. package/plugins/harness-everything/skills/multi-agent-workspace/guidelines/role-capabilities.md +108 -0
  428. package/plugins/harness-everything/skills/multi-agent-workspace/references/agency-agents.md +31 -0
  429. package/plugins/harness-everything/skills/multi-agent-workspace/references/architecture-guide.md +36 -0
  430. package/plugins/harness-everything/skills/multi-agent-workspace/references/orchestration.md +65 -0
  431. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/agency-catalog.js +190 -0
  432. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/consume-workflow-plan.js +129 -0
  433. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/index_memory.js +104 -0
  434. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/path-boundary.js +59 -0
  435. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/project-docs-resolver.js +357 -0
  436. package/plugins/harness-everything/skills/multi-agent-workspace/scripts/scaffold.js +408 -0
  437. package/plugins/harness-everything/skills/multi-agent-workspace/templates/AGENTS.md +20 -0
  438. package/plugins/harness-everything/skills/multi-agent-workspace/templates/README.md +17 -0
  439. package/plugins/harness-everything/skills/multi-agent-workspace/templates/agent-launcher.md +68 -0
  440. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-csharp.md +56 -0
  441. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-polyglot.md +62 -0
  442. package/plugins/harness-everything/skills/multi-agent-workspace/templates/backend-developer-ts.md +57 -0
  443. package/plugins/harness-everything/skills/multi-agent-workspace/templates/memory-keeper.md +37 -0
  444. package/plugins/harness-everything/skills/multi-agent-workspace/templates/requirement-analyzer.md +66 -0
  445. package/plugins/harness-everything/skills/multi-agent-workspace/templates/specialist-agent.md +34 -0
  446. package/plugins/harness-everything/skills/multi-agent-workspace/templates/task-verifier.md +56 -0
  447. package/plugins/harness-everything/skills/multi-agent-workspace/templates/tool-maker.md +33 -0
  448. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/01-init.md +22 -0
  449. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/02-analysis.md +23 -0
  450. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/03-generation.md +25 -0
  451. package/plugins/harness-everything/skills/multi-agent-workspace/workflows/04-launcher.md +16 -0
  452. package/plugins/harness-everything/skills/repo-docs/SKILL.md +42 -0
  453. package/plugins/harness-everything/skills/repo-docs/references/process-guide.md +60 -0
  454. package/plugins/harness-everything/skills/repo-docs/templates/agents-template.md +264 -0
  455. package/plugins/harness-everything/skills/repo-docs/templates/knowledge-agents-template.md +50 -0
  456. package/plugins/harness-everything/skills/repo-docs/templates/knowledge-readme-template.md +83 -0
  457. package/plugins/harness-everything/skills/repo-docs/templates/manual-recon.md +117 -0
  458. package/plugins/harness-everything/skills/repo-docs/templates/multi-skills-readme-template.md +72 -0
  459. package/plugins/harness-everything/skills/repo-docs/templates/product-agents-template.md +78 -0
  460. package/plugins/harness-everything/skills/repo-docs/templates/product-readme-template.md +95 -0
  461. package/plugins/harness-everything/skills/repo-docs/templates/readme-template.md +136 -0
  462. package/plugins/harness-everything/skills/repo-docs/templates/single-skill-readme-template.md +70 -0
  463. package/plugins/harness-everything/skills/repo-docs/templates/skills-agents-template.md +60 -0
  464. package/plugins/harness-everything/skills/rewrite-commits/SKILL.md +37 -0
  465. package/plugins/harness-everything/skills/rewrite-commits/references/workflow.md +18 -0
  466. package/plugins/harness-everything/skills/security-review/SKILL.md +47 -0
  467. package/plugins/harness-everything/skills/security-review/guides/OWASP-PATTERNS.md +31 -0
  468. package/plugins/harness-everything/skills/security-review/guides/STRIDE-THREAT-MODEL.md +21 -0
  469. package/plugins/harness-everything/skills/security-review/references/security-checklist.md +478 -0
  470. package/plugins/harness-everything/skills/security-review/scripts/audit-secrets.js +85 -0
  471. package/plugins/harness-everything/skills/self-evolve/SKILL.md +45 -0
  472. package/plugins/harness-everything/skills/self-evolve/references/memory-resolution.md +61 -0
  473. package/plugins/harness-everything/skills/self-evolve/scripts/persist-memory.js +272 -0
  474. package/plugins/harness-everything/skills/self-evolve/scripts/register-dynamic-skill.js +253 -0
  475. package/plugins/harness-everything/skills/self-evolve/scripts/self-regression.js +125 -0
  476. package/plugins/harness-everything/skills/skill-creator/SKILL.md +47 -0
  477. package/plugins/harness-everything/skills/skill-creator/references/authoring-workflow.md +14 -0
  478. package/plugins/harness-everything/skills/skill-creator/references/dynamic-generation-contract.md +21 -0
  479. package/plugins/harness-everything/skills/skill-creator/references/quality-checklist.md +16 -0
  480. package/plugins/harness-everything/skills/skill-creator/references/quality-principles.md +81 -0
  481. package/plugins/harness-everything/skills/skill-creator/references/testing-workflow.md +27 -0
  482. package/plugins/harness-everything/skills/skill-style/SKILL.md +42 -0
  483. package/plugins/harness-everything/skills/skill-style/references/style-guide.md +62 -0
  484. package/plugins/harness-everything/skills/tdd/SKILL.md +38 -0
  485. package/plugins/harness-everything/skills/tdd/fixtures/pass-evidence.json +100 -0
  486. package/plugins/harness-everything/skills/tdd/fixtures/quality-scenarios.json +20 -0
  487. package/plugins/harness-everything/skills/tdd/guides/deep-modules.md +33 -0
  488. package/plugins/harness-everything/skills/tdd/guides/interface-design.md +31 -0
  489. package/plugins/harness-everything/skills/tdd/guides/mocking.md +59 -0
  490. package/plugins/harness-everything/skills/tdd/guides/refactoring.md +10 -0
  491. package/plugins/harness-everything/skills/tdd/guides/tests.md +61 -0
  492. package/plugins/harness-everything/skills/tdd/references/core-discipline.md +51 -0
  493. package/plugins/harness-everything/skills/tdd/references/integration-testing.md +13 -0
  494. package/plugins/harness-everything/skills/tdd/references/quality-model.md +68 -0
  495. package/plugins/harness-everything/skills/tdd/references/unit-testing.md +15 -0
  496. package/plugins/harness-everything/skills/tdd/schemas/quality-evidence.schema.json +211 -0
  497. package/plugins/harness-everything/skills/tdd/schemas/quality-report.schema.json +110 -0
  498. package/plugins/harness-everything/skills/tdd/scripts/quality-gate.js +475 -0
  499. package/plugins/harness-everything/skills/to-spec/SKILL.md +40 -0
  500. package/plugins/harness-everything/skills/to-spec/references/process.md +77 -0
  501. package/plugins/harness-everything/skills/to-spec/scripts/check-project-docs.js +239 -0
  502. package/plugins/harness-everything/skills/to-spec/scripts/project-docs-resolver.js +111 -0
  503. package/plugins/harness-everything/skills/to-spec/templates/cli-reference.md +31 -0
  504. package/plugins/harness-everything/skills/to-spec/templates/dev-doc.md +27 -0
  505. package/plugins/harness-everything/skills/to-spec/templates/feature-spec.md +59 -0
  506. package/plugins/harness-everything/skills/to-spec/templates/schema-doc.md +31 -0
  507. package/plugins/harness-everything/skills/to-tickets/SKILL.md +42 -0
  508. package/plugins/harness-everything/skills/to-tickets/references/publishing-and-templates.md +97 -0
  509. package/plugins/harness-everything/skills/todo-driven-workflow/SKILL.md +42 -0
  510. package/plugins/harness-everything/skills/todo-driven-workflow/references/execution-guide.md +27 -0
  511. package/plugins/harness-everything/skills/using-git-worktrees/SKILL.md +49 -0
  512. package/plugins/harness-everything/skills/using-git-worktrees/references/workflow-details.md +108 -0
  513. package/plugins/harness-everything/skills/verification-loop/SKILL.md +46 -0
  514. package/plugins/harness-everything/skills/verification-loop/references/verification-phases.md +116 -0
  515. package/plugins/harness-everything/skills/verification-loop/templates/verification-report.template.md +15 -0
  516. package/plugins/harness-everything/skills/verify-before-claim/SKILL.md +43 -0
  517. package/plugins/harness-everything/skills/verify-before-claim/references/verification-guide.md +73 -0
  518. package/plugins/harness-everything/skills/zoom-out/SKILL.md +42 -0
  519. package/plugins/harness-everything/skills/zoom-out/references/circuit-breaker.md +66 -0
  520. package/plugins/harness-everything/skills/zoom-out/templates/zoom-out-report.template.md +20 -0
  521. package/repo-docs/SKILL.md +3 -7
  522. package/rewrite-commits/SKILL.md +2 -2
  523. package/scripts/build-openai-submission.js +158 -0
  524. package/scripts/installer.js +86 -11
  525. package/scripts/lib/advisory-text.js +25 -18
  526. package/scripts/lib/execution-contract.js +70 -0
  527. package/scripts/lib/manifest.js +34 -38
  528. package/scripts/lib/path-boundary.js +90 -0
  529. package/scripts/lib/skills.js +124 -70
  530. package/scripts/lib/workspace.js +269 -7
  531. package/scripts/sync-openai-plugin.js +91 -0
  532. package/scripts/sync-release-version.js +212 -0
  533. package/security-review/SKILL.md +4 -7
  534. package/security-review/scripts/audit-secrets.js +9 -8
  535. package/self-evolve/SKILL.md +9 -11
  536. package/self-evolve/references/memory-resolution.md +4 -1
  537. package/self-evolve/scripts/persist-memory.js +221 -88
  538. package/self-evolve/scripts/register-dynamic-skill.js +12 -10
  539. package/self-evolve/scripts/self-regression.js +23 -8
  540. package/skill-creator/SKILL.md +12 -14
  541. package/skill-creator/references/quality-checklist.md +1 -0
  542. package/skill-style/SKILL.md +4 -4
  543. package/skill-style/references/style-guide.md +29 -3
  544. package/submission/openai/README.md +67 -0
  545. package/submission/openai/listing.json +31 -0
  546. package/submission/openai/test-cases.json +61 -0
  547. package/tdd/SKILL.md +20 -26
  548. package/tdd/fixtures/pass-evidence.json +100 -0
  549. package/tdd/fixtures/quality-scenarios.json +20 -0
  550. package/tdd/references/core-discipline.md +2 -0
  551. package/tdd/references/integration-testing.md +13 -0
  552. package/tdd/references/quality-model.md +68 -0
  553. package/tdd/references/unit-testing.md +15 -0
  554. package/tdd/schemas/quality-evidence.schema.json +211 -0
  555. package/tdd/schemas/quality-report.schema.json +110 -0
  556. package/tdd/scripts/quality-gate.js +475 -0
  557. package/to-spec/SKILL.md +3 -5
  558. package/to-spec/scripts/check-project-docs.js +42 -62
  559. package/to-spec/scripts/project-docs-resolver.js +111 -0
  560. package/to-tickets/SKILL.md +4 -4
  561. package/todo-driven-workflow/SKILL.md +6 -4
  562. package/using-git-worktrees/SKILL.md +3 -3
  563. package/verification-loop/SKILL.md +4 -4
  564. package/verify-before-claim/SKILL.md +2 -2
  565. package/zoom-out/SKILL.md +4 -4
  566. package/ab-test-deep-analysis-2026-08-27.md +0 -383
  567. package/ab-test-results-2026-08-27.md +0 -152
  568. package/ab-test-statistical-analysis-31cases.md +0 -193
  569. package/opencode-plugin/hooks/circuit-breaker.js +0 -121
  570. package/opencode-plugin/hooks/compliance.js +0 -128
  571. package/opencode-plugin/hooks/post-edit.js +0 -62
  572. package/opencode-plugin/hooks/pre-complete.js +0 -65
  573. package/opencode-plugin/test-hook-firing.js +0 -198
package/CHANGELOG.md CHANGED
@@ -1,5 +1,147 @@
1
1
  # Changelog
2
2
 
3
+ All notable changes to this project are documented in this file.
4
+
5
+ ## [0.4.0](https://github.com/dyphn1/Harness-everything/compare/v0.3.6...v0.4.0) (2026-09-16)
6
+
7
+ ### Features
8
+
9
+ * **action-gate:** add destructive action rule table ([fc472b0](https://github.com/dyphn1/Harness-everything/commit/fc472b04dcba1b2b27faf42e2ba69a28e49191f9))
10
+ * **action-gate:** enforce pre-action approval ([fca6ccb](https://github.com/dyphn1/Harness-everything/commit/fca6ccba4d07a18f46fa1d43b214cb10a8be122c))
11
+ * **action-gate:** mirror destructive action rule table ([4ad59aa](https://github.com/dyphn1/Harness-everything/commit/4ad59aa51e2450a761e31db524f03e0ac754b1a6))
12
+ * **action-gate:** mirror pre-action approval enforcement ([5b254ea](https://github.com/dyphn1/Harness-everything/commit/5b254eaace8e438c3e1aa969ad150256f6e07161))
13
+ * **action-gate:** wire Claude lifecycle enforcement ([eadca2f](https://github.com/dyphn1/Harness-everything/commit/eadca2fcc8a98a5467a12774f0cad7983a4252f8))
14
+ * **action-gate:** wire plugin lifecycle enforcement ([f15a500](https://github.com/dyphn1/Harness-everything/commit/f15a50074fc564ebb8cdc72bc6b2979fe323c0f2))
15
+ * **codex:** observe native permission requests ([2cb472c](https://github.com/dyphn1/Harness-everything/commit/2cb472cee3786e2f510f0e1356f7163bcd37026d))
16
+ * **codex:** package native permission observer ([c7c279c](https://github.com/dyphn1/Harness-everything/commit/c7c279c5e187ec02830c91b8925129377fe338eb))
17
+ * **codex:** wire native permission request observer ([318c6ca](https://github.com/dyphn1/Harness-everything/commit/318c6ca14ef16f1846a0f1b993b1ce0a8e13d588))
18
+ * **compatibility:** Add official platform capability matrix ([3b423e2](https://github.com/dyphn1/Harness-everything/commit/3b423e233536406a6ef58609a1471b604ed1b461))
19
+ * **fable:** add bounded ensemble evidence synthesis ([df18314](https://github.com/dyphn1/Harness-everything/commit/df1831495344cc738617c320216799146192f6af))
20
+ * **fable:** add workflow plan consumer and run-scoped contracts ([215fe26](https://github.com/dyphn1/Harness-everything/commit/215fe266a748591870c98873100e05c05d3ce1b5))
21
+ * **hooks:** add run-scoped fable contract helpers ([0fa5b39](https://github.com/dyphn1/Harness-everything/commit/0fa5b3936184c98c293d6dbe265371cd0a5f47eb))
22
+ * **hooks:** correlate stage checks with run-scoped contracts ([2be79a9](https://github.com/dyphn1/Harness-everything/commit/2be79a9f9e50417c5211698bae380c4f080c50ee))
23
+ * **hooks:** validate subagent diffs against declared write sets ([56a1521](https://github.com/dyphn1/Harness-everything/commit/56a152135b100e432a6b2666531d26f930d6a0eb))
24
+ * **installer:** Add canonical per-scope skill store with link-aware uninstall ([4ec59dd](https://github.com/dyphn1/Harness-everything/commit/4ec59dd8702abf99574aab2524e65c84ad698bef)), closes [#49](https://github.com/dyphn1/Harness-everything/issues/49)
25
+ * **memory:** screen persisted rules and record provenance ([8f0759a](https://github.com/dyphn1/Harness-everything/commit/8f0759acf013281552440990977abc87d2d7ad4e))
26
+ * **openai:** 完成外掛生命週期支援 ([bf5d75b](https://github.com/dyphn1/Harness-everything/commit/bf5d75b19c5a979cd10a90a43cba61c09e2326ca)), closes [#72](https://github.com/dyphn1/Harness-everything/issues/72)
27
+ * **plugin:** add deterministic skills submission bundle builder ([a6fc321](https://github.com/dyphn1/Harness-everything/commit/a6fc3214460fe48961ee8f6cbadda4b3f0a335d4))
28
+ * **plugin:** add OpenAI submission listing source ([f0915dc](https://github.com/dyphn1/Harness-everything/commit/f0915dc650214691f7e89af2f19ea73cd1309530))
29
+ * **plugin:** mirror bounded ensemble evidence synthesis ([3b6c3f0](https://github.com/dyphn1/Harness-everything/commit/3b6c3f0f63c205882222747434395d8fb547847e))
30
+ * **plugin:** mirror bounded ensemble modifier policy ([aa9ee20](https://github.com/dyphn1/Harness-everything/commit/aa9ee20be35582567a9877e85b6337d2dded7198))
31
+ * **plugin:** mirror bounded ensemble schema ([e8b138e](https://github.com/dyphn1/Harness-everything/commit/e8b138e5018d4a011094432acc6ceb59cf127bd1))
32
+ * **plugin:** mirror kernel ensemble modifier ([389146a](https://github.com/dyphn1/Harness-everything/commit/389146a36037d3e1cf6ecbf4317ab0d887c254c7))
33
+ * **plugin:** mirror memory persistence screening ([0b707a9](https://github.com/dyphn1/Harness-everything/commit/0b707a91a89eb3da46091314f0a3977b5a9d90e9))
34
+ * **plugin:** package Harness Everything for ChatGPT and Codex ([0ce65d0](https://github.com/dyphn1/Harness-everything/commit/0ce65d0165b4890c847f561f79f95ebfd25d81e5))
35
+ * **plugin:** prepare Harness Everything for OpenAI publication ([8e827f6](https://github.com/dyphn1/Harness-everything/commit/8e827f6b8a0027c388bb18d94a8ae127a1d06141))
36
+ * **release:** add deterministic version synchronizer ([9a75283](https://github.com/dyphn1/Harness-everything/commit/9a75283718b624b98c98da6871ec80e8e397f031))
37
+ * **release:** align OpenCode plugin version ([e1a3e87](https://github.com/dyphn1/Harness-everything/commit/e1a3e87d79ec50701107e6e4cd29afa7a4c7eaf5))
38
+ * **release:** configure semantic release ([93020dc](https://github.com/dyphn1/Harness-everything/commit/93020dcedc0f58eabe7b05b27963be71cfa52e60))
39
+ * **release:** publish from conventional commit history ([585516b](https://github.com/dyphn1/Harness-everything/commit/585516bf4fa138d71860e0c25c01bef51cb31b32))
40
+ * **release:** remove beta Claude plugin version ([cb24975](https://github.com/dyphn1/Harness-everything/commit/cb24975f64c009cd84d571b9d994eb94899a7f32))
41
+ * **release:** remove beta Codex plugin version ([4c11024](https://github.com/dyphn1/Harness-everything/commit/4c11024f6f0895238447bb229cffbf4676bbb104))
42
+ * **release:** remove beta marketplace version ([85d48a7](https://github.com/dyphn1/Harness-everything/commit/85d48a790049460ad83e565674898f01d1592915))
43
+ * **release:** remove beta package version ([e5c24dd](https://github.com/dyphn1/Harness-everything/commit/e5c24ddd2f01451735b3961463b9139eb0608111))
44
+ * **release:** remove beta portable plugin version ([f94ff42](https://github.com/dyphn1/Harness-everything/commit/f94ff424830137a1d20e02277af461dfdb3475b0))
45
+ * **router:** add bounded ensemble modifier policy ([ae25dc5](https://github.com/dyphn1/Harness-everything/commit/ae25dc5096aba4254fc42c16f7dc746be5af668d))
46
+ * **router:** add task-shape schema ([5185d75](https://github.com/dyphn1/Harness-everything/commit/5185d759e68687eb32bd45f868581405ad8be59b))
47
+ * **router:** add versioned workflow plan contract ([714bb3f](https://github.com/dyphn1/Harness-everything/commit/714bb3fb4db4d47e3808c41e2eb133eb85df4510))
48
+ * **router:** add workflow plan schema ([1ffa89b](https://github.com/dyphn1/Harness-everything/commit/1ffa89b99d3d57497031e2673a966efe26304474))
49
+ * **router:** attach ensemble modifier at kernel contract boundary ([29841fc](https://github.com/dyphn1/Harness-everything/commit/29841fce11a15de1746517488eef218d4f1bf74c))
50
+ * **router:** consume structured tier contract ([6472bde](https://github.com/dyphn1/Harness-everything/commit/6472bdefc20659347256086600b29eadf358f727))
51
+ * **router:** derive task shape and safety modifiers ([904c0bf](https://github.com/dyphn1/Harness-everything/commit/904c0bf364d57443a8b1006d6e83709b3d2171ed))
52
+ * **router:** emit structured shadow routing contract ([49fcc72](https://github.com/dyphn1/Harness-everything/commit/49fcc7267bc4e6f91b92151e8009455b37905d77))
53
+ * **router:** extend task-shape schema for phase 2 ([21d98ec](https://github.com/dyphn1/Harness-everything/commit/21d98ec3d902e27181ae2e80b402e046376bdc3b))
54
+ * **router:** extend workflow-plan schema for selected strategies ([69b4f15](https://github.com/dyphn1/Harness-everything/commit/69b4f1506da1c5624f124085215c882f64c96f77))
55
+ * **router:** make kernel consume selected workflow plan ([f9162e5](https://github.com/dyphn1/Harness-everything/commit/f9162e55aa623c25023a30ccb84dbbe601ac6d26))
56
+ * **router:** select deterministic phase 2 strategies ([b85b0e9](https://github.com/dyphn1/Harness-everything/commit/b85b0e94c3fd1c749f5d563264bd8ce06b038b9f))
57
+ * **schema:** define bounded ensemble modifier contract ([6e1fa26](https://github.com/dyphn1/Harness-everything/commit/6e1fa266bee0665d7fa7713ba00697cd66b4edfb))
58
+ * **tdd:** Add quantified quality gate ([0fd4abf](https://github.com/dyphn1/Harness-everything/commit/0fd4abf19479ab3bb250d080622ddedd61593f31)), closes [#58](https://github.com/dyphn1/Harness-everything/issues/58)
59
+ * **workspace:** consume workspace portion of workflow plan ([5b75680](https://github.com/dyphn1/Harness-everything/commit/5b756807eae8b56ebcc2ecc2b312b91e42b84d37))
60
+
61
+ ### Bug Fixes
62
+
63
+ * **action-gate:** Defer matched commands to Claude Code permission modes ([7628da1](https://github.com/dyphn1/Harness-everything/commit/7628da1cbadd2b5ed2916514e8172b281aaf6e80)), closes [#107](https://github.com/dyphn1/Harness-everything/issues/107)
64
+ * **action-gate:** preserve fail-closed runtime semantics ([a959316](https://github.com/dyphn1/Harness-everything/commit/a9593166e1c6210d2c5cafe1b3f688a53b68ca1b))
65
+ * **action-gate:** sync shared runtime into plugin ([ed40429](https://github.com/dyphn1/Harness-everything/commit/ed4042973bd79afaaa0e8d1c84c067eb85ef4f3e))
66
+ * **behavioral-evals:** Correct the find-skills verdict claimed in PR [#51](https://github.com/dyphn1/Harness-everything/issues/51) ([6afa34f](https://github.com/dyphn1/Harness-everything/commit/6afa34f5f3601c32d7d04a8437ae373a9bcb514a)), closes [#52](https://github.com/dyphn1/Harness-everything/issues/52)
67
+ * **behavioral-evals:** Grant claude engine real headless autonomy, correct rubric bugs found live ([90e36c2](https://github.com/dyphn1/Harness-everything/commit/90e36c2071fb5a71e16cdc99b1060cd3d699c43b)), closes [#52](https://github.com/dyphn1/Harness-everything/issues/52) [#52](https://github.com/dyphn1/Harness-everything/issues/52)
68
+ * **behavioral-evals:** harden evidence triage ([f7bd8ec](https://github.com/dyphn1/Harness-everything/commit/f7bd8ec8fe6b8f02f55e8b45e45af5e233f4d224)), closes [#56](https://github.com/dyphn1/Harness-everything/issues/56) [#56](https://github.com/dyphn1/Harness-everything/issues/56)
69
+ * **behavioral-evals:** Harden evidence triage ([ad45453](https://github.com/dyphn1/Harness-everything/commit/ad45453a8f08d28256ae569735aa2c7125d901e8))
70
+ * **behavioral-evals:** Make execution evidence grading command-aware ([aa2235d](https://github.com/dyphn1/Harness-everything/commit/aa2235d49a97764dd6406ce5f12fc057366faa17))
71
+ * **behavioral-evals:** parse Claude stream evidence ([77efb06](https://github.com/dyphn1/Harness-everything/commit/77efb06ae91b28d07b60e7833ba96940bae612cb)), closes [#52](https://github.com/dyphn1/Harness-everything/issues/52)
72
+ * **behavioral-evals:** parse Claude stream evidence ([f5c3a46](https://github.com/dyphn1/Harness-everything/commit/f5c3a4639b15464017b344b7329c990912480516)), closes [#52](https://github.com/dyphn1/Harness-everything/issues/52)
73
+ * **behavioral-evals:** Support --model for the claude engine, correct find-skills-exposure claim ([15e4c7c](https://github.com/dyphn1/Harness-everything/commit/15e4c7c98717dea615052114be9e8033f9e4feb5))
74
+ * **boundaries:** Add shared verifier contracts ([c093c50](https://github.com/dyphn1/Harness-everything/commit/c093c50de7cd12260f0fdee3f6e6d4f6a49d2d0b))
75
+ * **ci:** Derive the release baseline and gate tag pushes with the full CI suite ([0ec04af](https://github.com/dyphn1/Harness-everything/commit/0ec04af3f4fc100eced3b464c7be919f31a8e969)), closes [#39](https://github.com/dyphn1/Harness-everything/issues/39)
76
+ * **ci:** Fetch history for historical evidence tests ([aeeb69f](https://github.com/dyphn1/Harness-everything/commit/aeeb69f43cbec76f1a4d9f8e3e6cd1483bf33664))
77
+ * **ci:** Harden issue 20 verification gates ([b482e41](https://github.com/dyphn1/Harness-everything/commit/b482e41a9448efe0504032472b86eeb1f983c6cd))
78
+ * **ci:** Make SKILL.md path notation file-relative and fail on unknown placeholders ([543c057](https://github.com/dyphn1/Harness-everything/commit/543c057b676c9e4e98f745b1758b666a6756a95a)), closes [#44](https://github.com/dyphn1/Harness-everything/issues/44)
79
+ * **ci:** Publish the workspace skip-list instead of paying tokens to inline it ([cda087c](https://github.com/dyphn1/Harness-everything/commit/cda087cff423763f2e14fd2940cc1331396de313)), closes [#44](https://github.com/dyphn1/Harness-everything/issues/44)
80
+ * **ci:** Spend path markers only where the base is not the current file ([8b2a73e](https://github.com/dyphn1/Harness-everything/commit/8b2a73ed3c2a9b83009ab3273c7fa00ccd45645a)), closes [#44](https://github.com/dyphn1/Harness-everything/issues/44)
81
+ * **claude-plugin:** avoid duplicate standard hooks registration ([314bcf1](https://github.com/dyphn1/Harness-everything/commit/314bcf1663a24f9eb32fdf342a3b1ed58c2f0006))
82
+ * **claude:** anchor plugin hooks to CLAUDE_PLUGIN_ROOT ([6a4462b](https://github.com/dyphn1/Harness-everything/commit/6a4462b85fbc79464da6be0e0e27092a36fa9fa6))
83
+ * **claude:** resolve plugin-root hook commands during install ([fdd2dd7](https://github.com/dyphn1/Harness-everything/commit/fdd2dd7cacf07e46699dec582cd734966addea88))
84
+ * **claude:** sync installer hook-root resolver into plugin ([308949a](https://github.com/dyphn1/Harness-everything/commit/308949a7840bdc26179c4772dd4fa424b84d8f7e))
85
+ * **codex:** align hook lifecycle with supported events ([8f90425](https://github.com/dyphn1/Harness-everything/commit/8f904258d6bf5e46e939facff3d734ad2baf7e63))
86
+ * **codex:** canonicalize action-gate post adapter ([82b56af](https://github.com/dyphn1/Harness-everything/commit/82b56af6195d05790573b3e75ffcf16684011d73))
87
+ * **codex:** infer action-gate outcome from PostToolUse ([0c79b11](https://github.com/dyphn1/Harness-everything/commit/0c79b110f5af9f311c80bdfaf42e94f26c5c1298))
88
+ * **fable:** serialize overlapping staged work without rejecting plan ([33e4c1a](https://github.com/dyphn1/Harness-everything/commit/33e4c1ae9dc5d74ee229c1e2b1758153f25a1f45))
89
+ * **find-skills:** Add tested host-agent exposure for ephemeral skills ([#35](https://github.com/dyphn1/Harness-everything/issues/35)) ([11fe847](https://github.com/dyphn1/Harness-everything/commit/11fe847bf6d8a1643b9487106b5519aae87b1e5a))
90
+ * **find-skills:** Trim SKILL.md under the 500-token waza hard limit ([5d66c0a](https://github.com/dyphn1/Harness-everything/commit/5d66c0a8a35fd6495b137b5578a511541ad88c30)), closes [#35](https://github.com/dyphn1/Harness-everything/issues/35)
91
+ * Harden PR [#66](https://github.com/dyphn1/Harness-everything/issues/66) behavioral evidence triage ([fcf0015](https://github.com/dyphn1/Harness-everything/commit/fcf00157597ed17ead63dcfb68e35c913b21fc2e))
92
+ * **hooks:** keep contract correlation session and path safe ([6655d83](https://github.com/dyphn1/Harness-everything/commit/6655d836394acd0e83145e35f1f20f3bd33e17aa))
93
+ * **hooks:** treat pending stage contracts as active ([ec6c265](https://github.com/dyphn1/Harness-everything/commit/ec6c2653afc97dd48ff2f9b8051d4ef57a28e03b))
94
+ * **installer:** discover native Continue and Hermes manifests ([d836760](https://github.com/dyphn1/Harness-everything/commit/d836760179e09cd08ec5aa206e439624d68d1973))
95
+ * **installer:** fail closed on malformed Claude settings ([fdec691](https://github.com/dyphn1/Harness-everything/commit/fdec691ef682ca0c4c28a4490d1be8b539ffbe9f))
96
+ * **installer:** Honor explicit uninstall scope flags over the interactive menu ([9f791d9](https://github.com/dyphn1/Harness-everything/commit/9f791d9ac39fa20a24e82ee996e71312f187b437)), closes [#48](https://github.com/dyphn1/Harness-everything/issues/48) [#49](https://github.com/dyphn1/Harness-everything/issues/49)
97
+ * **installer:** preserve pre-existing advisory files ([0299db0](https://github.com/dyphn1/Harness-everything/commit/0299db0724a789b83d8c5f3ed8b4d1a32bf68f14))
98
+ * **installer:** protect global Codex prompt ownership ([db67ac6](https://github.com/dyphn1/Harness-everything/commit/db67ac697e9f4d5beb50280f9db96f7114b99829))
99
+ * **installer:** protect global Copilot prompt ownership ([5f36651](https://github.com/dyphn1/Harness-everything/commit/5f36651d80550acea4a5d2a7c5bb532dece89e4a))
100
+ * **installer:** track Hermes global install ownership ([6967a3e](https://github.com/dyphn1/Harness-everything/commit/6967a3e33f0d2506192a16a5b705a0b04a774663))
101
+ * **installer:** use Codex native project skills path ([b4a372c](https://github.com/dyphn1/Harness-everything/commit/b4a372c6d9749c9ebd22b379bd45ce61358fffc6))
102
+ * **installer:** use Continue native global skills path ([cb0202c](https://github.com/dyphn1/Harness-everything/commit/cb0202cc518facf3836af1e377b58c10320fc6fb))
103
+ * **installer:** use Hermes native skill scopes ([d7c8275](https://github.com/dyphn1/Harness-everything/commit/d7c8275db04e71c5e6cf6b12e7b474da2fc8ecd9))
104
+ * **multi-agent-workspace:** Harden document resolution and migration ([6361f96](https://github.com/dyphn1/Harness-everything/commit/6361f96bec03741ea4a743f7284e0fdc7febeaa0)), closes [#43](https://github.com/dyphn1/Harness-everything/issues/43) [#43](https://github.com/dyphn1/Harness-everything/issues/43)
105
+ * **opencode-plugin:** Declare all five hooks and gate them in CI ([30e2e6d](https://github.com/dyphn1/Harness-everything/commit/30e2e6d6e868323d9b5af9a8cf8cb7015515879e)), closes [#37](https://github.com/dyphn1/Harness-everything/issues/37) [#20](https://github.com/dyphn1/Harness-everything/issues/20)
106
+ * **opencode-plugin:** Port enforcement plugin to opencode's real plugin API ([4ae960c](https://github.com/dyphn1/Harness-everything/commit/4ae960c15e582a7c4b23e41471d875120da8dcd6)), closes [#37](https://github.com/dyphn1/Harness-everything/issues/37) [#37](https://github.com/dyphn1/Harness-everything/issues/37)
107
+ * **opencode:** enforce reflection lifecycle ([d790e7f](https://github.com/dyphn1/Harness-everything/commit/d790e7f71d9738cea28d8d623e9c2cf857dd2793)), closes [#37](https://github.com/dyphn1/Harness-everything/issues/37)
108
+ * **opencode:** enforce reflection lifecycle ([74ffed3](https://github.com/dyphn1/Harness-everything/commit/74ffed3513aa7e9b51251a44d7c2a39298a990d1)), closes [#37](https://github.com/dyphn1/Harness-everything/issues/37)
109
+ * **opencode:** Harden reflection enforcement ([8989ab4](https://github.com/dyphn1/Harness-everything/commit/8989ab4c81ad8887359c8428eb8c3e3b5d7cc458))
110
+ * Parse top-level tool events in behavioral transcripts ([31fe8e1](https://github.com/dyphn1/Harness-everything/commit/31fe8e1cb6b193d21079dcc2c64edb712b40ac6d))
111
+ * **plugin:** align public long description with submission listing ([ab2e283](https://github.com/dyphn1/Harness-everything/commit/ab2e283424c34328f57b0373e9bc7ebab894f96a))
112
+ * **plugin:** match plugin.json manifest schema for repository and agents ([ab770ad](https://github.com/dyphn1/Harness-everything/commit/ab770ad1e9ec5489e83dbd06228fc10bd875806a)), closes [#86](https://github.com/dyphn1/Harness-everything/issues/86)
113
+ * **plugin:** Point agents at individual .md files, not a directory ([10e7512](https://github.com/dyphn1/Harness-everything/commit/10e75129ee5b19ee5c5d8872ee73195cc6c4109d))
114
+ * **release:** initialize conventional commits preset ([a0dbbf9](https://github.com/dyphn1/Harness-everything/commit/a0dbbf96f87a79de6674c95c7b99dd549d62809b))
115
+ * **release:** keep release commit compatible with commitlint ([#116](https://github.com/dyphn1/Harness-everything/issues/116)) ([27b1595](https://github.com/dyphn1/Harness-everything/commit/27b1595aef715aa696a67eaa58fc1367f0f3eba4)), closes [#115](https://github.com/dyphn1/Harness-everything/issues/115)
116
+ * **release:** make version rules explicit ([469a4ed](https://github.com/dyphn1/Harness-everything/commit/469a4edc3e2402cfd124c7764cc1b41e3387b319))
117
+ * **release:** remove beta from active skill metadata ([df2201c](https://github.com/dyphn1/Harness-everything/commit/df2201cd6508335d44fb5b14c0879808016ac742))
118
+ * **release:** use compatible changelog preset for [#113](https://github.com/dyphn1/Harness-everything/issues/113) ([9a181cf](https://github.com/dyphn1/Harness-everything/commit/9a181cf607797cd35a84a7b0e540387feda2f196))
119
+ * **release:** version changed skills during release ([333bb33](https://github.com/dyphn1/Harness-everything/commit/333bb33ceacbd5bc20be546d751bd98468e74db9))
120
+ * **release:** version only skills changed since last release ([6c74155](https://github.com/dyphn1/Harness-everything/commit/6c741557150c9156a0b31ed5713353f5a15ed21e))
121
+ * **router:** preserve invariant-first human-readable contract ([5a9baf0](https://github.com/dyphn1/Harness-everything/commit/5a9baf02e906c29e027affc9b735366526b54c3e))
122
+ * **router:** serialize unsafe explicit parallel requests ([fd02c97](https://github.com/dyphn1/Harness-everything/commit/fd02c977607b7400d9a61cbdc6648b79770a5a0b))
123
+ * **self-evolve:** Stop gating simple-rule persistence on the meta-repo's own CI ([4ab1bd8](https://github.com/dyphn1/Harness-everything/commit/4ab1bd88e11f55194e25f6bb636b164a57794eea)), closes [#54](https://github.com/dyphn1/Harness-everything/issues/54) [#52](https://github.com/dyphn1/Harness-everything/issues/52)
124
+ * **self-heal:** Identify the harness repo by package name, not source path ([f7ad891](https://github.com/dyphn1/Harness-everything/commit/f7ad891940cfa18b951d41ea3bcac80a98972e9c)), closes [#40](https://github.com/dyphn1/Harness-everything/issues/40)
125
+ * **skill-creator:** Require USE FOR/DO NOT USE FOR in the Quality Checklist ([68d9923](https://github.com/dyphn1/Harness-everything/commit/68d992350001d97fd3258a37dcc1e0d894a86c0b)), closes [#55](https://github.com/dyphn1/Harness-everything/issues/55)
126
+ * **skill:** Keep workspace contract within token budget ([7cd7956](https://github.com/dyphn1/Harness-everything/commit/7cd7956146be01221bc5e6b8bbf0d2fe21b027a0))
127
+ * **skill:** Keep workspace contract within token budget ([d360b8c](https://github.com/dyphn1/Harness-everything/commit/d360b8c70d89eaca8687821f616fe3cd9007f5ba))
128
+ * **skills:** Close Issue [#44](https://github.com/dyphn1/Harness-everything/issues/44) disclosure and path normalization defects ([27cb486](https://github.com/dyphn1/Harness-everything/commit/27cb486d0b7fbb0148df711bcfa8a1d6a355077d))
129
+ * **skills:** Trim SKILL.md bodies to fit waza's real 500-token budget ([3eeadf5](https://github.com/dyphn1/Harness-everything/commit/3eeadf5cf49ae4b00967a7901e6e157a2256ce20))
130
+ * **state:** Converge Claude/opencode runtime state onto a single global root ([ee348cd](https://github.com/dyphn1/Harness-everything/commit/ee348cdab972e2cfe08ec3277f1a89e86ecb2a74)), closes [#42](https://github.com/dyphn1/Harness-everything/issues/42)
131
+ * **state:** Fix zero-walk and cwd-default scatter in fable-mode and multi-agent-workspace ([6ac579e](https://github.com/dyphn1/Harness-everything/commit/6ac579e95632e9119a81260d4965974118c199be)), closes [#42](https://github.com/dyphn1/Harness-everything/issues/42)
132
+ * **state:** Harden workspace identity and migration ([0f3149d](https://github.com/dyphn1/Harness-everything/commit/0f3149da848b931d0c575311396b7f747122f452)), closes [#42](https://github.com/dyphn1/Harness-everything/issues/42)
133
+ * **state:** stabilize workspace identity and migration ([9dd2e3d](https://github.com/dyphn1/Harness-everything/commit/9dd2e3df3c4bfe91d8651c8344f568842687fbc1))
134
+ * **state:** stabilize workspace identity and migration ([d28a055](https://github.com/dyphn1/Harness-everything/commit/d28a055c1822a35ecc0ee96e7f578d8cb1363e96))
135
+ * **test:** close Codex Stop hook assertion ([ac1a8b6](https://github.com/dyphn1/Harness-everything/commit/ac1a8b600abc399cfa217e63a9c22ea8f08df362))
136
+ * **uninstall:** normalize global skill scope protection ([ab7ae46](https://github.com/dyphn1/Harness-everything/commit/ab7ae460a2cbf3abcf7f0da35436883d72fd0856))
137
+ * **uninstall:** remove orphaned Harness reference artifacts ([0a4d5b2](https://github.com/dyphn1/Harness-everything/commit/0a4d5b2caf0883f48aa3a22cdb97ade1f2d59823))
138
+ * **verifier:** export normalizeRepoPath for behavioral runner ([3e7b580](https://github.com/dyphn1/Harness-everything/commit/3e7b58024e9bef78299349e75f35f0c7cee37ea8))
139
+ * **verifier:** Harden consumer boundaries and mutation gates ([ef010ba](https://github.com/dyphn1/Harness-everything/commit/ef010bae835dcef736231ff07f9f09e0a6a886e8))
140
+ * **workspace:** keep skill contract compact and references explicit ([cce02bc](https://github.com/dyphn1/Harness-everything/commit/cce02bc4a1273428eae4dad586ab0a42eda2b2a7))
141
+ * **workspace:** preserve state mutation contract wording ([4cc11be](https://github.com/dyphn1/Harness-everything/commit/4cc11be2b8d94c7388320af4421e568ca51857d2))
142
+
143
+ # Changelog
144
+
3
145
  All notable changes to this project will be documented in this file.
4
146
 
5
147
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
@@ -7,6 +149,55 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
149
 
8
150
  ---
9
151
 
152
+ ## [Unreleased]
153
+
154
+ ### Changed
155
+ - **Action gate defers to Claude Code permission modes** (#107): on Claude Code, a matched destructive command no longer returns a forced `permissionDecision: "ask"`, which prompted even in auto mode. The gate returns no decision, so the session's permission mode, rules and auto-mode classifier decide. It still records the matched rule and the command SHA-256 (`deferred-to-host`, then `executed` or `rejected`). An internal error on Claude also defers and shows a `systemMessage` warning. `HARNESS_ACTION_GATE_POLICY=always-ask` restores the forced prompt. Hosts without an ask decision keep the exit-2 block.
156
+
157
+ ## [0.3.7-beta] - Unreleased
158
+
159
+ ### Changed
160
+ - Prepare the next beta for the reviewed open-issue implementations (#20, #37, #42, #43, #44, #52, #56, #74, #75, #78, #82). Individual changes and verification evidence are recorded as they are integrated.
161
+
162
+ ---
163
+
164
+ ### Added
165
+ - **Portable Agent Plugin compatibility and platform matrix** (#75, #82): added the portable root `plugin.json`, official-source compatibility data for standalone skills versus plugins across eight agent platforms, explicit installer-target contracts, conservative status vocabulary, and deterministic gates that keep package/mechanism evidence separate from live-host evidence.
166
+ - **OpenAI/Codex lifecycle runtime compatibility** (#72): extended the local `.codex-plugin` package from session/prompt hooks to mechanism-tested `PreToolUse`, `PostToolUse`, `SubagentStart`, `SubagentStop`, and `Stop` adapters, including portable state dependencies and `apply_patch` edit tracking. Package synchronization now normalizes text EOLs for reproducible Windows/Unix output.
167
+ - **OpenAI/Codex plugin packaging and public Skills-only submission** (#74): added the repository marketplace (`.agents/plugins/marketplace.json`), local `.codex-plugin` package, synchronized copies of all 26 canonical skills, local `SessionStart` / `UserPromptSubmit` invariant hooks, OpenAI package/submission tests, deterministic Skills-only ZIP generation, and reviewer listing/test-case inputs. The local plugin mechanism boundary is explicitly separate from the public Skills-only artifact, which does not include the local lifecycle hooks.
168
+ - **Progressive disclosure and explicit skill paths** (#44): require short routed skill contracts, lazy-loaded workflow/reference detail, meaningful Mermaid coverage, and explicit `<this-skill-dir>/`, `<skills-repo-root>/`, or `<workspace>/` path bases.
169
+ - **Behavioral-eval evidence triage** (`behavioral-evals/`, #56): added structural case validation, ordered execution-evidence grading, sanitized historical archives with current-versus-historical hashes, and paired-rerun status tracking for old failures and never-run cases.
170
+ - **Shared verifier boundary contracts** (`scripts/lib/path-boundary.js`, `scripts/lib/execution-contract.js`): physical containment checks reject traversal and junction/symlink aliases, while execution evidence uses exact command/argv matching and all-or-nothing patch authorization. Deterministic mechanism coverage protects the contract for downstream verifier, workspace, installer, and plugin fixes.
171
+ - **Machine-verifiable TDD scoring gate** (`tdd/`, #58): the TDD skill routes behavior through a Mermaid path to separate unit or integration standards. Added profile-tagged source evidence, published canonical weights and calculation inputs, per-requirement and aggregate scores, mandatory PASS/FAIL gates, strict integration rerun comparison, auditable skip/N/A handling, and separate `NON_CONFORMANT`, `SOURCE_DEFECT`, and `SOURCE_CONFLICT` outcomes. `npm run tdd:quality -- <evidence.json> --output <report.json>` is the agent self-check; CI fixtures lock exact Unit and Integration scores plus malformed, incomplete, conflicting, skipped, and nondeterministic failures.
172
+ - **`--model` support for the `claude` engine in `behavioral-evals/run.js`**: `BEHAVIORAL_MODEL` now also passes `--model <value>` to the `claude -p` invocation (previously only the `opencode` engine read it). Lets a live run target a specific model, e.g. `BEHAVIORAL_MODEL=haiku node behavioral-evals/run.js run --case <id> --arm both`.
173
+ - **Full behavioral-eval skill coverage** (`behavioral-evals/cases/`, #34): added a fixture-bound baseline case for each of the 14 root skills that previously had only routing-precision coverage (`environment-detection`, `eval-harness`, `fable-discipline`, `find-skills`, `install-cognitive-os`, `multi-agent-workspace`, `rewrite-commits`, `self-evolve`, `skill-creator`, `skill-style`, `todo-driven-workflow`, `to-spec`, `to-tickets`, `using-git-worktrees`). `npm run eval:behavioral:validate` now covers all 26 shipped root skills instead of 12/26; `npm run eval:behavioral run` remains on-demand/token-costing, never CI. Live-verified on Haiku (`--engine claude`, see the harness-bug fix below) after two correction rounds: 5 EFFECTIVE (`eval-harness`, `skill-style`, `using-git-worktrees`, `to-tickets`, `to-spec`), 2 legitimate INCONCLUSIVE (`install-cognitive-os`, `fable-discipline`), 2 genuine INEFFECTIVE findings not rubric bugs (`self-evolve` treatment never wrote anything; `skill-creator` treatment wrote the Skill Contract table but omitted the required `USE FOR` section), and 5 still open (`environment-detection`, `todo-driven-workflow`, `multi-agent-workspace`, `rewrite-commits`, `find-skills` - blocked on #52 and/or an unverified prompt/turn-budget edit made after the last live run; see each case file's own note). Post-merge correction (2026-09-04): `find-skills` was briefly reported EFFECTIVE from a pre-permission-fix run where a denied tool call's permission-request text happened to mention the search command; re-run after the fix shows the skill actually works (a real search, presented correctly, never auto-applied) but #52 hides that from the grader - moved to the open/blocked list.
174
+
175
+ ### Fixed
176
+ - **Verifier consumer boundary repair** (`behavioral-evals/`, `multi-agent-workspace/`, `opencode-plugin/`, `scripts/installer.js`): reject historical refs that cannot resolve, protect archive and legacy migration writes from junction/symlink aliases, require exact command evidence and atomic reflection patches, reject fixture traversal, and make global installation work outside a git checkout. Added a focused mutation gate so these protections are required by executable tests.
177
+ - **Issue #20 deterministic gate hardening**: behavioral case parsing now preserves block scalars from CRLF files, malformed skill YAML fails closed in collision detection, negative controls execute the real gates against bad fixtures, the opencode plugin runner's validation path works, and local routing checks gracefully skip when waza is unavailable. Live opencode loading and paid behavioral evidence remain explicitly unverified.
178
+ - **Claude behavioral-eval transcript measurement** (`behavioral-evals/run.js`, `behavioral-evals/transcript-parser.js`, #52): switched headless Claude runs to verbose `stream-json`, preserved legacy JSON parsing with unavailable tool visibility, and added structured tool-attempt/completion/denial evidence with fail-closed grading for partial or unrecognized streams. Paired aggregation now excludes inconclusive arms from effectiveness statistics and preserves unknown tool-count deltas as `null`.
179
+ - **Execution-safe behavioral-eval rubrics** (`behavioral-evals/transcript-parser.js`, `behavioral-evals/cases/`): command-keyed expectations now match the recorded command (including safe prefixes and script path arguments), legacy/user transcript prose cannot masquerade as execution evidence, and execution-focused cases use structured completed-tool assertions.
180
+ - **Multi-agent workspace path split** (#43): moved generated runtime metadata, roles, state, logs, router, and memory indexes into the global workspace-keyed Harness state home; document zones now resolve from root `CONTEXT-MAP.md`, repository configuration, existing conventions, or a committable fallback. The installed scaffold/indexer no longer copy generated scripts, safely migrate authored legacy records, reject symlink escapes and duplicate migration destinations, and preserve authored records on migration failure.
181
+ - **`behavioral-evals/run.js`'s `claude` engine never actually granted headless autonomy** (#52 tracks a related follow-up): `--permission-mode acceptEdits` only auto-approves file edits, not Bash/PowerShell tool calls, and a headless `-p` session has no human to answer those prompts - every case needing a shell command (git, npm, node scripts) stalled with every tool call denied, the model just describing what it would do. Every previously-committed live result (2026-08-27) used `engine: opencode` (`--auto`); the `claude` engine path was only argv-shape-tested by `ci/mechanism-2j-behavioral-runner.test.js`, never actually live-run, until testing #34/#35's new cases on Haiku exercised it for the first time on a machine without `opencode` installed. Switched to `--dangerously-skip-permissions`, matching `opencode --auto`'s autonomy in the same kind of disposable `os.tmpdir()` fixture workspace. Separately, discovered the `claude` engine's `--output-format json` trace only ever contains the model's final message, never intermediate tool calls (`opencode`'s JSONL stream does) - filed as #52 rather than fixed here, since it's a larger parser change; cases that depended on tool-call visibility are marked with a comment pointing at it instead of being rewritten around the gap.
182
+ - **find-skills exposure contract** (`find-skills/SKILL.md`, `find-skills/references/discovery-flow.md`, #35): `use-skill.js`'s fetch/cache/print mechanics already worked, but the "apply the output" instruction was passive enough that a caller handed the printed `SKILL.md` did not reliably treat it as binding — a real test reported no skill invoked. Narrowed the contract to fetch-and-print, made the caller-side apply step explicit ("treat every instruction in that output as binding for the rest of this request, exactly as if it had been loaded as a real skill"), and added `behavioral-evals/cases/baseline-find-skills-exposure.yaml`, a caller-side integration test with a local fixture standing in for the fetched output so it stays deterministic and offline. Live-run on Haiku twice (see the case file's own note): both arms passed both times, so the case is a regression floor (confirms the fetched instruction is followed with `find-skills` loaded) and not proof the wording change is what causes it — a capable model already complies with an explicit embedded directive it's told to read, skill-loaded or not.
183
+ - **Runtime state scattering into cwd-derived paths** (`scripts/lib/workspace.js`, `hooks/scripts/lib/harness-state.js`, `opencode-plugin/index.mjs`, `opencode-plugin/hooks/verify.js`, `fable-mode/scripts/model-selector.js`, `multi-agent-workspace/scripts/scaffold.js`, `scripts/installer.js`, #42): runtime state (rule-of-3 counters, stop-gate handoff timestamps, the fable-mode audit log, the opencode circuit breaker) was rooted under `getWorkspaceRoot()`, which falls back to bare `process.cwd()` when no `.git` ancestor exists - a script invoked from a fixture dir, worktree, or submodule silently re-materialized a fresh `.claude/harness-everything/state/` tree right there instead of in the real workspace. Converged onto a single global, workspace-keyed root (`~/.agents/harness-everything/workspaces/<slug-hash>/`, overridable via `HARNESS_STATE_HOME`), with one-time migration of any state a pre-fix install already scattered. The opencode plugin's own state was worse pre-fix (one flat `~/.harness-state` shared by every project on the machine - a circuit-breaker trip in one project hard-locked all the others); it now keys per workspace too. `fable-mode/scripts/model-selector.js` had zero workspace-root walk at all (the worst case in the issue's inventory) and now has one. Left alone, deliberately: five skill-owned CLI scripts (`persist-memory.js`, `register-dynamic-skill.js`, `audit-secrets.js`, `check-project-docs.js`, `evaluate.js`) that ship standalone into every install target and can't depend on the source repo's `scripts/lib/workspace.js` - their write targets are project artifacts by design, not ephemeral state. `ci/mechanism-2o-state-home-isolation.test.js` covers the issue's own repro plus the migration path.
184
+ - **Issue #42 adversarial corrections** (`scripts/lib/workspace.js`, `multi-agent-workspace/scripts/scaffold.js`, the standalone project writers, `find-skills/scripts/use-skill.js`, `opencode-plugin/index.mjs`, #42): no-context calls now use a stable unbound global bucket instead of cwd-derived identity, Windows case variants hash identically, non-git invocations refuse project writes, `.harness/multi-agent` and flat opencode state migrate even when destinations already exist, and find-skills uses the unified state home. `ci/mechanism-2u-issue-42-regressions.test.js` proves each regression against isolated fixtures.
185
+ - **Session-stable workspace identity and recoverable migration** (`scripts/lib/workspace.js`, `hooks/scripts/lib/harness-state.js`, `fable-mode/scripts/model-selector.js`, #42): hook payloads now bind a host/session identity to the first trusted workspace context so later cwd changes, nested repositories, symlink paths, and hostless follow-ups do not silently fork runtime state. Legacy platform trees are merged without overwriting newer destination files; conflicts and unsupported entries remain available for a later retry, while independent platform sources continue migrating. `ci/mechanism-2t-workspace-identity.test.js` covers host/session binding, cwd changes, conflicts, symlinks, and retry.
186
+ - **Self-repo detection** (`scripts/lib/workspace.js`): bootstrap and self-heal now identify the harness repo by `package.json` name instead of comparing against the running script's own directory, so an npx or global install no longer reports the harness checkout as drifted and recommends a repair that self-heal refuses to run. The audit also distinguishes an absent integration file from one that exists without the Harness advisory block.
187
+ - **opencode plugin, ported to the real API** (`opencode-plugin/index.mjs`, #37): the previous `plugin.json` manifest mapping `postEdit`/`preComplete` to standalone scripts was never invoked by opencode - it has no manifest-to-script mechanism and no such events. Replaced with a single ESM module exporting `tool.execute.before` (circuit-breaker hard lock), `tool.execute.after` (edit tracking) and `event` (verification gate on `session.idle`, which pushes a follow-up message via `client.session.prompt()` on failure since the event can't be blocked directly) - all three verified against opencode's plugin source. Reflection now has a tokenized report artifact lifecycle: code edits are blocked while pending, report writes are accepted through the real `(input, output)` hook arguments, read tools remain available, and repeated idle or failed prompt delivery are idempotent and retry-safe. State is isolated by workspace and session, unsafe IDs cannot escape reset containment, and the module contract and installation are documented. `ci/mechanism-2n-opencode-plugin.test.js` covers the full lifecycle, session isolation, reset safety, and hard-lock enforcement. Not yet verified: a live opencode session actually loading and firing the plugin (opencode requires Bun, not installable in this repo's environment).
188
+ - **opencode reflection enforcement hardening** (`opencode-plugin/index.mjs`, #37): reflection directives are now scoped to the `## Decision` section, corrupt breaker state fails closed, and `apply_patch` marker paths are recognized from `output.args.patchText`. The mechanism test covers each regression and restores repository-inventory parity for the remaining standalone helper.
189
+ - **Release baseline** (`ci/release-consistency-check.js`): the comparison tag is derived from the latest tag (or `--tag` / `HARNESS_RELEASE_TAG`) instead of being pinned to `v0.3.3-beta`, which had been three releases stale while still reporting PASSED.
190
+
191
+ ### Changed
192
+ - **Release gate** (`.github/workflows/release.yml`): a tag push now runs the same job set as a pull request - including `test:references`, `test:release`, the waza skill-quality gate, and the windows matrix - instead of a weaker ubuntu-only subset.
193
+ - **Changelog/tag consistency** (`ci/consistency-check.js`): every released changelog heading must have a matching git tag; versions that were never tagged must say so in the heading.
194
+
195
+ ### Documentation
196
+ - **Platform capability documentation consistency** (#78): centralized current enforcement/install/evidence claims in `docs/platform-capabilities.md`, aligned README/architecture/verification/mechanism/troubleshooting/audit/benchmark/agent/OpenCode documentation, and added `test:docs:capabilities` as a deterministic drift gate chained into `test:consistency` on Linux and Windows CI.
197
+ - **opencode plugin status** (`README.md`, `opencode-plugin/README.md`): updated to describe the real `index.mjs` plugin and its installation (drop into `.opencode/plugins/`, no `opencode.json` entry needed). opencode is now listed alongside Claude Code as a hard-enforcement platform, flagged as unverified in a live session pending #37's remaining step.
198
+
199
+ ---
200
+
10
201
  ## [0.3.6] - 2026-09-01
11
202
 
12
203
  ### Added
@@ -25,10 +216,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
25
216
 
26
217
  ---
27
218
 
28
- ## [0.3.5-beta] - 2026-09-01
219
+ ## [0.3.5-beta] - 2026-09-01 (unreleased - never tagged; shipped in 0.3.6)
29
220
 
30
221
  ### Added
31
- - **Fable v3 model modes**: Added explicit Haiku, Sonnet, and Opus entrypoints, named agent distribution, a deterministic model matrix/selector, required stage audit records, and visible fallback or blocked escalation behavior.
222
+ - **Fable v3 model modes**: Added explicit Haiku, Sonnet, and Opus entrypoints, named agent distribution, a deterministic model matrix/selector, required stage audit records, and visible inline fallback or blocked escalation behavior.
32
223
  - **Fable routing and contract coverage**: Added positive/negative mode routing evals and deterministic selector tests for model availability, alias normalization, audit persistence, and unsupported-runtime handling.
33
224
 
34
225
  ### Changed
@@ -37,7 +228,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
37
228
 
38
229
  ---
39
230
 
40
- ## [0.3.4-beta] - 2026-08-23
231
+ ## [0.3.4-beta] - 2026-08-23 (unreleased - never tagged; shipped in 0.3.6)
41
232
 
42
233
  ### Added
43
234
  - **A/B Eval Harness** (`eval-framework/ab-test-harness.js`): automated with/without skill comparison to prove method effectiveness. Takes a skill + test prompt, spawns baseline (no skill) and treatment (with skill) agent sessions, grades both against a rubric, and produces a verdict (EFFECTIVE / INCONCLUSIVE / INEFFECTIVE / HARMFUL). Run `npm run test:ab` (validate, free) or `npm run test:ab:run` (costs tokens). First run on gpt-5-mini: 4/4 INCONCLUSIVE — model already performs tested behaviors by default. Results in `benchmarks/ab-test-<date>/`.
package/CONTRIBUTING.md CHANGED
@@ -18,6 +18,7 @@ All contributions must pass:
18
18
  npm test # self-regression
19
19
  npm run test:mechanism # hook mechanism checks
20
20
  npm run test:consistency # manifest, version, link checks
21
+ npm run test:release # release catalog + version automation contract
21
22
  npm run test:collision # description collision detection
22
23
  ```
23
24
 
@@ -31,12 +32,24 @@ Each skill lives in its own top-level directory with a `SKILL.md`. See [AGENTS.m
31
32
  - Description must be unique (no collision with other skills)
32
33
  - Skill version must not exceed package.json version
33
34
 
35
+ ## Conventional Commits and Releases
36
+
37
+ Harness uses Conventional Commit history on `main` as the release input. Normal pull requests do **not** manually bump package or plugin versions.
38
+
39
+ - `BREAKING CHANGE:` or a breaking `!` => major release
40
+ - `feat:` => minor release
41
+ - `fix:`, `perf:`, `refactor:`, `build:`, `revert:` => patch release
42
+ - `docs:`, `test:`, `ci:`, `style:`, `chore:` => no release by themselves
43
+
44
+ If the repository uses squash merging, make the PR title a valid Conventional Commit because it becomes the commit semantic-release analyzes. See [RELEASING.md](RELEASING.md) for the complete automated release flow.
45
+
34
46
  ## Pull Requests
35
47
 
36
- 1. Fork and create a feature branch
37
- 2. Make changes and ensure all gates pass
38
- 3. Update CHANGELOG.md under the `[Unreleased]` section
39
- 4. Open a PR with a clear description of the change
48
+ 1. Fork and create a feature branch.
49
+ 2. Make changes and ensure all gates pass.
50
+ 3. Update `CHANGELOG.md` under `[Unreleased]` for user-visible changes.
51
+ 4. Do not manually bump release versions; release automation owns them.
52
+ 5. Open a PR with a Conventional Commit title that accurately represents its release impact.
40
53
 
41
54
  ## Reporting Issues
42
55
 
package/PRIVACY.md ADDED
@@ -0,0 +1,25 @@
1
+ # Privacy Notice
2
+
3
+ Harness Everything is distributed as an open-source, skill-only plugin for coding agents.
4
+
5
+ ## Data handled by the plugin
6
+
7
+ Harness Everything does not operate a hosted backend, require an account with the project, or include a bundled third-party app/MCP connection. The packaged skills and hooks run in the host environment and may guide the coding agent to read files, write files, run development commands, and produce verification evidence in the workspace.
8
+
9
+ The project does not intentionally collect or transmit workspace content, prompts, source code, credentials, or usage telemetry to the Harness Everything maintainers.
10
+
11
+ ## Host and third-party services
12
+
13
+ ChatGPT, Codex, GitHub, package registries, command-line tools, and any other services used by the host or explicitly invoked during a workflow have their own privacy practices. Installing Harness Everything does not change those services' permissions or privacy policies.
14
+
15
+ Users should review commands, tool permissions, connected apps, and repository content before allowing an agent to perform actions that may transmit data outside the local environment.
16
+
17
+ ## Local state
18
+
19
+ Some Harness workflows may write local runtime state or project artifacts needed for routing, verification, or recovery. These files stay in locations controlled by the user and the host environment unless another tool or service is explicitly used to share them.
20
+
21
+ ## Changes
22
+
23
+ If a future release adds a hosted service, telemetry, external app, or MCP integration that changes data handling, this notice must be updated before that capability is published.
24
+
25
+ For questions or reports, use the repository issue tracker: https://github.com/dyphn1/Harness-everything/issues