@hunter-harness/workflow-harness 0.4.8 → 0.4.10

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 (453) hide show
  1. package/harness/bundles/general/claude-code/.harness-build.json +1 -1
  2. package/harness/bundles/general/claude-code/CONTEXT.md +1 -1
  3. package/harness/bundles/general/claude-code/README.md +36 -38
  4. package/harness/bundles/general/claude-code/contracts/workflow-policy.json +0 -50
  5. package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
  6. package/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +1 -1
  7. package/harness/bundles/general/claude-code/harness-codebase-map/templates/TESTING.md +1 -1
  8. package/harness/bundles/general/claude-code/harness-execute/SKILL.md +17 -17
  9. package/harness/bundles/general/{codex/harness-run/checklist.md → claude-code/harness-execute/coding-checklist.md} +9 -9
  10. package/harness/bundles/general/{codex/harness-run/reference.md → claude-code/harness-execute/coding-reference.md} +36 -36
  11. package/harness/bundles/general/{codex/harness-run → claude-code/harness-execute}/protocols.md +4 -4
  12. package/harness/bundles/general/{codebuddy/harness-test/checklist.md → claude-code/harness-execute/testing-checklist.md} +9 -10
  13. package/harness/bundles/general/claude-code/harness-execute/testing-pitfalls-java.md +21 -0
  14. package/harness/bundles/general/{codex/harness-test/pitfalls.md → claude-code/harness-execute/testing-pitfalls.md} +7 -7
  15. package/harness/bundles/general/claude-code/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  16. package/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +7 -1
  17. package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
  18. package/harness/bundles/general/claude-code/harness-plan/SKILL.md +3 -3
  19. package/harness/bundles/general/claude-code/harness-plan/checklist.md +2 -1
  20. package/harness/bundles/general/claude-code/harness-plan/reference.md +8 -0
  21. package/harness/bundles/general/claude-code/harness-pull/SKILL.md +1 -1
  22. package/harness/bundles/general/claude-code/harness-push/SKILL.md +1 -1
  23. package/harness/bundles/general/claude-code/harness-review/SKILL.md +3 -3
  24. package/harness/bundles/general/claude-code/harness-review/checklist.md +1 -1
  25. package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
  26. package/harness/bundles/general/claude-code/harness-submit/checklist.md +1 -1
  27. package/harness/bundles/general/claude-code/harness-submit/reference.md +1 -1
  28. package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
  29. package/harness/bundles/general/claude-code/protocols/evidence-based-reporting-protocol.md +1 -1
  30. package/harness/bundles/general/claude-code/protocols/ledger-protocol.md +8 -8
  31. package/harness/bundles/general/claude-code/protocols/sensitive-info-protocol.md +2 -2
  32. package/harness/bundles/general/claude-code/scripts/harness_context.py +71 -8
  33. package/harness/bundles/general/claude-code/scripts/harness_deploy.py +2 -2
  34. package/harness/bundles/general/claude-code/scripts/harness_events.py +17 -11
  35. package/harness/bundles/general/claude-code/scripts/harness_gate.py +95 -10
  36. package/harness/bundles/general/claude-code/scripts/harness_ledger.py +84 -4
  37. package/harness/bundles/general/claude-code/scripts/harness_profile.py +3 -3
  38. package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
  39. package/harness/bundles/general/codebuddy/CONTEXT.md +1 -1
  40. package/harness/bundles/general/codebuddy/README.md +36 -38
  41. package/harness/bundles/general/codebuddy/contracts/workflow-policy.json +0 -50
  42. package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
  43. package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
  44. package/harness/bundles/general/codebuddy/harness-codebase-map/templates/TESTING.md +1 -1
  45. package/harness/bundles/general/codebuddy/harness-execute/SKILL.md +17 -17
  46. package/harness/bundles/general/{claude-code/harness-run/checklist.md → codebuddy/harness-execute/coding-checklist.md} +9 -9
  47. package/harness/bundles/general/codebuddy/{harness-run/reference.md → harness-execute/coding-reference.md} +36 -36
  48. package/harness/bundles/general/codebuddy/{harness-run → harness-execute}/protocols.md +4 -4
  49. package/harness/bundles/general/{codex/harness-test/checklist.md → codebuddy/harness-execute/testing-checklist.md} +9 -10
  50. package/harness/bundles/general/codebuddy/harness-execute/testing-pitfalls-java.md +21 -0
  51. package/harness/bundles/general/{claude-code/harness-test/pitfalls.md → codebuddy/harness-execute/testing-pitfalls.md} +7 -7
  52. package/harness/bundles/general/codebuddy/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  53. package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +7 -1
  54. package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  55. package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +3 -3
  56. package/harness/bundles/general/codebuddy/harness-plan/checklist.md +2 -1
  57. package/harness/bundles/general/codebuddy/harness-plan/reference.md +8 -0
  58. package/harness/bundles/general/codebuddy/harness-pull/SKILL.md +1 -1
  59. package/harness/bundles/general/codebuddy/harness-push/SKILL.md +1 -1
  60. package/harness/bundles/general/codebuddy/harness-review/SKILL.md +3 -3
  61. package/harness/bundles/general/codebuddy/harness-review/checklist.md +1 -1
  62. package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
  63. package/harness/bundles/general/codebuddy/harness-submit/checklist.md +1 -1
  64. package/harness/bundles/general/codebuddy/harness-submit/reference.md +1 -1
  65. package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
  66. package/harness/bundles/general/codebuddy/protocols/evidence-based-reporting-protocol.md +1 -1
  67. package/harness/bundles/general/codebuddy/protocols/ledger-protocol.md +8 -8
  68. package/harness/bundles/general/codebuddy/protocols/sensitive-info-protocol.md +2 -2
  69. package/harness/bundles/general/codebuddy/scripts/harness_context.py +71 -8
  70. package/harness/bundles/general/codebuddy/scripts/harness_deploy.py +2 -2
  71. package/harness/bundles/general/codebuddy/scripts/harness_events.py +17 -11
  72. package/harness/bundles/general/codebuddy/scripts/harness_gate.py +95 -10
  73. package/harness/bundles/general/codebuddy/scripts/harness_ledger.py +84 -4
  74. package/harness/bundles/general/codebuddy/scripts/harness_profile.py +3 -3
  75. package/harness/bundles/general/codex/.harness-build.json +1 -1
  76. package/harness/bundles/general/codex/CONTEXT.md +1 -1
  77. package/harness/bundles/general/codex/README.md +36 -38
  78. package/harness/bundles/general/codex/contracts/workflow-policy.json +0 -50
  79. package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
  80. package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
  81. package/harness/bundles/general/codex/harness-codebase-map/templates/TESTING.md +1 -1
  82. package/harness/bundles/general/codex/harness-execute/SKILL.md +17 -17
  83. package/harness/bundles/general/{cursor/harness-run/checklist.md → codex/harness-execute/coding-checklist.md} +9 -9
  84. package/harness/bundles/general/{cursor/harness-run/reference.md → codex/harness-execute/coding-reference.md} +36 -36
  85. package/harness/bundles/general/{claude-code/harness-run → codex/harness-execute}/protocols.md +4 -4
  86. package/harness/bundles/general/{cursor/harness-test/checklist.md → codex/harness-execute/testing-checklist.md} +9 -10
  87. package/harness/bundles/general/codex/harness-execute/testing-pitfalls-java.md +21 -0
  88. package/harness/bundles/general/{codebuddy/harness-test/pitfalls.md → codex/harness-execute/testing-pitfalls.md} +7 -7
  89. package/harness/bundles/general/codex/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  90. package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +7 -1
  91. package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
  92. package/harness/bundles/general/codex/harness-plan/SKILL.md +3 -3
  93. package/harness/bundles/general/codex/harness-plan/checklist.md +2 -1
  94. package/harness/bundles/general/codex/harness-plan/reference.md +8 -0
  95. package/harness/bundles/general/codex/harness-pull/SKILL.md +1 -1
  96. package/harness/bundles/general/codex/harness-push/SKILL.md +1 -1
  97. package/harness/bundles/general/codex/harness-review/SKILL.md +3 -3
  98. package/harness/bundles/general/codex/harness-review/checklist.md +1 -1
  99. package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
  100. package/harness/bundles/general/codex/harness-submit/checklist.md +1 -1
  101. package/harness/bundles/general/codex/harness-submit/reference.md +1 -1
  102. package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
  103. package/harness/bundles/general/codex/protocols/evidence-based-reporting-protocol.md +1 -1
  104. package/harness/bundles/general/codex/protocols/ledger-protocol.md +8 -8
  105. package/harness/bundles/general/codex/protocols/sensitive-info-protocol.md +2 -2
  106. package/harness/bundles/general/codex/scripts/harness_context.py +71 -8
  107. package/harness/bundles/general/codex/scripts/harness_deploy.py +2 -2
  108. package/harness/bundles/general/codex/scripts/harness_events.py +17 -11
  109. package/harness/bundles/general/codex/scripts/harness_gate.py +95 -10
  110. package/harness/bundles/general/codex/scripts/harness_ledger.py +84 -4
  111. package/harness/bundles/general/codex/scripts/harness_profile.py +3 -3
  112. package/harness/bundles/general/cursor/.harness-build.json +1 -1
  113. package/harness/bundles/general/cursor/CONTEXT.md +1 -1
  114. package/harness/bundles/general/cursor/README.md +36 -38
  115. package/harness/bundles/general/cursor/contracts/workflow-policy.json +0 -50
  116. package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
  117. package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
  118. package/harness/bundles/general/cursor/harness-codebase-map/templates/TESTING.md +1 -1
  119. package/harness/bundles/general/cursor/harness-execute/SKILL.md +17 -17
  120. package/harness/bundles/general/{codebuddy/harness-run/checklist.md → cursor/harness-execute/coding-checklist.md} +9 -9
  121. package/harness/bundles/general/{claude-code/harness-run/reference.md → cursor/harness-execute/coding-reference.md} +36 -36
  122. package/harness/bundles/general/cursor/{harness-run → harness-execute}/protocols.md +4 -4
  123. package/harness/bundles/general/{claude-code/harness-test/checklist.md → cursor/harness-execute/testing-checklist.md} +9 -10
  124. package/harness/bundles/general/cursor/harness-execute/testing-pitfalls-java.md +21 -0
  125. package/harness/bundles/general/cursor/{harness-test/pitfalls.md → harness-execute/testing-pitfalls.md} +7 -7
  126. package/harness/bundles/general/cursor/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  127. package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +7 -1
  128. package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
  129. package/harness/bundles/general/cursor/harness-plan/SKILL.md +3 -3
  130. package/harness/bundles/general/cursor/harness-plan/checklist.md +2 -1
  131. package/harness/bundles/general/cursor/harness-plan/reference.md +8 -0
  132. package/harness/bundles/general/cursor/harness-pull/SKILL.md +1 -1
  133. package/harness/bundles/general/cursor/harness-push/SKILL.md +1 -1
  134. package/harness/bundles/general/cursor/harness-review/SKILL.md +3 -3
  135. package/harness/bundles/general/cursor/harness-review/checklist.md +1 -1
  136. package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
  137. package/harness/bundles/general/cursor/harness-submit/checklist.md +1 -1
  138. package/harness/bundles/general/cursor/harness-submit/reference.md +1 -1
  139. package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
  140. package/harness/bundles/general/cursor/protocols/evidence-based-reporting-protocol.md +1 -1
  141. package/harness/bundles/general/cursor/protocols/ledger-protocol.md +8 -8
  142. package/harness/bundles/general/cursor/protocols/sensitive-info-protocol.md +2 -2
  143. package/harness/bundles/general/cursor/scripts/harness_context.py +71 -8
  144. package/harness/bundles/general/cursor/scripts/harness_deploy.py +2 -2
  145. package/harness/bundles/general/cursor/scripts/harness_events.py +17 -11
  146. package/harness/bundles/general/cursor/scripts/harness_gate.py +95 -10
  147. package/harness/bundles/general/cursor/scripts/harness_ledger.py +84 -4
  148. package/harness/bundles/general/cursor/scripts/harness_profile.py +3 -3
  149. package/harness/bundles/general/pi/.harness-build.json +1 -1
  150. package/harness/bundles/general/pi/CONTEXT.md +1 -1
  151. package/harness/bundles/general/pi/README.md +36 -38
  152. package/harness/bundles/general/pi/contracts/workflow-policy.json +0 -50
  153. package/harness/bundles/general/pi/harness-archive/SKILL.md +1 -1
  154. package/harness/bundles/general/pi/harness-codebase-map/SKILL.md +1 -1
  155. package/harness/bundles/general/pi/harness-codebase-map/templates/TESTING.md +1 -1
  156. package/harness/bundles/general/pi/harness-execute/SKILL.md +17 -17
  157. package/harness/bundles/general/pi/harness-execute/coding-checklist.md +279 -0
  158. package/harness/bundles/general/pi/harness-execute/coding-reference.md +886 -0
  159. package/harness/bundles/general/pi/harness-execute/protocols.md +141 -0
  160. package/harness/bundles/general/pi/harness-execute/testing-checklist.md +358 -0
  161. package/harness/bundles/general/pi/harness-execute/testing-pitfalls-java.md +21 -0
  162. package/harness/bundles/general/pi/harness-execute/testing-pitfalls.md +307 -0
  163. package/harness/bundles/general/pi/harness-execute/testing-reference.md +880 -0
  164. package/harness/bundles/general/pi/harness-knowledge-ingest/SKILL.md +7 -1
  165. package/harness/bundles/general/pi/harness-knowledge-query/SKILL.md +1 -1
  166. package/harness/bundles/general/pi/harness-plan/SKILL.md +3 -3
  167. package/harness/bundles/general/pi/harness-plan/checklist.md +2 -1
  168. package/harness/bundles/general/pi/harness-plan/reference.md +8 -0
  169. package/harness/bundles/general/pi/harness-pull/SKILL.md +1 -1
  170. package/harness/bundles/general/pi/harness-push/SKILL.md +1 -1
  171. package/harness/bundles/general/pi/harness-review/SKILL.md +3 -3
  172. package/harness/bundles/general/pi/harness-review/checklist.md +1 -1
  173. package/harness/bundles/general/pi/harness-submit/SKILL.md +1 -1
  174. package/harness/bundles/general/pi/harness-submit/checklist.md +1 -1
  175. package/harness/bundles/general/pi/harness-submit/reference.md +1 -1
  176. package/harness/bundles/general/pi/harness-sync/SKILL.md +1 -1
  177. package/harness/bundles/general/pi/protocols/evidence-based-reporting-protocol.md +1 -1
  178. package/harness/bundles/general/pi/protocols/ledger-protocol.md +8 -8
  179. package/harness/bundles/general/pi/protocols/sensitive-info-protocol.md +2 -2
  180. package/harness/bundles/general/pi/scripts/harness_context.py +71 -8
  181. package/harness/bundles/general/pi/scripts/harness_deploy.py +2 -2
  182. package/harness/bundles/general/pi/scripts/harness_events.py +17 -11
  183. package/harness/bundles/general/pi/scripts/harness_gate.py +95 -10
  184. package/harness/bundles/general/pi/scripts/harness_ledger.py +84 -4
  185. package/harness/bundles/general/pi/scripts/harness_profile.py +3 -3
  186. package/harness/bundles/java/claude-code/.harness-build.json +1 -1
  187. package/harness/bundles/java/claude-code/CONTEXT.md +1 -1
  188. package/harness/bundles/java/claude-code/README.md +36 -38
  189. package/harness/bundles/java/claude-code/contracts/workflow-policy.json +0 -50
  190. package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
  191. package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
  192. package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
  193. package/harness/bundles/java/claude-code/harness-codebase-map/templates/TESTING.md +1 -1
  194. package/harness/bundles/java/claude-code/harness-execute/SKILL.md +49 -17
  195. package/harness/bundles/java/claude-code/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
  196. package/harness/bundles/java/claude-code/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
  197. package/harness/bundles/java/claude-code/harness-execute/protocols.md +141 -0
  198. package/harness/bundles/java/claude-code/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
  199. package/harness/bundles/java/claude-code/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -1
  200. package/harness/bundles/java/claude-code/harness-execute/testing-pitfalls.md +307 -0
  201. package/harness/bundles/java/claude-code/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  202. package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +7 -1
  203. package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
  204. package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
  205. package/harness/bundles/java/claude-code/harness-package/checklist.md +7 -7
  206. package/harness/bundles/java/claude-code/harness-plan/SKILL.md +3 -3
  207. package/harness/bundles/java/claude-code/harness-plan/checklist.md +2 -1
  208. package/harness/bundles/java/claude-code/harness-plan/reference.md +8 -0
  209. package/harness/bundles/java/claude-code/harness-pull/SKILL.md +1 -1
  210. package/harness/bundles/java/claude-code/harness-push/SKILL.md +1 -1
  211. package/harness/bundles/java/claude-code/harness-review/SKILL.md +3 -3
  212. package/harness/bundles/java/claude-code/harness-review/checklist.md +1 -1
  213. package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
  214. package/harness/bundles/java/claude-code/harness-submit/checklist.md +1 -1
  215. package/harness/bundles/java/claude-code/harness-submit/reference.md +1 -1
  216. package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
  217. package/harness/bundles/java/claude-code/protocols/evidence-based-reporting-protocol.md +1 -1
  218. package/harness/bundles/java/claude-code/protocols/ledger-protocol.md +8 -8
  219. package/harness/bundles/java/claude-code/protocols/sensitive-info-protocol.md +2 -2
  220. package/harness/bundles/java/claude-code/scripts/harness_context.py +71 -8
  221. package/harness/bundles/java/claude-code/scripts/harness_deploy.py +2 -2
  222. package/harness/bundles/java/claude-code/scripts/harness_events.py +17 -11
  223. package/harness/bundles/java/claude-code/scripts/harness_gate.py +95 -10
  224. package/harness/bundles/java/claude-code/scripts/harness_ledger.py +84 -4
  225. package/harness/bundles/java/claude-code/scripts/harness_profile.py +3 -3
  226. package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
  227. package/harness/bundles/java/codebuddy/CONTEXT.md +1 -1
  228. package/harness/bundles/java/codebuddy/README.md +36 -38
  229. package/harness/bundles/java/codebuddy/contracts/workflow-policy.json +0 -50
  230. package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
  231. package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
  232. package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
  233. package/harness/bundles/java/codebuddy/harness-codebase-map/templates/TESTING.md +1 -1
  234. package/harness/bundles/java/codebuddy/harness-execute/SKILL.md +49 -17
  235. package/harness/bundles/java/codebuddy/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
  236. package/harness/bundles/java/codebuddy/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
  237. package/harness/bundles/java/codebuddy/harness-execute/protocols.md +141 -0
  238. package/harness/bundles/java/codebuddy/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
  239. package/harness/bundles/java/codebuddy/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -1
  240. package/harness/bundles/java/codebuddy/harness-execute/testing-pitfalls.md +307 -0
  241. package/harness/bundles/java/codebuddy/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  242. package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +7 -1
  243. package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  244. package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
  245. package/harness/bundles/java/codebuddy/harness-package/checklist.md +7 -7
  246. package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +3 -3
  247. package/harness/bundles/java/codebuddy/harness-plan/checklist.md +2 -1
  248. package/harness/bundles/java/codebuddy/harness-plan/reference.md +8 -0
  249. package/harness/bundles/java/codebuddy/harness-pull/SKILL.md +1 -1
  250. package/harness/bundles/java/codebuddy/harness-push/SKILL.md +1 -1
  251. package/harness/bundles/java/codebuddy/harness-review/SKILL.md +3 -3
  252. package/harness/bundles/java/codebuddy/harness-review/checklist.md +1 -1
  253. package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
  254. package/harness/bundles/java/codebuddy/harness-submit/checklist.md +1 -1
  255. package/harness/bundles/java/codebuddy/harness-submit/reference.md +1 -1
  256. package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
  257. package/harness/bundles/java/codebuddy/protocols/evidence-based-reporting-protocol.md +1 -1
  258. package/harness/bundles/java/codebuddy/protocols/ledger-protocol.md +8 -8
  259. package/harness/bundles/java/codebuddy/protocols/sensitive-info-protocol.md +2 -2
  260. package/harness/bundles/java/codebuddy/scripts/harness_context.py +71 -8
  261. package/harness/bundles/java/codebuddy/scripts/harness_deploy.py +2 -2
  262. package/harness/bundles/java/codebuddy/scripts/harness_events.py +17 -11
  263. package/harness/bundles/java/codebuddy/scripts/harness_gate.py +95 -10
  264. package/harness/bundles/java/codebuddy/scripts/harness_ledger.py +84 -4
  265. package/harness/bundles/java/codebuddy/scripts/harness_profile.py +3 -3
  266. package/harness/bundles/java/codex/.harness-build.json +1 -1
  267. package/harness/bundles/java/codex/CONTEXT.md +1 -1
  268. package/harness/bundles/java/codex/README.md +36 -38
  269. package/harness/bundles/java/codex/contracts/workflow-policy.json +0 -50
  270. package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
  271. package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
  272. package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
  273. package/harness/bundles/java/codex/harness-codebase-map/templates/TESTING.md +1 -1
  274. package/harness/bundles/java/codex/harness-execute/SKILL.md +49 -17
  275. package/harness/bundles/java/codex/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
  276. package/harness/bundles/java/codex/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
  277. package/harness/bundles/java/codex/harness-execute/protocols.md +141 -0
  278. package/harness/bundles/java/codex/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
  279. package/harness/bundles/java/codex/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -1
  280. package/harness/bundles/java/codex/harness-execute/testing-pitfalls.md +307 -0
  281. package/harness/bundles/java/codex/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  282. package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +7 -1
  283. package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
  284. package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
  285. package/harness/bundles/java/codex/harness-package/checklist.md +7 -7
  286. package/harness/bundles/java/codex/harness-plan/SKILL.md +3 -3
  287. package/harness/bundles/java/codex/harness-plan/checklist.md +2 -1
  288. package/harness/bundles/java/codex/harness-plan/reference.md +8 -0
  289. package/harness/bundles/java/codex/harness-pull/SKILL.md +1 -1
  290. package/harness/bundles/java/codex/harness-push/SKILL.md +1 -1
  291. package/harness/bundles/java/codex/harness-review/SKILL.md +3 -3
  292. package/harness/bundles/java/codex/harness-review/checklist.md +1 -1
  293. package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
  294. package/harness/bundles/java/codex/harness-submit/checklist.md +1 -1
  295. package/harness/bundles/java/codex/harness-submit/reference.md +1 -1
  296. package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
  297. package/harness/bundles/java/codex/protocols/evidence-based-reporting-protocol.md +1 -1
  298. package/harness/bundles/java/codex/protocols/ledger-protocol.md +8 -8
  299. package/harness/bundles/java/codex/protocols/sensitive-info-protocol.md +2 -2
  300. package/harness/bundles/java/codex/scripts/harness_context.py +71 -8
  301. package/harness/bundles/java/codex/scripts/harness_deploy.py +2 -2
  302. package/harness/bundles/java/codex/scripts/harness_events.py +17 -11
  303. package/harness/bundles/java/codex/scripts/harness_gate.py +95 -10
  304. package/harness/bundles/java/codex/scripts/harness_ledger.py +84 -4
  305. package/harness/bundles/java/codex/scripts/harness_profile.py +3 -3
  306. package/harness/bundles/java/cursor/.harness-build.json +1 -1
  307. package/harness/bundles/java/cursor/CONTEXT.md +1 -1
  308. package/harness/bundles/java/cursor/README.md +36 -38
  309. package/harness/bundles/java/cursor/contracts/workflow-policy.json +0 -50
  310. package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
  311. package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
  312. package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
  313. package/harness/bundles/java/cursor/harness-codebase-map/templates/TESTING.md +1 -1
  314. package/harness/bundles/java/cursor/harness-execute/SKILL.md +49 -17
  315. package/harness/bundles/java/cursor/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
  316. package/harness/bundles/java/cursor/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
  317. package/harness/bundles/java/cursor/harness-execute/protocols.md +141 -0
  318. package/harness/bundles/java/cursor/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
  319. package/harness/bundles/java/cursor/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -1
  320. package/harness/bundles/java/cursor/harness-execute/testing-pitfalls.md +307 -0
  321. package/harness/bundles/java/cursor/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  322. package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +7 -1
  323. package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
  324. package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
  325. package/harness/bundles/java/cursor/harness-package/checklist.md +7 -7
  326. package/harness/bundles/java/cursor/harness-plan/SKILL.md +3 -3
  327. package/harness/bundles/java/cursor/harness-plan/checklist.md +2 -1
  328. package/harness/bundles/java/cursor/harness-plan/reference.md +8 -0
  329. package/harness/bundles/java/cursor/harness-pull/SKILL.md +1 -1
  330. package/harness/bundles/java/cursor/harness-push/SKILL.md +1 -1
  331. package/harness/bundles/java/cursor/harness-review/SKILL.md +3 -3
  332. package/harness/bundles/java/cursor/harness-review/checklist.md +1 -1
  333. package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
  334. package/harness/bundles/java/cursor/harness-submit/checklist.md +1 -1
  335. package/harness/bundles/java/cursor/harness-submit/reference.md +1 -1
  336. package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
  337. package/harness/bundles/java/cursor/protocols/evidence-based-reporting-protocol.md +1 -1
  338. package/harness/bundles/java/cursor/protocols/ledger-protocol.md +8 -8
  339. package/harness/bundles/java/cursor/protocols/sensitive-info-protocol.md +2 -2
  340. package/harness/bundles/java/cursor/scripts/harness_context.py +71 -8
  341. package/harness/bundles/java/cursor/scripts/harness_deploy.py +2 -2
  342. package/harness/bundles/java/cursor/scripts/harness_events.py +17 -11
  343. package/harness/bundles/java/cursor/scripts/harness_gate.py +95 -10
  344. package/harness/bundles/java/cursor/scripts/harness_ledger.py +84 -4
  345. package/harness/bundles/java/cursor/scripts/harness_profile.py +3 -3
  346. package/harness/bundles/java/pi/.harness-build.json +1 -1
  347. package/harness/bundles/java/pi/CONTEXT.md +1 -1
  348. package/harness/bundles/java/pi/README.md +36 -38
  349. package/harness/bundles/java/pi/contracts/workflow-policy.json +0 -50
  350. package/harness/bundles/java/pi/harness-apidoc/SKILL.md +1 -1
  351. package/harness/bundles/java/pi/harness-archive/SKILL.md +1 -1
  352. package/harness/bundles/java/pi/harness-codebase-map/SKILL.md +1 -1
  353. package/harness/bundles/java/pi/harness-codebase-map/templates/TESTING.md +1 -1
  354. package/harness/bundles/java/pi/harness-execute/SKILL.md +49 -17
  355. package/harness/bundles/java/pi/harness-execute/coding-checklist.md +252 -0
  356. package/harness/bundles/java/pi/harness-execute/coding-reference.md +820 -0
  357. package/harness/bundles/java/pi/harness-execute/protocols.md +141 -0
  358. package/harness/bundles/java/pi/harness-execute/testing-checklist.md +320 -0
  359. package/harness/bundles/java/pi/harness-execute/testing-pitfalls-java.md +17 -0
  360. package/harness/bundles/java/pi/harness-execute/testing-pitfalls.md +307 -0
  361. package/harness/bundles/java/pi/harness-execute/testing-reference.md +792 -0
  362. package/harness/bundles/java/pi/harness-knowledge-ingest/SKILL.md +7 -1
  363. package/harness/bundles/java/pi/harness-knowledge-query/SKILL.md +1 -1
  364. package/harness/bundles/java/pi/harness-package/SKILL.md +1 -1
  365. package/harness/bundles/java/pi/harness-package/checklist.md +7 -7
  366. package/harness/bundles/java/pi/harness-plan/SKILL.md +3 -3
  367. package/harness/bundles/java/pi/harness-plan/checklist.md +2 -1
  368. package/harness/bundles/java/pi/harness-plan/reference.md +8 -0
  369. package/harness/bundles/java/pi/harness-pull/SKILL.md +1 -1
  370. package/harness/bundles/java/pi/harness-push/SKILL.md +1 -1
  371. package/harness/bundles/java/pi/harness-review/SKILL.md +3 -3
  372. package/harness/bundles/java/pi/harness-review/checklist.md +1 -1
  373. package/harness/bundles/java/pi/harness-submit/SKILL.md +1 -1
  374. package/harness/bundles/java/pi/harness-submit/checklist.md +1 -1
  375. package/harness/bundles/java/pi/harness-submit/reference.md +1 -1
  376. package/harness/bundles/java/pi/harness-sync/SKILL.md +1 -1
  377. package/harness/bundles/java/pi/protocols/evidence-based-reporting-protocol.md +1 -1
  378. package/harness/bundles/java/pi/protocols/ledger-protocol.md +8 -8
  379. package/harness/bundles/java/pi/protocols/sensitive-info-protocol.md +2 -2
  380. package/harness/bundles/java/pi/scripts/harness_context.py +71 -8
  381. package/harness/bundles/java/pi/scripts/harness_deploy.py +2 -2
  382. package/harness/bundles/java/pi/scripts/harness_events.py +17 -11
  383. package/harness/bundles/java/pi/scripts/harness_gate.py +95 -10
  384. package/harness/bundles/java/pi/scripts/harness_ledger.py +84 -4
  385. package/harness/bundles/java/pi/scripts/harness_profile.py +3 -3
  386. package/harness/manifests/general/claude-code.json +62 -70
  387. package/harness/manifests/general/codebuddy.json +62 -70
  388. package/harness/manifests/general/codex.json +62 -70
  389. package/harness/manifests/general/cursor.json +62 -70
  390. package/harness/manifests/general/pi.json +62 -70
  391. package/harness/manifests/java/claude-code.json +65 -73
  392. package/harness/manifests/java/codebuddy.json +65 -73
  393. package/harness/manifests/java/codex.json +65 -73
  394. package/harness/manifests/java/cursor.json +65 -73
  395. package/harness/manifests/java/pi.json +65 -73
  396. package/hunter-workflow-family.json +2 -2
  397. package/package.json +1 -1
  398. package/harness/bundles/general/claude-code/harness-run/SKILL.md +0 -207
  399. package/harness/bundles/general/claude-code/harness-test/SKILL.md +0 -270
  400. package/harness/bundles/general/claude-code/harness-test/pitfalls-java.md +0 -14
  401. package/harness/bundles/general/codebuddy/harness-run/SKILL.md +0 -188
  402. package/harness/bundles/general/codebuddy/harness-test/SKILL.md +0 -250
  403. package/harness/bundles/general/codebuddy/harness-test/pitfalls-java.md +0 -14
  404. package/harness/bundles/general/codex/harness-run/SKILL.md +0 -188
  405. package/harness/bundles/general/codex/harness-test/SKILL.md +0 -250
  406. package/harness/bundles/general/codex/harness-test/pitfalls-java.md +0 -14
  407. package/harness/bundles/general/cursor/harness-run/SKILL.md +0 -188
  408. package/harness/bundles/general/cursor/harness-test/SKILL.md +0 -250
  409. package/harness/bundles/general/cursor/harness-test/pitfalls-java.md +0 -14
  410. package/harness/bundles/general/pi/harness-run/SKILL.md +0 -188
  411. package/harness/bundles/general/pi/harness-run/checklist.md +0 -279
  412. package/harness/bundles/general/pi/harness-run/protocols.md +0 -141
  413. package/harness/bundles/general/pi/harness-run/reference.md +0 -886
  414. package/harness/bundles/general/pi/harness-test/SKILL.md +0 -250
  415. package/harness/bundles/general/pi/harness-test/checklist.md +0 -359
  416. package/harness/bundles/general/pi/harness-test/pitfalls-java.md +0 -14
  417. package/harness/bundles/general/pi/harness-test/pitfalls.md +0 -307
  418. package/harness/bundles/general/pi/harness-test/reference.md +0 -880
  419. package/harness/bundles/java/claude-code/harness-run/SKILL.md +0 -225
  420. package/harness/bundles/java/claude-code/harness-run/protocols.md +0 -141
  421. package/harness/bundles/java/claude-code/harness-test/SKILL.md +0 -284
  422. package/harness/bundles/java/claude-code/harness-test/pitfalls.md +0 -307
  423. package/harness/bundles/java/codebuddy/harness-run/SKILL.md +0 -206
  424. package/harness/bundles/java/codebuddy/harness-run/protocols.md +0 -141
  425. package/harness/bundles/java/codebuddy/harness-test/SKILL.md +0 -264
  426. package/harness/bundles/java/codebuddy/harness-test/pitfalls.md +0 -307
  427. package/harness/bundles/java/codex/harness-run/SKILL.md +0 -206
  428. package/harness/bundles/java/codex/harness-run/protocols.md +0 -141
  429. package/harness/bundles/java/codex/harness-test/SKILL.md +0 -264
  430. package/harness/bundles/java/codex/harness-test/pitfalls.md +0 -307
  431. package/harness/bundles/java/cursor/harness-run/SKILL.md +0 -206
  432. package/harness/bundles/java/cursor/harness-run/protocols.md +0 -141
  433. package/harness/bundles/java/cursor/harness-test/SKILL.md +0 -264
  434. package/harness/bundles/java/cursor/harness-test/pitfalls.md +0 -307
  435. package/harness/bundles/java/pi/harness-run/SKILL.md +0 -206
  436. package/harness/bundles/java/pi/harness-run/checklist.md +0 -252
  437. package/harness/bundles/java/pi/harness-run/protocols.md +0 -141
  438. package/harness/bundles/java/pi/harness-run/reference.md +0 -820
  439. package/harness/bundles/java/pi/harness-test/SKILL.md +0 -264
  440. package/harness/bundles/java/pi/harness-test/checklist.md +0 -320
  441. package/harness/bundles/java/pi/harness-test/pitfalls-java.md +0 -16
  442. package/harness/bundles/java/pi/harness-test/pitfalls.md +0 -307
  443. package/harness/bundles/java/pi/harness-test/reference.md +0 -792
  444. /package/harness/bundles/general/claude-code/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  445. /package/harness/bundles/general/codebuddy/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  446. /package/harness/bundles/general/codex/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  447. /package/harness/bundles/general/cursor/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  448. /package/harness/bundles/general/pi/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  449. /package/harness/bundles/java/claude-code/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  450. /package/harness/bundles/java/codebuddy/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  451. /package/harness/bundles/java/codex/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  452. /package/harness/bundles/java/cursor/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  453. /package/harness/bundles/java/pi/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
@@ -25,11 +25,11 @@
25
25
  "files": [
26
26
  {
27
27
  "path": ".harness-build.json",
28
- "sha256": "c5784ecdeb647d23faed247f7e9e507d06fe093ef242ee3b45d534e19bf2118a"
28
+ "sha256": "bd4ee4ff767b9ceaad93e3cab4168e201beffa309b9a24b97a363d058472c279"
29
29
  },
30
30
  {
31
31
  "path": "CONTEXT.md",
32
- "sha256": "4838854cc45e8bd47552fb34e41cadca3121eeaa4597196568f35e25534d5a33"
32
+ "sha256": "e0df950dbf8fa834cf6856815491caa4b0d2ec25d0d08fa9353edf385d576d34"
33
33
  },
34
34
  {
35
35
  "path": "contracts/build-profile-v3.schema.json",
@@ -69,7 +69,7 @@
69
69
  },
70
70
  {
71
71
  "path": "contracts/workflow-policy.json",
72
- "sha256": "69fec9ed7eb01b5d9f5b4fcc44e0c983f67acb15a25c418c9934d6496f3d75c8"
72
+ "sha256": "1ef3485226c512d6195cb6762065e0acdb27a2b8c101ed5b793474e033a2ac49"
73
73
  },
74
74
  {
75
75
  "path": "harness-apidoc/checklist.md",
@@ -81,7 +81,7 @@
81
81
  },
82
82
  {
83
83
  "path": "harness-apidoc/SKILL.md",
84
- "sha256": "bd185881d3d5cee43cb9081a619a00df1442ac41890387a9eae9e76162925628"
84
+ "sha256": "a395548e618bc24ea0462d779e50d5db17367f579ad99ed2b4ce62d93ac0953f"
85
85
  },
86
86
  {
87
87
  "path": "harness-archive/checklist.md",
@@ -97,7 +97,7 @@
97
97
  },
98
98
  {
99
99
  "path": "harness-archive/SKILL.md",
100
- "sha256": "465bddd9fc09db6e32b463d5ae174e62d7e7a16031b4948a955982278ffc9e0d"
100
+ "sha256": "3dcd85564cb1eed83c0afe936d23d3271140f802d0033332b4b5b26c0c2a1c7a"
101
101
  },
102
102
  {
103
103
  "path": "harness-archive/templates/summary-data-template.json",
@@ -113,7 +113,7 @@
113
113
  },
114
114
  {
115
115
  "path": "harness-codebase-map/SKILL.md",
116
- "sha256": "8c599c280cdad88dafbd87efc571260016e8cdbb013024f371a6fa96de308f13"
116
+ "sha256": "6996609f3df2a39ca77e08ebd174ef430a913d7b116e964947fa5d280acf6918"
117
117
  },
118
118
  {
119
119
  "path": "harness-codebase-map/templates/ARCHITECTURE.md",
@@ -149,23 +149,55 @@
149
149
  },
150
150
  {
151
151
  "path": "harness-codebase-map/templates/TESTING.md",
152
- "sha256": "3e19408d0d711a8a9432a17b6f85e025d20e19c31fa385bacb622012e300c015"
152
+ "sha256": "23ed1d9d408995821590c25b79910c54c3ccbf65af8b8b1059d928a0505f5cb4"
153
+ },
154
+ {
155
+ "path": "harness-execute/coding-checklist.md",
156
+ "sha256": "ba30f16624a2fef45d41e092e0f42a3dfc9335536f651e0c11db0528fe651a12"
157
+ },
158
+ {
159
+ "path": "harness-execute/coding-reference.md",
160
+ "sha256": "383edcbb3f17571916e2056fc3061ccd10f2f9ef32263c83c6f7d11d694fc973"
161
+ },
162
+ {
163
+ "path": "harness-execute/protocols.md",
164
+ "sha256": "24f2740253c04a17ea6bf54fcb00063eb49518cf16a4eefa9dd60a030b140a2d"
165
+ },
166
+ {
167
+ "path": "harness-execute/scripts/runtime-helpers.mjs",
168
+ "sha256": "349fcdfb48bfbe4b16fcd4c349e14cd25dd6be0414d959a633eac9a06e5773c2"
153
169
  },
154
170
  {
155
171
  "path": "harness-execute/SKILL.md",
156
- "sha256": "db971adfa597457b68be4ce5329b8936d23afab3cf68d4ec4d3f804901b21224"
172
+ "sha256": "40f8256e298f2944b0da3f00bdde46f4b04774b339d8462ed365dd90e2ea428f"
173
+ },
174
+ {
175
+ "path": "harness-execute/testing-checklist.md",
176
+ "sha256": "d9002167cc8f45d0c2acf02a899220da227a7522a57e5137a42a620dbe93069c"
177
+ },
178
+ {
179
+ "path": "harness-execute/testing-pitfalls-java.md",
180
+ "sha256": "76e3ba343aa741756b963dfdf52b111797d1559ea40fd85c270597acce747717"
181
+ },
182
+ {
183
+ "path": "harness-execute/testing-pitfalls.md",
184
+ "sha256": "fddf38f41c8af3544c0aebc5a02f830c08fdf30298621b5916aed8b8b38010b0"
185
+ },
186
+ {
187
+ "path": "harness-execute/testing-reference.md",
188
+ "sha256": "17acda617f6cfb79a72db5c6567b14b9aafd585b68e1a332a8db9f1646741872"
157
189
  },
158
190
  {
159
191
  "path": "harness-knowledge-ingest/SKILL.md",
160
- "sha256": "280de879bcd4fc3a735b761ae933ac4dbab8c9bdcf1e119d2c707539f3a64c47"
192
+ "sha256": "ff62e7468dbb4bd76e2841ccd2bbda6ee830bf973ed90a8f7c1295b41500d069"
161
193
  },
162
194
  {
163
195
  "path": "harness-knowledge-query/SKILL.md",
164
- "sha256": "0de965412706ae6ac16bc8537fc8aa3b10c71a5ebc3e9b77f792ce7724c1ef5d"
196
+ "sha256": "d8e04092f409fec9bf1d63ca35e45617008d1acb352fe6d341570cea82110263"
165
197
  },
166
198
  {
167
199
  "path": "harness-package/checklist.md",
168
- "sha256": "4a38b72d6b5146b9068d6d19cbbb5a2a51f31135dcf2398f38206e36e7821250"
200
+ "sha256": "6165b24622bb095d1ca59c586d352472c20250f9997246c0a4933681da99fee8"
169
201
  },
170
202
  {
171
203
  "path": "harness-package/reference.md",
@@ -173,11 +205,11 @@
173
205
  },
174
206
  {
175
207
  "path": "harness-package/SKILL.md",
176
- "sha256": "d891666b8ffc990e782b655805d7ef99363c174b533f523e1cf81b5f84fb24da"
208
+ "sha256": "e3d9557fb9f7c390b834527a7adc4bffde30b2378eba7842e18fb1e26a388bcb"
177
209
  },
178
210
  {
179
211
  "path": "harness-plan/checklist.md",
180
- "sha256": "019e3889482cb3583a986e34d6dd9e8f4b0f17b6dbeb07a95ee826b9d161b53e"
212
+ "sha256": "d35fb45fed952001fa2c68aa71c0eb890e368f024ac6579f01a61dfe411f7a17"
181
213
  },
182
214
  {
183
215
  "path": "harness-plan/protocols.md",
@@ -185,23 +217,23 @@
185
217
  },
186
218
  {
187
219
  "path": "harness-plan/reference.md",
188
- "sha256": "a0f92a7df9405c096f796f51e1e8020f35d9d8737ec4de961632191999b631cf"
220
+ "sha256": "cfb4a4ec17582bd841d2975c2e6458f86f1109db8b9ade569ced6b40b991e032"
189
221
  },
190
222
  {
191
223
  "path": "harness-plan/SKILL.md",
192
- "sha256": "05582502460137663655b98122c3942c69d078f091cc70e14d1191af35f6372f"
224
+ "sha256": "53f52ced87cf23480b3068330023a5f252be78a6407cea204c0598b50d1f345f"
193
225
  },
194
226
  {
195
227
  "path": "harness-pull/SKILL.md",
196
- "sha256": "3a91c54f0aec2f38d286a08ae825fd387bfa6701d06faf5f379f29d7aae308a7"
228
+ "sha256": "23fe219a580674150d6ad0de0d2b30773391d5d4bcfe3618d1ba88df74ffe146"
197
229
  },
198
230
  {
199
231
  "path": "harness-push/SKILL.md",
200
- "sha256": "02bed1c1cabfe5bdc7503c1d88712f5cd6fcf9cc2fd1afb110bd94359873108a"
232
+ "sha256": "5cc3f8f7a87edeb6f7a7792503df3a2257141897cd9cadf071838f3e0eabee0b"
201
233
  },
202
234
  {
203
235
  "path": "harness-review/checklist.md",
204
- "sha256": "5827ab101fd8d83c7f4616cb538b2dad0d5174e8f70e79d0af54871fb4d8a80f"
236
+ "sha256": "4c03059a5ae2d1ae52ca322136d77a6c3d4fc32765cc0d5b418fabf73076aa22"
205
237
  },
206
238
  {
207
239
  "path": "harness-review/protocols.md",
@@ -213,35 +245,19 @@
213
245
  },
214
246
  {
215
247
  "path": "harness-review/SKILL.md",
216
- "sha256": "d386498ac19fdd1c31153f8a0e0f693390fac46331c91adf83f34d820d90f5dc"
217
- },
218
- {
219
- "path": "harness-run/checklist.md",
220
- "sha256": "dac3671bff5b5b1ad1e041902b2c7071af27c1bdd47ec3c1c60bece7346d1342"
221
- },
222
- {
223
- "path": "harness-run/protocols.md",
224
- "sha256": "0f68e5cf0be33203d6c1399147e6a6e46c9b3f21493644778a30cd929dbf60ab"
225
- },
226
- {
227
- "path": "harness-run/reference.md",
228
- "sha256": "93c166ecfeaf6b3c948eab75238bd616fb22f5674739461bb666ed6eb0bccdc5"
229
- },
230
- {
231
- "path": "harness-run/SKILL.md",
232
- "sha256": "a2c3ec2e4e948733a1a9ba2ac3b597bb5f9b556f0959f2cdf078d64c53e51e98"
248
+ "sha256": "0c52db58fec2f73c7799cccbe7fe2cdfd18b032c21a25e5ef7bb4cfa5cb0c1d7"
233
249
  },
234
250
  {
235
251
  "path": "harness-submit/checklist.md",
236
- "sha256": "7c8ae24ee908ea50d3c77fc4048b358c0080383d5de5be5e2dee5a094d800385"
252
+ "sha256": "a32f9b72591d567318e83ecab53e4495b1b6bcae81609a4de62d9a3dcf8fee55"
237
253
  },
238
254
  {
239
255
  "path": "harness-submit/reference.md",
240
- "sha256": "03a0f92ad85b94610d724333bdc4b0b1063f2065e7ec4ab518363adeef7c7303"
256
+ "sha256": "19f8ba9a1aa8921b5cccd39f2e5f634400c87d99032c0fc943916f1dd099fd04"
241
257
  },
242
258
  {
243
259
  "path": "harness-submit/SKILL.md",
244
- "sha256": "97dcef43498a7d03e96a115ef631d44bb9ae174ee3c905be5c1fb3b96da206fc"
260
+ "sha256": "397412075ce0be275fa5ed17c0b0368e387c54cd63c0fae4bd693f0d0aae065b"
245
261
  },
246
262
  {
247
263
  "path": "harness-sync/reference.md",
@@ -249,31 +265,7 @@
249
265
  },
250
266
  {
251
267
  "path": "harness-sync/SKILL.md",
252
- "sha256": "2d5605e75530e8a33d21c15dd995d6d76e92df2027819517c34931bdbee50101"
253
- },
254
- {
255
- "path": "harness-test/checklist.md",
256
- "sha256": "20699c556b0baea99526f25ad55f3c850dad9213a619c7c0cd9c69ab1b8e3590"
257
- },
258
- {
259
- "path": "harness-test/pitfalls-java.md",
260
- "sha256": "7cd886ba86e39bfd7e274607f9a612dd16e30f3ea21524173291d3f8b49409ec"
261
- },
262
- {
263
- "path": "harness-test/pitfalls.md",
264
- "sha256": "93ba0f76c4b182e0fbabd25d883dd2970c87040b97ff8c69f835ad6f2759f21d"
265
- },
266
- {
267
- "path": "harness-test/reference.md",
268
- "sha256": "6a76595c85e7e9b9ca16f310391635c4bcd7d3da318d0d0e6edcdc038346783b"
269
- },
270
- {
271
- "path": "harness-test/scripts/runtime-helpers.mjs",
272
- "sha256": "349fcdfb48bfbe4b16fcd4c349e14cd25dd6be0414d959a633eac9a06e5773c2"
273
- },
274
- {
275
- "path": "harness-test/SKILL.md",
276
- "sha256": "bb00e4de72f6ac1de9121b99935cb4f227c5aa1a8305995785ee3cbb69bcd75c"
268
+ "sha256": "ffe73c5bbb448dba27c32ac0093c1f2ad7459e9b21c527a54ec44dbfabaa1eb9"
277
269
  },
278
270
  {
279
271
  "path": "protocols/archive-report-protocol.md",
@@ -285,7 +277,7 @@
285
277
  },
286
278
  {
287
279
  "path": "protocols/evidence-based-reporting-protocol.md",
288
- "sha256": "6560ccf52fa1e29da7a895eb88f1c7fb18c10d70b83f9e86d8fe4edf4b863ceb"
280
+ "sha256": "d423e1d834c1cb22a6f162856221a9733764cab21137090052bd15a03040acec"
289
281
  },
290
282
  {
291
283
  "path": "protocols/execution-session-protocol.md",
@@ -297,7 +289,7 @@
297
289
  },
298
290
  {
299
291
  "path": "protocols/ledger-protocol.md",
300
- "sha256": "c52d7e7d0ee1b21e761edcef2d0e853af3c381dcde3a323d3959b77d56e9818e"
292
+ "sha256": "5f14402325ce73eca35132088fa58524fc47f5c7067427aab4b3c86b75062e94"
301
293
  },
302
294
  {
303
295
  "path": "protocols/memory-closeout-protocol.md",
@@ -321,7 +313,7 @@
321
313
  },
322
314
  {
323
315
  "path": "protocols/sensitive-info-protocol.md",
324
- "sha256": "12bb3bb6d51030340835cfc3b7483ff81c8a65dab427309cc9a6ccba9b52d2b3"
316
+ "sha256": "86e2a63ce5ba1503e64b0685aeab740946f9074d7e4d510eac04011c9eac12bd"
325
317
  },
326
318
  {
327
319
  "path": "protocols/state-layout-protocol.md",
@@ -337,7 +329,7 @@
337
329
  },
338
330
  {
339
331
  "path": "README.md",
340
- "sha256": "0037fa52e150adb6ee698c5d12aca8d5b200aca87668608ed36756a39d4113ef"
332
+ "sha256": "3ba0b3745717d50543f0b4122996b24f069b0efb9eb0a0d4ccf8a838a689fbfa"
341
333
  },
342
334
  {
343
335
  "path": "scripts/harness_adoption_metrics.py",
@@ -361,11 +353,11 @@
361
353
  },
362
354
  {
363
355
  "path": "scripts/harness_context.py",
364
- "sha256": "08c96d44d027d31e8160089aea5358d5eb9a703ebe6d1de3c584b649f964d16e"
356
+ "sha256": "397c2c6c37a40a6989fc6eec35371db7f17775f52714a2285fcc6e2071d1d02d"
365
357
  },
366
358
  {
367
359
  "path": "scripts/harness_deploy.py",
368
- "sha256": "d64c2fbc0e50b39c3f5a135d05afc8720a480952c25a05c3dfa361cbc5d87c66"
360
+ "sha256": "d3d65375cde5a14d957f80f9bc83d32856fc77f61a2c18317f534b1b11d424a3"
369
361
  },
370
362
  {
371
363
  "path": "scripts/harness_efficiency.py",
@@ -381,7 +373,7 @@
381
373
  },
382
374
  {
383
375
  "path": "scripts/harness_events.py",
384
- "sha256": "fb93e4bec3094a2d7db12d2737d056a4e6e30e11508c65ccf80f6fb6d02cd803"
376
+ "sha256": "0745291af0c1012351c56dbfa4c23d29c3c72162e31f075d3981415fa87391b3"
385
377
  },
386
378
  {
387
379
  "path": "scripts/harness_execution_contracts.py",
@@ -393,7 +385,7 @@
393
385
  },
394
386
  {
395
387
  "path": "scripts/harness_gate.py",
396
- "sha256": "2000537e48d36cd56f4d9100c1d07fe2daab9d03f646d4d584e47b971ae2d608"
388
+ "sha256": "191f1f2025702e3af9891cf9a8e346d152800ba6c35c0576402f4048e1b0c380"
397
389
  },
398
390
  {
399
391
  "path": "scripts/harness_headless.py",
@@ -409,7 +401,7 @@
409
401
  },
410
402
  {
411
403
  "path": "scripts/harness_ledger.py",
412
- "sha256": "3952d8af287272b667976e18a61204833ca275e14d21c581a3ff534fb9d95523"
404
+ "sha256": "97e27a8d585f5af0034bb79caf71aff15231a779da2fc9f331cb2430359fb9dc"
413
405
  },
414
406
  {
415
407
  "path": "scripts/harness_migration_head.py",
@@ -445,7 +437,7 @@
445
437
  },
446
438
  {
447
439
  "path": "scripts/harness_profile.py",
448
- "sha256": "ca279d53b63c5e589833106b82ce0d3f2b0659e8c218b0fa3bf2d0933d4f9af0"
440
+ "sha256": "4485c61fd09f544d22dd324fcca6f848e8dc193e0382192e8cc7d0336c417139"
449
441
  },
450
442
  {
451
443
  "path": "scripts/harness_report_model.py",
@@ -7,9 +7,9 @@
7
7
  "java"
8
8
  ],
9
9
  "bundle_version": "0.2.73",
10
- "content_sha256": "sha256:b10b8684797329b17dc2340c11bdd651e8661ec1eddef9b04531496c0dedab57",
10
+ "content_sha256": "sha256:69ca14d0260837d5ac8b7b7ec80fbebe6e173da81fb3351a7abe926683073e8f",
11
11
  "minimumCliVersion": "0.2.92",
12
- "workflowPackageVersion": "0.4.8",
12
+ "workflowPackageVersion": "0.4.10",
13
13
  "capabilities": [
14
14
  "sync@2",
15
15
  "rules-sync@1",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hunter-harness/workflow-harness",
3
- "version": "0.4.8",
3
+ "version": "0.4.10",
4
4
  "description": "Harness workflow family data package (bundles, manifests, migrations)",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,207 +0,0 @@
1
- ---
2
- name: harness-run
3
- description: "按变更簇执行 TDD 编码循环(RED→GREEN→REFACTOR→编译验证),逐变更簇实现计划中的任务。仅当用户显式调用 /harness-run 时使用;不得因用户提到编码/实现就自动触发,也不得被其他阶段 skill 自动接续。"
4
- disable-model-invocation: true
5
- argument-hint: "变更名 | --subagent | --inline | --fixback | 留空自动检测"
6
- effort: medium
7
- allowed-tools: [Read, Edit, Write, Glob, Grep, Bash(powershell.exe:*)]
8
- disallowed-tools:
9
- - Bash(git *)
10
- - Bash(mvn *)
11
- - Bash(ls *)
12
- - Bash(find *)
13
- - Bash(grep *)
14
- - Bash(cat *)
15
- - Bash(cp *)
16
- - Bash(mv *)
17
- - Bash(rm *)
18
- - Bash(mkdir *)
19
- - Bash(touch *)
20
- - Bash(sed *)
21
- - Bash(awk *)
22
- - Bash(curl *)
23
- - Bash(codegraph *)
24
- ---
25
- <!-- generated by harness_deploy.py; core=3c6eec08da6f5a5c; overlay=none; agent=claude-code; do not edit -->
26
- # harness-run — 需求编码
27
-
28
- > **2026-08 阶段合并**:原 `run`(编码)与 `test`(验证)合并为单一 `execute` 阶段,
29
- > 统一入口为 **`/harness-execute`**(`harness/harness-execute/SKILL.md`)。本 skill 作为
30
- > 别名保留,frontmatter `name` 不变、内容照旧可用;门禁入参 `--phase run` 经
31
- > `LEGACY_PHASE_ALIASES` 归一为 execute。别名至少保留一个 minor 版本,退役时间见
32
- > `docs/harness-improvement-roadmap/`。下文出现的阶段名 `run`/`test` 均按别名解析。
33
-
34
- ## Purpose
35
-
36
- 基于 plan + test-scenarios,按**变更簇**执行 TDD(RED→GREEN→REFACTOR→构建验证),写入 verification-ledger。负责 worktree 创建/切换(见 worktree-gate)。
37
-
38
- ## When to Use
39
-
40
- 仅当用户显式调用 `/harness-run` 时执行;plan 完成后**不自动**进入本阶段。参数:`--subagent` 强制 Subagent-Driven;`--inline` 等同默认;`--fixback` 读最新 review fixback。**默认 Inline,不询问执行模式**。
41
-
42
- **单阶段原则**:run 关门后必须停止并交还用户,仅提示 `plannedPhases` 中的真实下一阶段;禁止自动开始其他阶段。
43
-
44
- ## 前置条件
45
-
46
- - 设计文档(`plans/*-design.md` 优先,回退 `spec/*-design.md`)与 `plans/*-plan.md`(含 frontmatter)存在且已审批
47
- - 读 `meta/worktree.json`:`requested=true` 时 worktree 须存在或 run 负责创建
48
-
49
- ## Worktree 门禁
50
-
51
- 读取 `meta/worktree.json`(兼容旧路径 `worktree.json`):
52
-
53
- | 条件 | 行为 |
54
- |------|------|
55
- | `requested=false` | 主目录执行 |
56
- | `requested=true` + path 存在 | 切换 worktree 执行 |
57
- | `requested=true` + path 不存在 | **必须创建**(run)或 **停止**(test/review/submit) |
58
-
59
- **严禁** `requested=true` 时静默回主目录。创建失败 → 停止或 blocking user confirmation 降级(须 🟡WARN + 用户确认)。
60
-
61
- **状态与代码分离**:代码/编译/测试在 `worktreeRoot`;`stateDir`(logs/events/ledger/reports)写回 `.harness/changes/<change-name>/`。
62
-
63
- 创建命令与 JSON 模板 → 各 skill `reference.md`(plan 写决策,run 创建/更新)。
64
- > 片段:worktree-gate · 创建命令 → `reference.md`
65
-
66
- ## 统一读取协议
67
-
68
- 0. **脚本在 `<skills-root>/scripts/` 共享,不在每个 skill 子目录下** — 实际形态是 `.codebuddy/skills/scripts/harness_*.py`(`.claude`/`.cursor`/`.codex` 同理),**没有** `.../skills/harness-<phase>/scripts/`。plan、run/test、archive 三份执行日志里都先猜成后者、报 `No such file` 再靠 Search 找回来;照第一种写法直接用
69
- 1. **`.harness/changes/<change-name>/` 是唯一真相源** — 所有输入从该目录读取,产物写入对应子目录
70
- 2. **change-name 优先从 frontmatter 读取** — `plans/*-design.md`、`spec/*-design.md`、`plans/*-plan.md` 的 YAML `change-name`
71
- 3. **frontmatter 缺失时兼容旧格式** — 从路径推断,标记 `🟡 legacy-plan`,不失败
72
- 4. **design** — 设计真相源按序取第一个存在的:`plans/<change>-design.md`(v2 发布产物,哈希绑定)→ `spec/<change>-design.md`(legacy 手写)。两份**同时存在**时以 `plans/` 为准,并记 `🟡 WARN 设计文档双份`——v2 发布的那份才受完整性门禁保护,读手写的那份等于绕过校验
73
- 5. **plan** — 任务真相源:`plans/<change>-plan.md`
74
- 6. **implementation-detail** — 自适应执行参考;legacy 缺失 🟡WARN,不阻断
75
- 7. **test-scenarios** — 测试真相源:`plans/<change>-test-scenarios.md`
76
- 8. **禁止读取 `docs/superpowers/` 作为正式输入** — 旧草稿仅人工线索
77
- 9. **每个 skill 边界只刷新一次状态快照** — 先运行 `python <skills-root>/scripts/harness_state.py capture --project . --change-dir ".harness/changes/<change-name>" --json`。首次 Plan 捕获时,脚本把当时的 Git HEAD 写入不可变 `changeBase`;后续阶段只刷新 `git.head` 与各段指纹,不得用当前 HEAD 覆盖 `changeBase`。只有迁移旧 change 且已能证明真实计划起点时,才在首次补录时传 `--base <baseCommit>`。`changedSegments=[]` 时复用已有 profile/rules/map/change/code 指纹,不再重复跑全量 `harness-sync` 或代码库扫描。`knowledge` 段仅为兼容空段,知识始终按需远端查询;快照不能替代源码读取和验证门禁。
78
-
79
- 状态目录分层:新路径优先,旧路径兼容 → [[../protocols/state-layout-protocol.md|state-layout-protocol]]
80
- > 片段:read-protocol · run 必读文件优先级 → `reference.md` Step 0
81
-
82
- ## 执行模式
83
-
84
- 默认 **Inline Execution**;仅 `--subagent` 切换 Subagent-Driven。
85
-
86
- ## Workflow 概要
87
-
88
- 0. 加载上下文:普通 Run 先 `harness_context.py prepare --project . --change <id> --phase run --executor <tool> --json`(`--project` 必填,漏了直接 argparse 报错),再 **`harness_context.py begin --project . --change <id> --phase run --executor <tool> --json`** 校验交接,最后运行 **`harness_gate.py begin --phase run --change <id>`**。<br>**交接凭证不必手工补**:v2 计划的 `plan finalize` 不写 context 事务,`prepare` 会在检测到 committed 的 `meta/publication-journals/*.json` 时自动补录 `plan → run` 凭证(凭证带 `bootstrapSource=plan_publication_journal` 留痕)。仍报 `HANDOFF_REQUIRED`/`LEGACY_BOOTSTRAP_REQUIRED` 说明**没有**这份发布证据——回到 plan 阶段确认发布是否真的完成,**不得**自己拼 `classify + configure-plan + close` 造凭证。`harness_gate.py` 会从当前已安装适配器自动识别 skills root;只有执行复制到别处的脚本时才显式传 `--skills-root`。`--fixback` 不得拼装这些底层步骤,必须只调用一次 `harness_fixback.py launch-review --project . --change <id> --change-dir <change-dir> --executor <tool> --skills-root <skills-root> --product-identity <当前产品身份> --json`:该命令会先筛选结构化评审项,再原子选择 Fixback 分支、确认上下文、取得 Run 门禁并创建已填充批次。返回 `FIXBACK_NOTHING_TO_APPLY` 时直接报告“本轮评审没有需要执行的代码修复”并停止;返回阻塞码时按 `recoveryAction` 停止,不搜索实现、不试探其他参数、不创建空批次。禁止手写 `events.ndjson` / `phase.end`。已连接平台时 begin 会 best-effort 补传事件,失败只告警。
89
- 0.5. **测试基础设施探测**(先写 `CHECKING`,四项证据齐备后再结论)→ `reference.md` Step 0.5;测试基线已由上一步 gate begin 内部建立,不得再次执行 guard begin
90
- 1. **变更簇 TDD** — `protocols.md` `run-tdd-protocol`;批量 RED/GREEN;按需 `change-cluster-review-protocol`(高风险 + reviewer 预检可用)
91
- 2. 构建验证 + **仅**通过 `harness_ledger.py record` 写 ledger(禁止 Write/Edit `verification-ledger.json`);若本阶段创建/删除了清单、锁文件、源码根或改变技术栈,最后一次产品编辑后、写账本与关门前必须执行 `harness_preflight.py detect --project . --json` 刷新 build profile。`record --project . --profile-input <key>` 会对缺失/陈旧 profile 自动检测并从同一 target 推导 scope、coverage、规范命令和输入闭包;不得再手填另一套身份。detect 在嵌套/多组件仓库返回 `DETECTION_AMBIGUOUS` 时,响应里的 `profileTemplate` 就是可填骨架(已含 defaultsFingerprint、excludedRoots 默认集与 commands 条目形状),按 `hint` 填好写入 `.harness/config/build-profile.json` 即可,**不要去反读 `harness_profile.py` 源码凑结构**。`diff-hash --change-dir` 纳入 ignored tests → `reference.md` Step 2c
92
- 3. **场景覆盖检查**(场景表映射,禁止用用例数冒充场景数)
93
- 4. **关门检查**(10 项)→ 只执行一次 `harness_gate.py close`;`--to-phase` 必须取返回的 `nextPhases` 或 `plannedPhases` 中 run 的真实后继,禁止写死 test。该命令内部关闭 test guard、写 `phase.end`、释放租约、写 handoff 并补传事件;不得再单独调用 test-guard/context close。失败时按结构化 `recoveryAction` 原样重试,已完成步骤幂等复用。
94
-
95
- **阶段归属规则**:只用 `ownerPhase=run` 的任务和场景判定编码阶段结果。`ownerPhase=test` 的任务或场景按计划留给测试阶段属于正常移交,必须记录为“待测试阶段执行”,不得将编码阶段降级为 WARN;只有 run 自身负责的工作未完成、验证降级或证据异常时才使用 WARN。
96
-
97
- > 关门脚本与本规则一致:`harness_gate.py close --phase run` 的 C9 场景覆盖只要求 `ownerPhase` 为 `plan`/`run` 的必需场景有通过 receipt,`ownerPhase=test` 的场景出现在返回值的 `deferred` 里,不阻断 run。若 run 关门报 `REQUIRED_SCENARIO_NOT_EXECUTED` 且缺的是接口/端到端场景,那是 `meta/scenario-manifest.json` 里 `ownerPhase` 标错了(或老清单没声明),应当修清单——**不要**为了过门在 run 阶段起服务补跑本属 test 的验证。
98
-
99
- **Fixback**:入口只用 `launch-review`,后续问题处理通过 `resolve-issue/close` 驱动,不得把修复说明当成新的普通 Run。只读取返回的受影响问题和文件;验证仅失效与 `changedFiles` 相交的目标,其他 Test/Review 证据继续复用。RED 优先;`manual`、`workflow` 或未选用的建议不进入代码批次,使用中文记录处理结论。
100
-
101
- **构建/测试执行入口**:所有构建与测试命令(mvn / gradle / npm test / pytest 等)必须经 `harness_test_runner.py exec` 发起,**禁止**用 `powershell.exe -Command` 直接裸跑:
102
-
103
- ```text
104
- python <skills-root>/scripts/harness_test_runner.py exec --project . --timeout-seconds <预估上限> -- <构建命令及参数>
105
- ```
106
-
107
- 该入口持有项目级互斥锁并托管进程树。裸跑构建在宿主工具超时后会被推入后台,多个后台构建同时写同一个 `target/`、`build/` 或 `node_modules/.cache`,表现为编译产物被清空、日志文件被占用、"增量编译抖动"——这些都不是代码缺陷,是并发自相残杀,排查成本极高。`--timeout-seconds` 按最慢的一次全量构建估(默认 300 秒偏短),宁可给足也不要让命令被中途掐断。
108
-
109
- 返回 `TEST_RUN_ALREADY_ACTIVE`(退出码 3)说明**已有构建在跑**:等它结束或用 `lock-status` 查明持有者,**不得**改用裸跑绕开锁,也不得另起一个并行构建。确认持有进程已消失时才用 `lock-reap` 回收。
110
-
111
- **长阶段租约**:`gate begin` 的租约默认 TTL 3600 秒,而 run 阶段常常跑得更久。租约过期不会中断执行,**也不再阻断收尾**:`gate close` 发现租约过期而 run-id 仍是本阶段的,会自动用原 run-id 重取并照常关门,只在返回体的 `leaseLapsed` 里记下这个阶段跑过了 TTL。过期本身不说明所有权变了——抢占会重写租约文件把 run-id 换掉,那时报的是 `LEASE_OWNER_MISMATCH`。
112
-
113
- 因此**不需要**为了长阶段定期续租。确实想让租约始终有效时,用本阶段原 run-id 刷新即可(同 run-id 重复 claim 即刷新,不会新开 attempt):
114
-
115
- ```text
116
- python <skills-root>/scripts/harness_change.py claim --change <id> --phase run --run-id <本阶段 run-id> --ttl-seconds 3600 --json
117
- ```
118
-
119
- 仍然报 `LEASE_ABSENT` 说明这个阶段**根本没有租约记录**(从未 begin,或已被释放),不是超时;先确认 `gate begin` 真的跑过。报 `LEASE_INVALID` 说明租约文件损坏,无法证明没被抢占,需人工确认无并发后再用上面的命令重取。两种情况都**不要**重跑 `gate begin`——那会新开 attempt 并丢失本轮 capsule。
120
-
121
- **执行器边界**:优先使用项目 build profile 和已有测试入口。禁止为了绕过 ESM、路径或参数问题临时生成 `.js`、`require` 脚本;需要文件式 runner 时使用项目已有入口,确需新增时遵循项目模块类型(例如 ESM 使用 `.mjs`)。runner 包装说明写入 `runnerCommand` 元数据,不得拼进账本的规范 `command`。
122
-
123
- **Foundation Gate**:若 `meta/implementation-checkpoints.json` 中 `foundation-gate` 为 pending,不得开始 plan 中任务 6+;由 `harness_gate.py` 硬阻断。
124
-
125
- ## P0 执行可信度规则
126
-
127
- - 命令结果不得靠猜测;普通 Bash 被拒 → 立即改用等价 PowerShell 重试一次
128
- - 仅 PowerShell 成功且有明确证据(构建/git/测试输出、文件存在、exit 0)时可标 ✅OK;否则 ❌FAIL 或 🟡WARN
129
- - 禁止把 hook 拒绝、静态验证、无输出、用户跳过说成成功 → 详见 [[../protocols/powershell-protocol.md|powershell-protocol]]、[[../protocols/evidence-based-reporting-protocol.md|evidence-based-reporting-protocol]]
130
-
131
- ## 生成内容语言约定
132
-
133
- - sync/ingest 等生成的文档、规则、知识条目、架构说明一律**优先使用中文**撰写(标识符、命令、代码、API 字段名保持原文)
134
- - 面向平台展示的标题/摘要/正文默认中文;仅当用户明确要求或目标系统强制时才用英文
135
- > 片段:p0-trust
136
-
137
- ## 关键规则(硬门禁速查)
138
-
139
- > 全文判定、示例、模板 → `reference.md`;ledger → `../protocols/ledger-protocol.md`
140
-
141
- | 域 | 要点 |
142
- |----|------|
143
- | **文档输入** | 只读 `.harness/changes/<cn>/`;禁止 `docs/superpowers/` |
144
- | **变更簇 TDD** | 一簇一次 RED/GREEN;低价值项豁免;新分支必须 RED |
145
- | **RED/GREEN** | RED 须有效;静态验证 ≠ 测试通过;greenfield 大重写豁免见 reference |
146
- | **Mapper/DB** | 纯 Mock 不得宣称 DB 验证通过;迁移脚本**永不自动执行** |
147
- | **探测/ledger** | 基础设施先探测;每次构建/测试经 `harness_ledger.py record`;禁止手写 ledger JSON;用 canonical `diff-hash --change-dir` |
148
- | **Gate/Guard** | 跨 Agent/阶段先用 `harness_context.py prepare/begin`;阶段门禁与上下文交接统一用 `harness_gate.py begin/close`;gate 内部负责 guard begin/close,模型只在需要记录测试来源或修复时调用 guard 的 `record/stage/mark` |
149
- | **预存变更** | 保留 → baseline 隔离;存在则最终 ≥ 🟡WARN |
150
- | **关门/状态** | 10 项关门检查;持久化 run-task-status;仅 run-owned P0 静态-only 导致 WARN;test-owned 待办正常移交 |
151
- | **Worktree** | `requested=true` 时代码只写 worktree |
152
- | **构建/测试** | 一律经 `harness_test_runner.py exec`;禁止裸跑 mvn/gradle/npm test;`TEST_RUN_ALREADY_ACTIVE` 表示已有构建在跑,等待而非另起 |
153
- | **租约** | 阶段超 TTL 由 close 自动用原 run-id 重取,无需续租;`LEASE_ABSENT`(无记录)/`LEASE_INVALID`(文件损坏)才需人工 `harness_change.py claim`,一律不重跑 begin |
154
- | **PowerShell** | 所有 git 经 `powershell.exe -NoProfile -Command` |
155
-
156
- ### 陈旧测试安全修复与精确跟踪
157
-
158
- 测试编译或 RED/GREEN 失败时,先区分当前实现缺陷、测试基础设施故障与陈旧测试。只有同时满足以下条件才允许自动修复陈旧测试:当前生产代码、已批准计划或可验证的历史变更能唯一确定新契约;修改范围仅限测试文件;修复后会立即重跑该测试及本变更目标测试。符合时以 `stale-test-repair` 记录:
159
-
160
- ```text
161
- python <skills-root>/scripts/harness_test_guard.py record --project . --change-dir ".harness/changes/<change-name>" --files "<精确测试文件路径,逗号分隔>" --reason stale-test-repair --json
162
- ```
163
-
164
- 新建或正常更新测试分别使用 `tdd-created` / `test-updated`。若预期行为存在业务歧义,停止测试修复并记录 `BLOCKED_PREEXISTING`,不得猜测新断言。
165
-
166
- **禁止临时排除测试**:不得将测试改名为 `.bak`、移出测试目录、删除、添加 `@Disabled`/`@Ignore`、修改 Surefire/Gradle exclude 或跳过测试来制造绿色结果;也不得仅为满足陈旧测试而修改生产代码。`.gitignore` 中的测试只能通过 manifest 的精确路径闭环处理,禁止全局放宽 ignore。
167
-
168
- ## Output Format
169
-
170
- 变更文件表 + 构建/测试证据 + 场景覆盖摘要 + 最终状态(✅OK / 🟡WARN / ❌FAIL)。→ `reference.md`
171
-
172
- ## 渐进披露
173
-
174
- - **Read `protocols.md`** — run-tdd + change-cluster-review
175
- - **Read `reference.md`** — Step 0–5 细节、TDD/RED/ledger/迁移/安全矩阵
176
- - **Read `checklist.md`** — 逐步勾选
177
-
178
- ## 交互白名单
179
-
180
- 1. **预存变更**:保留 / 暂存 / 终止
181
- 2. **数据库迁移**:展示审查清单并确认(**永不自动执行**)
182
- 3. **worktree 创建失败**:是否改主目录
183
-
184
- ## 执行日志
185
-
186
- `events.ndjson` 为唯一事实源(schema_version 3,兼容读取 v1/v2;`note` 承载人类可读摘要);`logs/execution-log.md` 由 `harness_events.py` 渲染,**禁止用 Write/Edit 直接维护**。直接修改的内容会在 `phase.end` 或 finalize 时被完整重建覆盖,属于数据丢失;需要保留的详情必须进入事件 `note`。结构 → [[../protocols/report-pipeline-protocol.md|report-pipeline-protocol]]
187
-
188
- **`phase.start` 由 `harness_gate.py begin` 写,不要再手工追加一次。** 两条同 `run-id` 的
189
- `phase.start` 会让 `plan finalize` 以 `PHASE_START_DUPLICATE` 卡死,而且手工那次会先触发
190
- auto-seal、把正在开始的 attempt 封成 `RECOVERED`。要补触发指令说明就带 `--note` 跑 `gate begin`。
191
- (重复追加现已按 `(phase, run-id)` 判为幂等 no-op,但依赖它不如不写。)
192
-
193
- ```powershell
194
- # 阶段开始:gate begin 负责,note 在这里给
195
- python <skills-root>/scripts/harness_gate.py begin --change-dir ".harness/changes/<change-name>" --phase <phase> --note "<触发指令>"
196
- # 阶段中的其他事件才用 append
197
- python <skills-root>/scripts/harness_events.py append --change-dir ".harness/changes/<change-name>" --phase <phase> --type <command|issue|verification> --run-id <phase-run-id> --note "<摘要>"
198
- ```
199
-
200
- > **脚本接线**:`harness_events.py append`;`harness_archive.py finalize`;`harness_preflight.py check`;`harness_ledger.py can-reuse`;`harness_service.py ensure/stop`(须 `--files`/`serviceStart.inputFiles`)。JSON 输出按 D13 护栏解读。
201
-
202
- > **Task 4 §6.1 写入契约**:普通 `append` = 加锁 -> 追加一行 -> fsync -> 解锁,**不 load 历史、不渲染**(O(1),跨进程锁 `events.ndjson.lock`,UUID 用完整 `uuid4().hex` 无需去重扫描)。仅 `--type phase.end` append 在追加成功后渲染一次 `execution-log.md`;显式 `harness_events.py render` 随时从完整 events 重建;`harness_archive.py finalize` 在 collect 前强制 render 一次。高频 command append 期间 log 可能滞后,phase 边界保持最新。
203
-
204
- 每个阶段的 `phase.start` 与对应 `phase.end` 必须复用同一 `--run-id` / `--attempt`;阶段结束必须写 `--status OK|WARN|FAIL|BLOCKED`。重试同一阶段时生成新的 run-id 并增加 `--attempt <n>`,不得覆盖或伪装成一次执行。**`attempt` 按 phase 全局递增,不是按 run-id**:一个 run-id 只绑定一个 attempt,重试必须「新 run-id + 下一个 attempt」两者同时换,只换其一会撞 `EVENT_ATTEMPT_CONFLICT` 或 `PHASE_ALREADY_CLOSED`。已发布 plan 的修订通过重跑 `plan evidence-pack` + `plan finalize` 分配新 attempt(`harness_plan_finalize.py republish` 已于 0.3.0 移除)。
205
-
206
- 阶段跑得久(plan/run 常见)时用 `harness_context.py renew --project . --change <cn> --executor <tool>` 续租;租约到期本身不再阻断 `close`(同一 owner 的过期租约不构成冲突,收据里记 `leaseLapsed`),但续租能让 `view` 的状态如实反映在跑。跨工具继续执行时写 `--executor-tool <codex|claude-code|codebuddy|cursor>`,并在接棒事件写 `--handoff-from-tool` / `--handoff-reason`;也可由 `HUNTER_HARNESS_TOOL/AGENT/MODEL/RUN_ID` 环境变量统一注入。
207
- > 片段:logging · phase=`run`