@hunter-harness/workflow-harness 0.4.8 → 0.4.9

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 (409) 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 +16 -16
  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-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -2
  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 +1 -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 +1 -1
  19. package/harness/bundles/general/claude-code/harness-plan/checklist.md +1 -1
  20. package/harness/bundles/general/claude-code/harness-pull/SKILL.md +1 -1
  21. package/harness/bundles/general/claude-code/harness-push/SKILL.md +1 -1
  22. package/harness/bundles/general/claude-code/harness-review/SKILL.md +3 -3
  23. package/harness/bundles/general/claude-code/harness-review/checklist.md +1 -1
  24. package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
  25. package/harness/bundles/general/claude-code/harness-submit/checklist.md +1 -1
  26. package/harness/bundles/general/claude-code/harness-submit/reference.md +1 -1
  27. package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
  28. package/harness/bundles/general/claude-code/protocols/evidence-based-reporting-protocol.md +1 -1
  29. package/harness/bundles/general/claude-code/protocols/ledger-protocol.md +8 -8
  30. package/harness/bundles/general/claude-code/protocols/sensitive-info-protocol.md +2 -2
  31. package/harness/bundles/general/claude-code/scripts/harness_deploy.py +2 -2
  32. package/harness/bundles/general/claude-code/scripts/harness_gate.py +1 -1
  33. package/harness/bundles/general/claude-code/scripts/harness_profile.py +3 -3
  34. package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
  35. package/harness/bundles/general/codebuddy/CONTEXT.md +1 -1
  36. package/harness/bundles/general/codebuddy/README.md +36 -38
  37. package/harness/bundles/general/codebuddy/contracts/workflow-policy.json +0 -50
  38. package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
  39. package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
  40. package/harness/bundles/general/codebuddy/harness-codebase-map/templates/TESTING.md +1 -1
  41. package/harness/bundles/general/codebuddy/harness-execute/SKILL.md +16 -16
  42. package/harness/bundles/general/{claude-code/harness-run/checklist.md → codebuddy/harness-execute/coding-checklist.md} +9 -9
  43. package/harness/bundles/general/codebuddy/{harness-run/reference.md → harness-execute/coding-reference.md} +36 -36
  44. package/harness/bundles/general/codebuddy/{harness-run → harness-execute}/protocols.md +4 -4
  45. package/harness/bundles/general/{codex/harness-test/checklist.md → codebuddy/harness-execute/testing-checklist.md} +9 -10
  46. package/harness/bundles/general/codebuddy/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -2
  47. package/harness/bundles/general/{claude-code/harness-test/pitfalls.md → codebuddy/harness-execute/testing-pitfalls.md} +7 -7
  48. package/harness/bundles/general/codebuddy/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  49. package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  50. package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  51. package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +1 -1
  52. package/harness/bundles/general/codebuddy/harness-plan/checklist.md +1 -1
  53. package/harness/bundles/general/codebuddy/harness-pull/SKILL.md +1 -1
  54. package/harness/bundles/general/codebuddy/harness-push/SKILL.md +1 -1
  55. package/harness/bundles/general/codebuddy/harness-review/SKILL.md +3 -3
  56. package/harness/bundles/general/codebuddy/harness-review/checklist.md +1 -1
  57. package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
  58. package/harness/bundles/general/codebuddy/harness-submit/checklist.md +1 -1
  59. package/harness/bundles/general/codebuddy/harness-submit/reference.md +1 -1
  60. package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
  61. package/harness/bundles/general/codebuddy/protocols/evidence-based-reporting-protocol.md +1 -1
  62. package/harness/bundles/general/codebuddy/protocols/ledger-protocol.md +8 -8
  63. package/harness/bundles/general/codebuddy/protocols/sensitive-info-protocol.md +2 -2
  64. package/harness/bundles/general/codebuddy/scripts/harness_deploy.py +2 -2
  65. package/harness/bundles/general/codebuddy/scripts/harness_gate.py +1 -1
  66. package/harness/bundles/general/codebuddy/scripts/harness_profile.py +3 -3
  67. package/harness/bundles/general/codex/.harness-build.json +1 -1
  68. package/harness/bundles/general/codex/CONTEXT.md +1 -1
  69. package/harness/bundles/general/codex/README.md +36 -38
  70. package/harness/bundles/general/codex/contracts/workflow-policy.json +0 -50
  71. package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
  72. package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
  73. package/harness/bundles/general/codex/harness-codebase-map/templates/TESTING.md +1 -1
  74. package/harness/bundles/general/codex/harness-execute/SKILL.md +16 -16
  75. package/harness/bundles/general/{cursor/harness-run/checklist.md → codex/harness-execute/coding-checklist.md} +9 -9
  76. package/harness/bundles/general/{cursor/harness-run/reference.md → codex/harness-execute/coding-reference.md} +36 -36
  77. package/harness/bundles/general/{claude-code/harness-run → codex/harness-execute}/protocols.md +4 -4
  78. package/harness/bundles/general/{cursor/harness-test/checklist.md → codex/harness-execute/testing-checklist.md} +9 -10
  79. package/harness/bundles/general/codex/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -2
  80. package/harness/bundles/general/{codebuddy/harness-test/pitfalls.md → codex/harness-execute/testing-pitfalls.md} +7 -7
  81. package/harness/bundles/general/codex/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  82. package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +1 -1
  83. package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
  84. package/harness/bundles/general/codex/harness-plan/SKILL.md +1 -1
  85. package/harness/bundles/general/codex/harness-plan/checklist.md +1 -1
  86. package/harness/bundles/general/codex/harness-pull/SKILL.md +1 -1
  87. package/harness/bundles/general/codex/harness-push/SKILL.md +1 -1
  88. package/harness/bundles/general/codex/harness-review/SKILL.md +3 -3
  89. package/harness/bundles/general/codex/harness-review/checklist.md +1 -1
  90. package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
  91. package/harness/bundles/general/codex/harness-submit/checklist.md +1 -1
  92. package/harness/bundles/general/codex/harness-submit/reference.md +1 -1
  93. package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
  94. package/harness/bundles/general/codex/protocols/evidence-based-reporting-protocol.md +1 -1
  95. package/harness/bundles/general/codex/protocols/ledger-protocol.md +8 -8
  96. package/harness/bundles/general/codex/protocols/sensitive-info-protocol.md +2 -2
  97. package/harness/bundles/general/codex/scripts/harness_deploy.py +2 -2
  98. package/harness/bundles/general/codex/scripts/harness_gate.py +1 -1
  99. package/harness/bundles/general/codex/scripts/harness_profile.py +3 -3
  100. package/harness/bundles/general/cursor/.harness-build.json +1 -1
  101. package/harness/bundles/general/cursor/CONTEXT.md +1 -1
  102. package/harness/bundles/general/cursor/README.md +36 -38
  103. package/harness/bundles/general/cursor/contracts/workflow-policy.json +0 -50
  104. package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
  105. package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
  106. package/harness/bundles/general/cursor/harness-codebase-map/templates/TESTING.md +1 -1
  107. package/harness/bundles/general/cursor/harness-execute/SKILL.md +16 -16
  108. package/harness/bundles/general/{codebuddy/harness-run/checklist.md → cursor/harness-execute/coding-checklist.md} +9 -9
  109. package/harness/bundles/general/{claude-code/harness-run/reference.md → cursor/harness-execute/coding-reference.md} +36 -36
  110. package/harness/bundles/general/cursor/{harness-run → harness-execute}/protocols.md +4 -4
  111. package/harness/bundles/general/{claude-code/harness-test/checklist.md → cursor/harness-execute/testing-checklist.md} +9 -10
  112. package/harness/bundles/general/cursor/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -2
  113. package/harness/bundles/general/cursor/{harness-test/pitfalls.md → harness-execute/testing-pitfalls.md} +7 -7
  114. package/harness/bundles/general/cursor/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  115. package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  116. package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
  117. package/harness/bundles/general/cursor/harness-plan/SKILL.md +1 -1
  118. package/harness/bundles/general/cursor/harness-plan/checklist.md +1 -1
  119. package/harness/bundles/general/cursor/harness-pull/SKILL.md +1 -1
  120. package/harness/bundles/general/cursor/harness-push/SKILL.md +1 -1
  121. package/harness/bundles/general/cursor/harness-review/SKILL.md +3 -3
  122. package/harness/bundles/general/cursor/harness-review/checklist.md +1 -1
  123. package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
  124. package/harness/bundles/general/cursor/harness-submit/checklist.md +1 -1
  125. package/harness/bundles/general/cursor/harness-submit/reference.md +1 -1
  126. package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
  127. package/harness/bundles/general/cursor/protocols/evidence-based-reporting-protocol.md +1 -1
  128. package/harness/bundles/general/cursor/protocols/ledger-protocol.md +8 -8
  129. package/harness/bundles/general/cursor/protocols/sensitive-info-protocol.md +2 -2
  130. package/harness/bundles/general/cursor/scripts/harness_deploy.py +2 -2
  131. package/harness/bundles/general/cursor/scripts/harness_gate.py +1 -1
  132. package/harness/bundles/general/cursor/scripts/harness_profile.py +3 -3
  133. package/harness/bundles/general/pi/.harness-build.json +1 -1
  134. package/harness/bundles/general/pi/CONTEXT.md +1 -1
  135. package/harness/bundles/general/pi/README.md +36 -38
  136. package/harness/bundles/general/pi/contracts/workflow-policy.json +0 -50
  137. package/harness/bundles/general/pi/harness-archive/SKILL.md +1 -1
  138. package/harness/bundles/general/pi/harness-codebase-map/SKILL.md +1 -1
  139. package/harness/bundles/general/pi/harness-codebase-map/templates/TESTING.md +1 -1
  140. package/harness/bundles/general/pi/harness-execute/SKILL.md +16 -16
  141. package/harness/bundles/general/pi/harness-execute/coding-checklist.md +279 -0
  142. package/harness/bundles/general/pi/harness-execute/coding-reference.md +886 -0
  143. package/harness/bundles/general/pi/harness-execute/protocols.md +141 -0
  144. package/harness/bundles/general/pi/harness-execute/testing-checklist.md +358 -0
  145. package/harness/bundles/general/pi/harness-execute/testing-pitfalls-java.md +14 -0
  146. package/harness/bundles/general/pi/harness-execute/testing-pitfalls.md +307 -0
  147. package/harness/bundles/general/pi/harness-execute/testing-reference.md +880 -0
  148. package/harness/bundles/general/pi/harness-knowledge-ingest/SKILL.md +1 -1
  149. package/harness/bundles/general/pi/harness-knowledge-query/SKILL.md +1 -1
  150. package/harness/bundles/general/pi/harness-plan/SKILL.md +1 -1
  151. package/harness/bundles/general/pi/harness-plan/checklist.md +1 -1
  152. package/harness/bundles/general/pi/harness-pull/SKILL.md +1 -1
  153. package/harness/bundles/general/pi/harness-push/SKILL.md +1 -1
  154. package/harness/bundles/general/pi/harness-review/SKILL.md +3 -3
  155. package/harness/bundles/general/pi/harness-review/checklist.md +1 -1
  156. package/harness/bundles/general/pi/harness-submit/SKILL.md +1 -1
  157. package/harness/bundles/general/pi/harness-submit/checklist.md +1 -1
  158. package/harness/bundles/general/pi/harness-submit/reference.md +1 -1
  159. package/harness/bundles/general/pi/harness-sync/SKILL.md +1 -1
  160. package/harness/bundles/general/pi/protocols/evidence-based-reporting-protocol.md +1 -1
  161. package/harness/bundles/general/pi/protocols/ledger-protocol.md +8 -8
  162. package/harness/bundles/general/pi/protocols/sensitive-info-protocol.md +2 -2
  163. package/harness/bundles/general/pi/scripts/harness_deploy.py +2 -2
  164. package/harness/bundles/general/pi/scripts/harness_gate.py +1 -1
  165. package/harness/bundles/general/pi/scripts/harness_profile.py +3 -3
  166. package/harness/bundles/java/claude-code/.harness-build.json +1 -1
  167. package/harness/bundles/java/claude-code/CONTEXT.md +1 -1
  168. package/harness/bundles/java/claude-code/README.md +36 -38
  169. package/harness/bundles/java/claude-code/contracts/workflow-policy.json +0 -50
  170. package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
  171. package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
  172. package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
  173. package/harness/bundles/java/claude-code/harness-codebase-map/templates/TESTING.md +1 -1
  174. package/harness/bundles/java/claude-code/harness-execute/SKILL.md +48 -16
  175. package/harness/bundles/java/claude-code/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
  176. package/harness/bundles/java/claude-code/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
  177. package/harness/bundles/java/claude-code/harness-execute/protocols.md +141 -0
  178. package/harness/bundles/java/claude-code/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
  179. package/harness/bundles/java/claude-code/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +1 -1
  180. package/harness/bundles/java/claude-code/harness-execute/testing-pitfalls.md +307 -0
  181. package/harness/bundles/java/claude-code/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  182. package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  183. package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
  184. package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
  185. package/harness/bundles/java/claude-code/harness-package/checklist.md +7 -7
  186. package/harness/bundles/java/claude-code/harness-plan/SKILL.md +1 -1
  187. package/harness/bundles/java/claude-code/harness-plan/checklist.md +1 -1
  188. package/harness/bundles/java/claude-code/harness-pull/SKILL.md +1 -1
  189. package/harness/bundles/java/claude-code/harness-push/SKILL.md +1 -1
  190. package/harness/bundles/java/claude-code/harness-review/SKILL.md +3 -3
  191. package/harness/bundles/java/claude-code/harness-review/checklist.md +1 -1
  192. package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
  193. package/harness/bundles/java/claude-code/harness-submit/checklist.md +1 -1
  194. package/harness/bundles/java/claude-code/harness-submit/reference.md +1 -1
  195. package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
  196. package/harness/bundles/java/claude-code/protocols/evidence-based-reporting-protocol.md +1 -1
  197. package/harness/bundles/java/claude-code/protocols/ledger-protocol.md +8 -8
  198. package/harness/bundles/java/claude-code/protocols/sensitive-info-protocol.md +2 -2
  199. package/harness/bundles/java/claude-code/scripts/harness_deploy.py +2 -2
  200. package/harness/bundles/java/claude-code/scripts/harness_gate.py +1 -1
  201. package/harness/bundles/java/claude-code/scripts/harness_profile.py +3 -3
  202. package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
  203. package/harness/bundles/java/codebuddy/CONTEXT.md +1 -1
  204. package/harness/bundles/java/codebuddy/README.md +36 -38
  205. package/harness/bundles/java/codebuddy/contracts/workflow-policy.json +0 -50
  206. package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
  207. package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
  208. package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
  209. package/harness/bundles/java/codebuddy/harness-codebase-map/templates/TESTING.md +1 -1
  210. package/harness/bundles/java/codebuddy/harness-execute/SKILL.md +48 -16
  211. package/harness/bundles/java/codebuddy/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
  212. package/harness/bundles/java/codebuddy/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
  213. package/harness/bundles/java/codebuddy/harness-execute/protocols.md +141 -0
  214. package/harness/bundles/java/codebuddy/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
  215. package/harness/bundles/java/codebuddy/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +1 -1
  216. package/harness/bundles/java/codebuddy/harness-execute/testing-pitfalls.md +307 -0
  217. package/harness/bundles/java/codebuddy/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  218. package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  219. package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  220. package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
  221. package/harness/bundles/java/codebuddy/harness-package/checklist.md +7 -7
  222. package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +1 -1
  223. package/harness/bundles/java/codebuddy/harness-plan/checklist.md +1 -1
  224. package/harness/bundles/java/codebuddy/harness-pull/SKILL.md +1 -1
  225. package/harness/bundles/java/codebuddy/harness-push/SKILL.md +1 -1
  226. package/harness/bundles/java/codebuddy/harness-review/SKILL.md +3 -3
  227. package/harness/bundles/java/codebuddy/harness-review/checklist.md +1 -1
  228. package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
  229. package/harness/bundles/java/codebuddy/harness-submit/checklist.md +1 -1
  230. package/harness/bundles/java/codebuddy/harness-submit/reference.md +1 -1
  231. package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
  232. package/harness/bundles/java/codebuddy/protocols/evidence-based-reporting-protocol.md +1 -1
  233. package/harness/bundles/java/codebuddy/protocols/ledger-protocol.md +8 -8
  234. package/harness/bundles/java/codebuddy/protocols/sensitive-info-protocol.md +2 -2
  235. package/harness/bundles/java/codebuddy/scripts/harness_deploy.py +2 -2
  236. package/harness/bundles/java/codebuddy/scripts/harness_gate.py +1 -1
  237. package/harness/bundles/java/codebuddy/scripts/harness_profile.py +3 -3
  238. package/harness/bundles/java/codex/.harness-build.json +1 -1
  239. package/harness/bundles/java/codex/CONTEXT.md +1 -1
  240. package/harness/bundles/java/codex/README.md +36 -38
  241. package/harness/bundles/java/codex/contracts/workflow-policy.json +0 -50
  242. package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
  243. package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
  244. package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
  245. package/harness/bundles/java/codex/harness-codebase-map/templates/TESTING.md +1 -1
  246. package/harness/bundles/java/codex/harness-execute/SKILL.md +48 -16
  247. package/harness/bundles/java/codex/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
  248. package/harness/bundles/java/codex/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
  249. package/harness/bundles/java/codex/harness-execute/protocols.md +141 -0
  250. package/harness/bundles/java/codex/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
  251. package/harness/bundles/java/codex/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +1 -1
  252. package/harness/bundles/java/codex/harness-execute/testing-pitfalls.md +307 -0
  253. package/harness/bundles/java/codex/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  254. package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +1 -1
  255. package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
  256. package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
  257. package/harness/bundles/java/codex/harness-package/checklist.md +7 -7
  258. package/harness/bundles/java/codex/harness-plan/SKILL.md +1 -1
  259. package/harness/bundles/java/codex/harness-plan/checklist.md +1 -1
  260. package/harness/bundles/java/codex/harness-pull/SKILL.md +1 -1
  261. package/harness/bundles/java/codex/harness-push/SKILL.md +1 -1
  262. package/harness/bundles/java/codex/harness-review/SKILL.md +3 -3
  263. package/harness/bundles/java/codex/harness-review/checklist.md +1 -1
  264. package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
  265. package/harness/bundles/java/codex/harness-submit/checklist.md +1 -1
  266. package/harness/bundles/java/codex/harness-submit/reference.md +1 -1
  267. package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
  268. package/harness/bundles/java/codex/protocols/evidence-based-reporting-protocol.md +1 -1
  269. package/harness/bundles/java/codex/protocols/ledger-protocol.md +8 -8
  270. package/harness/bundles/java/codex/protocols/sensitive-info-protocol.md +2 -2
  271. package/harness/bundles/java/codex/scripts/harness_deploy.py +2 -2
  272. package/harness/bundles/java/codex/scripts/harness_gate.py +1 -1
  273. package/harness/bundles/java/codex/scripts/harness_profile.py +3 -3
  274. package/harness/bundles/java/cursor/.harness-build.json +1 -1
  275. package/harness/bundles/java/cursor/CONTEXT.md +1 -1
  276. package/harness/bundles/java/cursor/README.md +36 -38
  277. package/harness/bundles/java/cursor/contracts/workflow-policy.json +0 -50
  278. package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
  279. package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
  280. package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
  281. package/harness/bundles/java/cursor/harness-codebase-map/templates/TESTING.md +1 -1
  282. package/harness/bundles/java/cursor/harness-execute/SKILL.md +48 -16
  283. package/harness/bundles/java/cursor/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
  284. package/harness/bundles/java/cursor/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
  285. package/harness/bundles/java/cursor/harness-execute/protocols.md +141 -0
  286. package/harness/bundles/java/cursor/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
  287. package/harness/bundles/java/cursor/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +1 -1
  288. package/harness/bundles/java/cursor/harness-execute/testing-pitfalls.md +307 -0
  289. package/harness/bundles/java/cursor/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
  290. package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  291. package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
  292. package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
  293. package/harness/bundles/java/cursor/harness-package/checklist.md +7 -7
  294. package/harness/bundles/java/cursor/harness-plan/SKILL.md +1 -1
  295. package/harness/bundles/java/cursor/harness-plan/checklist.md +1 -1
  296. package/harness/bundles/java/cursor/harness-pull/SKILL.md +1 -1
  297. package/harness/bundles/java/cursor/harness-push/SKILL.md +1 -1
  298. package/harness/bundles/java/cursor/harness-review/SKILL.md +3 -3
  299. package/harness/bundles/java/cursor/harness-review/checklist.md +1 -1
  300. package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
  301. package/harness/bundles/java/cursor/harness-submit/checklist.md +1 -1
  302. package/harness/bundles/java/cursor/harness-submit/reference.md +1 -1
  303. package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
  304. package/harness/bundles/java/cursor/protocols/evidence-based-reporting-protocol.md +1 -1
  305. package/harness/bundles/java/cursor/protocols/ledger-protocol.md +8 -8
  306. package/harness/bundles/java/cursor/protocols/sensitive-info-protocol.md +2 -2
  307. package/harness/bundles/java/cursor/scripts/harness_deploy.py +2 -2
  308. package/harness/bundles/java/cursor/scripts/harness_gate.py +1 -1
  309. package/harness/bundles/java/cursor/scripts/harness_profile.py +3 -3
  310. package/harness/bundles/java/pi/.harness-build.json +1 -1
  311. package/harness/bundles/java/pi/CONTEXT.md +1 -1
  312. package/harness/bundles/java/pi/README.md +36 -38
  313. package/harness/bundles/java/pi/contracts/workflow-policy.json +0 -50
  314. package/harness/bundles/java/pi/harness-apidoc/SKILL.md +1 -1
  315. package/harness/bundles/java/pi/harness-archive/SKILL.md +1 -1
  316. package/harness/bundles/java/pi/harness-codebase-map/SKILL.md +1 -1
  317. package/harness/bundles/java/pi/harness-codebase-map/templates/TESTING.md +1 -1
  318. package/harness/bundles/java/pi/harness-execute/SKILL.md +48 -16
  319. package/harness/bundles/java/pi/harness-execute/coding-checklist.md +252 -0
  320. package/harness/bundles/java/pi/harness-execute/coding-reference.md +820 -0
  321. package/harness/bundles/java/pi/harness-execute/protocols.md +141 -0
  322. package/harness/bundles/java/pi/harness-execute/testing-checklist.md +320 -0
  323. package/harness/bundles/java/pi/harness-execute/testing-pitfalls-java.md +16 -0
  324. package/harness/bundles/java/pi/harness-execute/testing-pitfalls.md +307 -0
  325. package/harness/bundles/java/pi/harness-execute/testing-reference.md +792 -0
  326. package/harness/bundles/java/pi/harness-knowledge-ingest/SKILL.md +1 -1
  327. package/harness/bundles/java/pi/harness-knowledge-query/SKILL.md +1 -1
  328. package/harness/bundles/java/pi/harness-package/SKILL.md +1 -1
  329. package/harness/bundles/java/pi/harness-package/checklist.md +7 -7
  330. package/harness/bundles/java/pi/harness-plan/SKILL.md +1 -1
  331. package/harness/bundles/java/pi/harness-plan/checklist.md +1 -1
  332. package/harness/bundles/java/pi/harness-pull/SKILL.md +1 -1
  333. package/harness/bundles/java/pi/harness-push/SKILL.md +1 -1
  334. package/harness/bundles/java/pi/harness-review/SKILL.md +3 -3
  335. package/harness/bundles/java/pi/harness-review/checklist.md +1 -1
  336. package/harness/bundles/java/pi/harness-submit/SKILL.md +1 -1
  337. package/harness/bundles/java/pi/harness-submit/checklist.md +1 -1
  338. package/harness/bundles/java/pi/harness-submit/reference.md +1 -1
  339. package/harness/bundles/java/pi/harness-sync/SKILL.md +1 -1
  340. package/harness/bundles/java/pi/protocols/evidence-based-reporting-protocol.md +1 -1
  341. package/harness/bundles/java/pi/protocols/ledger-protocol.md +8 -8
  342. package/harness/bundles/java/pi/protocols/sensitive-info-protocol.md +2 -2
  343. package/harness/bundles/java/pi/scripts/harness_deploy.py +2 -2
  344. package/harness/bundles/java/pi/scripts/harness_gate.py +1 -1
  345. package/harness/bundles/java/pi/scripts/harness_profile.py +3 -3
  346. package/harness/manifests/general/claude-code.json +58 -66
  347. package/harness/manifests/general/codebuddy.json +58 -66
  348. package/harness/manifests/general/codex.json +58 -66
  349. package/harness/manifests/general/cursor.json +58 -66
  350. package/harness/manifests/general/pi.json +58 -66
  351. package/harness/manifests/java/claude-code.json +61 -69
  352. package/harness/manifests/java/codebuddy.json +61 -69
  353. package/harness/manifests/java/codex.json +61 -69
  354. package/harness/manifests/java/cursor.json +61 -69
  355. package/harness/manifests/java/pi.json +61 -69
  356. package/hunter-workflow-family.json +2 -2
  357. package/package.json +1 -1
  358. package/harness/bundles/general/claude-code/harness-run/SKILL.md +0 -207
  359. package/harness/bundles/general/claude-code/harness-test/SKILL.md +0 -270
  360. package/harness/bundles/general/codebuddy/harness-run/SKILL.md +0 -188
  361. package/harness/bundles/general/codebuddy/harness-test/SKILL.md +0 -250
  362. package/harness/bundles/general/codex/harness-run/SKILL.md +0 -188
  363. package/harness/bundles/general/codex/harness-test/SKILL.md +0 -250
  364. package/harness/bundles/general/cursor/harness-run/SKILL.md +0 -188
  365. package/harness/bundles/general/cursor/harness-test/SKILL.md +0 -250
  366. package/harness/bundles/general/pi/harness-run/SKILL.md +0 -188
  367. package/harness/bundles/general/pi/harness-run/checklist.md +0 -279
  368. package/harness/bundles/general/pi/harness-run/protocols.md +0 -141
  369. package/harness/bundles/general/pi/harness-run/reference.md +0 -886
  370. package/harness/bundles/general/pi/harness-test/SKILL.md +0 -250
  371. package/harness/bundles/general/pi/harness-test/checklist.md +0 -359
  372. package/harness/bundles/general/pi/harness-test/pitfalls-java.md +0 -14
  373. package/harness/bundles/general/pi/harness-test/pitfalls.md +0 -307
  374. package/harness/bundles/general/pi/harness-test/reference.md +0 -880
  375. package/harness/bundles/java/claude-code/harness-run/SKILL.md +0 -225
  376. package/harness/bundles/java/claude-code/harness-run/protocols.md +0 -141
  377. package/harness/bundles/java/claude-code/harness-test/SKILL.md +0 -284
  378. package/harness/bundles/java/claude-code/harness-test/pitfalls.md +0 -307
  379. package/harness/bundles/java/codebuddy/harness-run/SKILL.md +0 -206
  380. package/harness/bundles/java/codebuddy/harness-run/protocols.md +0 -141
  381. package/harness/bundles/java/codebuddy/harness-test/SKILL.md +0 -264
  382. package/harness/bundles/java/codebuddy/harness-test/pitfalls.md +0 -307
  383. package/harness/bundles/java/codex/harness-run/SKILL.md +0 -206
  384. package/harness/bundles/java/codex/harness-run/protocols.md +0 -141
  385. package/harness/bundles/java/codex/harness-test/SKILL.md +0 -264
  386. package/harness/bundles/java/codex/harness-test/pitfalls.md +0 -307
  387. package/harness/bundles/java/cursor/harness-run/SKILL.md +0 -206
  388. package/harness/bundles/java/cursor/harness-run/protocols.md +0 -141
  389. package/harness/bundles/java/cursor/harness-test/SKILL.md +0 -264
  390. package/harness/bundles/java/cursor/harness-test/pitfalls.md +0 -307
  391. package/harness/bundles/java/pi/harness-run/SKILL.md +0 -206
  392. package/harness/bundles/java/pi/harness-run/checklist.md +0 -252
  393. package/harness/bundles/java/pi/harness-run/protocols.md +0 -141
  394. package/harness/bundles/java/pi/harness-run/reference.md +0 -820
  395. package/harness/bundles/java/pi/harness-test/SKILL.md +0 -264
  396. package/harness/bundles/java/pi/harness-test/checklist.md +0 -320
  397. package/harness/bundles/java/pi/harness-test/pitfalls-java.md +0 -16
  398. package/harness/bundles/java/pi/harness-test/pitfalls.md +0 -307
  399. package/harness/bundles/java/pi/harness-test/reference.md +0 -792
  400. /package/harness/bundles/general/claude-code/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  401. /package/harness/bundles/general/codebuddy/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  402. /package/harness/bundles/general/codex/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  403. /package/harness/bundles/general/cursor/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  404. /package/harness/bundles/general/pi/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  405. /package/harness/bundles/java/claude-code/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  406. /package/harness/bundles/java/codebuddy/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  407. /package/harness/bundles/java/codex/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  408. /package/harness/bundles/java/cursor/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
  409. /package/harness/bundles/java/pi/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
@@ -23,11 +23,11 @@ disallowed-tools:
23
23
  - Bash(node *)
24
24
  - Bash(codegraph *)
25
25
  ---
26
- <!-- generated by harness_deploy.py; core=c74ed00e15a0ea44; overlay=java; agent=claude-code; do not edit -->
26
+ <!-- generated by harness_deploy.py; core=8334c3150a633202; overlay=java; agent=claude-code; do not edit -->
27
27
  # harness-execute — 执行(编码 + 验证)
28
28
 
29
- > 2026-08 阶段合并:原 `run`(编码)与 `test`(验证)合并为单一 `execute` 阶段。
30
- > `/harness-run` 与 `/harness-test` 保留为别名入口,语义与本 skill 相同。
29
+ > 2026-08 阶段合并:原 `run`(编码)与 `test`(验证)合并为单一 `execute` 阶段;
30
+ > 0.4.9(workflow-harness)起 `/harness-run`、`/harness-test` 入口移除,统一由本 skill 承担。
31
31
 
32
32
  ## Purpose
33
33
 
@@ -35,7 +35,7 @@ disallowed-tools:
35
35
 
36
36
  ## When to Use
37
37
 
38
- 仅当用户显式调用 `/harness-execute`(或别名 `/harness-run`、`/harness-test`)时执行;plan 完成后**不自动**进入本阶段。参数:`--subagent` 强制 Subagent-Driven;`--inline` 等同默认;`--fixback` 读最新 review fixback。**默认 Inline,不询问执行模式**。
38
+ 仅当用户显式调用 `/harness-execute` 时执行;plan 完成后**不自动**进入本阶段。参数:`--subagent` 强制 Subagent-Driven;`--inline` 等同默认;`--fixback` 读最新 review fixback。**默认 Inline,不询问执行模式**。
39
39
 
40
40
  **单阶段原则**:execute 关门后必须停止并交还用户,仅提示 `plannedPhases` 中的真实下一阶段;禁止自动开始其他阶段。
41
41
 
@@ -60,7 +60,7 @@ disallowed-tools:
60
60
  **状态与代码分离**:代码/编译/测试在 `worktreeRoot`;`stateDir`(logs/events/ledger/reports)写回 `.harness/changes/<change-name>/`。
61
61
 
62
62
  创建命令与 JSON 模板 → 各 skill `reference.md`(plan 写决策,run 创建/更新)。
63
- > 片段:worktree-gate · 创建命令 → `harness-run/reference.md`
63
+ > 片段:worktree-gate · 创建命令 → `coding-reference.md`
64
64
 
65
65
  ## 统一读取协议
66
66
 
@@ -81,10 +81,10 @@ disallowed-tools:
81
81
  ## Workflow 概要
82
82
 
83
83
  0. 加载上下文:先 `harness_context.py prepare --project . --change <id> --phase execute --executor <tool> --json`(`--project` 必填),再 `harness_context.py begin --project . --change <id> --phase execute --executor <tool> --json` 校验交接,最后运行 **`harness_gate.py begin --phase execute --change <id>`**。旧名 `--phase run` / `--phase test` 仍被接受并归一为 execute。<br>**交接凭证不必手工补**:v2 计划的 `plan finalize` 不写 context 事务,`prepare` 会在检测到 committed 的 `meta/publication-journals/*.json` 时自动补录 `plan → execute` 凭证(凭证带 `bootstrapSource=plan_publication_journal` 留痕)。仍报 `HANDOFF_REQUIRED`/`LEGACY_BOOTSTRAP_REQUIRED` 说明**没有**这份发布证据——回到 plan 阶段确认发布是否真的完成,**不得**自己拼 `classify + configure-plan + close` 造凭证。<br>**Fixback** 不得拼装底层步骤,必须只调用一次 `harness_fixback.py launch-review --project . --change <id> --change-dir <change-dir> --executor <tool> --skills-root <skills-root> --product-identity <当前产品身份> --json`;返回 `FIXBACK_NOTHING_TO_APPLY` 时直接报告并停止。禁止手写 `events.ndjson` / `phase.end`。
84
- 0.5. **测试基础设施探测**与**命令执行模式 preflight** → `harness-test/reference.md`「命令执行模式 preflight」;测试基线已由 gate begin 内部建立,不得再次执行 guard begin
85
- 1. **变更簇 TDD** — `harness-run/protocols.md` `run-tdd-protocol`;批量 RED/GREEN;按需 `change-cluster-review-protocol`
84
+ 0.5. **测试基础设施探测**与**命令执行模式 preflight** → `testing-reference.md`「命令执行模式 preflight」;测试基线已由 gate begin 内部建立,不得再次执行 guard begin
85
+ 1. **变更簇 TDD** — `protocols.md` `run-tdd-protocol`;批量 RED/GREEN;按需 `change-cluster-review-protocol`
86
86
  2. 构建验证 + **仅**通过 `harness_ledger.py record` 写 ledger(禁止 Write/Edit `verification-ledger.json`);profile 缺失或陈旧时先 `harness_preflight.py detect --project . --json`;`record --project . --profile-input <key>` 从同一 target 推导 scope、coverage、规范命令与输入闭包
87
- 3. **验证执行**:单元测试可复用则跳过(`harness_ledger.py can-reuse`);接口测试**强制批量执行器**一次跑完全部场景;数据兼容验证按场景表执行 → `harness-test/reference.md`
87
+ 3. **验证执行**:单元测试可复用则跳过(`harness_ledger.py can-reuse`);接口测试**强制批量执行器**一次跑完全部场景;数据兼容验证按场景表执行 → `testing-reference.md`
88
88
  4. **场景覆盖检查**(场景表映射,禁止用用例数冒充场景数)
89
89
  5. **关门检查**(10 项)→ 只执行一次 `harness_gate.py close`;`--to-phase` 可省略——计划后继唯一(排除 fixback 自环)时自动派生并交接(输出含 `derivedToPhase`)。仅 fixback 回环时显式传 `--to-phase execute`。该命令内部关闭 test guard、写 `phase.end`、释放租约、写 handoff 并补传事件;不得再单独调用 test-guard/context close。失败时按结构化 `recoveryAction` 原样重试,已完成步骤幂等复用。
90
90
 
@@ -98,13 +98,13 @@ disallowed-tools:
98
98
  python <skills-root>/scripts/harness_test_runner.py exec --project . --timeout-seconds <预估上限> -- <构建命令及参数>
99
99
  ```
100
100
 
101
- 资源档位是硬合同(`safe` 默认;`system`/`full` 需用户明确授权或 `--confirm-resource-intensive`);Python `unittest` 必须逐模块隔离模式(`harness_test_runner.py unittest --profile safe --tests-dir <目录>`)。返回 `TEST_RUN_ALREADY_ACTIVE` 说明已有构建在跑:等待或查明持有者,不得绕开锁另起并行构建。完整约束 → `harness-test/checklist.md`「0.0-A 资源安全档位」。
101
+ 资源档位是硬合同(`safe` 默认;`system`/`full` 需用户明确授权或 `--confirm-resource-intensive`);Python `unittest` 必须逐模块隔离模式(`harness_test_runner.py unittest --profile safe --tests-dir <目录>`),并发上限由 runner 注入的 `HARNESS_TEST_MAX_WORKERS` 决定,不得自行提升。返回 `TEST_RUN_ALREADY_ACTIVE` 说明已有构建在跑:等待或查明持有者,不得绕开锁另起并行构建。完整约束 → `testing-checklist.md`「0.0-A 资源安全档位」。
102
102
 
103
103
  **长阶段租约**:`gate begin` 的租约默认 TTL 3600 秒,execute 阶段常常跑得更久。租约过期不会中断执行,**也不再阻断收尾**:`gate close` 发现租约过期而 run-id 仍是本阶段的,会自动用原 run-id 重取并照常关门,只在返回体的 `leaseLapsed` 里记录。不需要定期续租;报 `LEASE_ABSENT`/`LEASE_INVALID` 时先确认 begin 真的跑过,**不要**重跑 `gate begin`。
104
104
 
105
105
  **关门重试是幂等续跑**(0.4.5 workflow 起):租约释放是 close 的最后一个可失败步骤,handoff/monitor/清草稿任一失败时租约仍持有,原样重跑同一命令即可(已完成步骤由 closeTransaction journal 幂等跳过)。万一处于「phase.end 已写 + 租约已放 + 交接未完成」的历史中间态,重跑 close 会自动识别并补跑剩余步骤(`PHASE_CLOSE_RESUMED`):未带 `--to-phase` 时从 plannedPhases 派生唯一后继,后继不唯一才报 `PHASE_HANDOFF_PENDING` 并列出候选。**都不需要手工 `harness_change.py claim`**——LEASE_ABSENT 只在 begin 从未跑过时才该出现。
106
106
 
107
- **接口测试执行器优先级**:接口测试执行器(默认首选)> PowerShell batch `.ps1` > Playwright MCP `browser_evaluate`(仅前两者不可用或用户明确选择)> curl + UTF-8 JSON body file(兜底)。执行器在 PowerShell 可用时**禁止**用 Playwright MCP 逐条执行。→ `harness-test/reference.md`「接口测试工具优先级」
107
+ **接口测试执行器优先级**:接口测试执行器(默认首选)> PowerShell batch `.ps1` > Playwright MCP `browser_evaluate`(仅前两者不可用或用户明确选择)> curl + UTF-8 JSON body file(兜底)。执行器在 PowerShell 可用时**禁止**用 Playwright MCP 逐条执行。→ `testing-reference.md`「接口测试工具优先级」
108
108
 
109
109
  **陈旧测试安全修复**:只有当前生产代码、已批准计划或可验证历史能唯一确定新契约时,才允许仅修改测试并立即重跑,然后记录:
110
110
 
@@ -116,6 +116,28 @@ python <skills-root>/scripts/harness_test_guard.py record --project . --change-d
116
116
 
117
117
  **Foundation Gate**:若 `meta/implementation-checkpoints.json` 中 `foundation-gate` 为 pending,不得开始 plan 中任务 6+;由 `harness_gate.py` 硬阻断。
118
118
 
119
+ ### Java 构建验证(Maven)
120
+
121
+ - 所有 `mvn`/`git` 经 `powershell.exe -NoProfile -Command`;命令读 `.harness/config/build-profile.json` 的 `commands`(v2,按 profile key resolve;**禁止 hardcode 模块名/端口**)
122
+ - 增量编译:`commands.compile`(典型 `mvn compile -pl <module> -o -q`)
123
+ - 变更簇 TDD:多测试类合并一次按 `commands.unitTest` resolve(典型 `mvn test -pl <module> -Dtest=A,B,C -o`);每簇最多一次 RED + 一次 GREEN Maven
124
+ - **轻量 run**:默认只 compile;全量 `mvn test` 仅当改了 mapper/sql/权限/controller/公共模块或用户要求 full-run-validation
125
+ - **install -am**:仅 worktree 首建或上游模块文件变化时(见 ledger-protocol);非每次 run 强制
126
+ - worktree 中确认 `.mvn/maven.config` 等构建配置存在;缺失时从主目录复制
127
+ ### Java 测试环境补充
128
+
129
+ - **preflight 0.1**:写入 `runtime/preflight.json` 的 `executorPath`/`mvnVersion` 等;Maven 可用性 `mvn -version` exit 0
130
+ - **编译门禁**:测试前按 `build-profile.json` 的 `commands.compile`(v2,profile key resolve);输出须含 `BUILD SUCCESS` 或 exit 0 证据
131
+ - **条件 install**:worktree 首建或上游模块变更时按 profile 执行 `commands.install`(非每次强制 `-am`)
132
+ - **单元测试**:可复用 ledger unitTest 则跳过;否则 `commands.unitTest`(典型 `mvn test -pl <module>`);执行模块全量 `commands.unitTestFull` 成功 → 记 `unitTestFull`(scope=module,供 submit 复用)
133
+ - **陈旧测试安全修复**:测试编译明确命中已移除/改名 API 且当前代码与批准计划唯一确定新契约时,只修测试并定向重跑,记录 `stale-test-repair`;有歧义则 `BLOCKED_PREEXISTING`,禁止 `.bak`/删除/禁用/exclude
134
+ - **服务启动**:`build-profile.json` 的 `serviceStartTemplate`(典型 `spring-boot:run` + profile);**禁止 hardcode 端口/模块路径**
135
+ - **Maven 生命周期去重**:单元测试已独立通过后,服务启动命令可配置 `-Dmaven.test.skip=true` 避免重复测试编译;它仅优化启动,不是测试通过证据
136
+ - **服务指纹输入**(Task 3 §5.1):`serviceStart.inputFiles` 必须列出 module 源 glob(如 `["<module>/pom.xml", "<module>/src/main/**/*.java", "<module>/src/main/resources/**"]`);`harness_service.py ensure` 取 CLI `--files` ∪ `inputFiles` 计算 `moduleInputsHash`。**空输入被拒绝**,不得生成可复用空指纹。源码/command/profile/overlayPath 任一变化即 restart
137
+ - **runtime overlay**:`-Dspring.config.additional-location=file:<ascii-abs-path>/application-harness-execute.yml`;禁止默认 Edit tracked `application*.yml`
138
+ - **known-good-test-profile**:profile 名、baseURL、healthUrl 写在 build-profile,非 skill 硬编码
139
+ - **多租户请求头**:header 名/值来自 build-profile 的 `httpHeaders` 配置
140
+ - **Service Gate**:`harness_service.py ensure` 返回 `needs-user-decision`(用户进程占端口)时**才** blocking user confirmation
119
141
  ## P0 执行可信度规则
120
142
 
121
143
  - 命令结果不得靠猜测;普通 Bash 被拒 → 立即改用等价 PowerShell 重试一次
@@ -130,7 +152,7 @@ python <skills-root>/scripts/harness_test_guard.py record --project . --change-d
130
152
 
131
153
  ## 关键规则(硬门禁速查)
132
154
 
133
- > 编码侧细则 → `harness-run/reference.md`、`harness-run/protocols.md`;验证侧细则 → `harness-test/reference.md`、`harness-test/checklist.md`、`harness-test/pitfalls.md`
155
+ > 编码侧细则 → `coding-reference.md`、`protocols.md`;验证侧细则 → `testing-reference.md`、`testing-checklist.md`、`testing-pitfalls.md`
134
156
 
135
157
  | 域 | 要点 |
136
158
  |----|------|
@@ -145,17 +167,27 @@ python <skills-root>/scripts/harness_test_guard.py record --project . --change-d
145
167
  | **租约** | 阶段超 TTL 由 close 自动用原 run-id 重取,无需续租;`LEASE_ABSENT`/`LEASE_INVALID` 才需人工 `harness_change.py claim`,一律不重跑 begin |
146
168
  | **报告** | 区分"产品测试"与"工具维护";API 维度 `OK`/`PARTIAL`/`BLOCKED`/`NOT_RUN`/`FAIL` 五态 |
147
169
 
170
+ ### Java TDD / 数据访问补充
171
+
172
+ | 项 | 规则 |
173
+ |----|------|
174
+ | **低价值豁免** | ErrorCode 常量、VO/DTO 字段、注释、import 清理、格式化、SQL 脚本、配置模板、文档 — 不单独建测试类;禁止为单个错误码单独跑 Maven |
175
+ | **Mapper / LambdaQueryWrapper / SQL** | 纯 Mock 返回值**不得**宣称 DB 验证通过 → 🟡 静态验证,交 harness-execute 真实 DB |
176
+ | **行为性新分支** | 正则/条件/分支逻辑变更新增分支须 RED→GREEN;不属于低价值豁免 |
177
+ | **ledger** | compile 必写;执行了 test 写 unitTest,否则 `NOT_RUN_BY_RUN`;diffHash 用 `harness_ledger.py diff-hash --change-dir`(见 reference) |
178
+ | **陈旧 Java 测试** | `cannot find symbol`/mapper 方法改名/DTO 字段迁移只有在当前接口和批准计划唯一确定替代契约时才允许只改测试;修复后定向 `mvn test -Dtest=<class>`,再跑目标测试并记录 `stale-test-repair` |
179
+ | **禁止规避** | 禁止把 `*Test.java` 改成 `.bak`、删除、`@Disabled`/`@Ignore`、Surefire exclude 或以 `-DskipTests` 充当 GREEN |
148
180
  ## Output Format
149
181
 
150
182
  变更文件表 + 构建/测试证据 + 场景覆盖摘要 + 最终状态(✅OK / 🟡WARN / ❌FAIL)。测试报告保存到 `.harness/changes/<change-name>/reports/test/test-report-YYYYMMDD-HHmm.md`。
151
183
 
152
184
  ## 渐进披露
153
185
 
154
- - **Read `harness-run/protocols.md`** — run-tdd + change-cluster-review
155
- - **Read `harness-run/reference.md`** — Step 0–5 细节、TDD/RED/ledger/迁移/安全矩阵
156
- - **Read `harness-test/checklist.md`** — 验证前各项强制检查、preflight、服务生命周期清单
157
- - **Read `harness-test/reference.md`** — API 测试执行方法、执行器模板、运行时配置叠加
158
- - **Read `harness-test/pitfalls.md`** — 测试踩坑规则
186
+ - **Read `protocols.md`** — run-tdd + change-cluster-review
187
+ - **Read `coding-reference.md`** — Step 0–5 细节、TDD/RED/ledger/迁移/安全矩阵
188
+ - **Read `testing-checklist.md`** — 验证前各项强制检查、preflight、服务生命周期清单
189
+ - **Read `testing-reference.md`** — API 测试执行方法、执行器模板、运行时配置叠加
190
+ - **Read `testing-pitfalls.md`** — 测试踩坑规则
159
191
 
160
192
  ## 交互白名单
161
193
 
@@ -1,4 +1,4 @@
1
- # harness-run 执行检查清单
1
+ # harness-execute 执行检查清单
2
2
 
3
3
  > 编码执行时逐项勾选,确保不遗漏关键步骤。
4
4
 
@@ -105,7 +105,7 @@
105
105
  ### Mapper 查询条件验证检查
106
106
 
107
107
  - [ ] 如果变更涉及 Mapper 查询条件 / LambdaQueryWrapper / SQL/XML → 不得用纯 Mock 宣称"自动化测试通过"
108
- - [ ] 纯 Mock Mapper 测试 → 标记为 🟡静态验证,交给 harness-test 真实 DB 验证
108
+ - [ ] 纯 Mock Mapper 测试 → 标记为 🟡静态验证,交给 harness-execute 真实 DB 验证
109
109
  - [ ] 如果必须自动化 → 使用真实 mapper 或可检查 wrapper 条件的测试方式
110
110
 
111
111
  ### GREEN(最简实现 — 按变更簇批量实现)
@@ -133,7 +133,7 @@
133
133
  - [ ] 如果使用 `-q` quiet 模式 → 报告中写 `exitCode=0`,**不得写 BUILD SUCCESS**
134
134
  - [ ] 最终 compile 只执行一次,如果前面已有 compile 成功证据,可复用 verification-ledger
135
135
  - [ ] 判断是否需要全量 `mvn test`:改了公共模块/mapper/sql/权限认证/controller/VO,或用户要求 full-run-validation → 执行 `mvn test -pl <module> -o`;否则跳过全量 test
136
- - [ ] 编译失败 → 先分析错误类型(见 reference.md 编译失败策略表)
136
+ - [ ] 编译失败 → 先分析错误类型(见 coding-reference.md 编译失败策略表)
137
137
  - [ ] **写入 verification-ledger.json**:`compile` 项必写(status/command/scope/evidence/时间戳/durationMs);若执行了 mvn test 则 `unitTest` 项必写(testsRun/failures/errors/skipped/evidence);未执行时标记 `NOT_RUN_BY_RUN`
138
138
  - [ ] 顶层写入 `diffHash` / `currentHead` / `baseCommit` / `module` / `profile`;`diffHash` **必须用三部分合并命令**(inline 见 reference 步骤 2c,与 ledger-protocol 五一致),**禁止仅用 `git diff` 未提交**;`currentHead`=`git rev-parse HEAD`
139
139
  - [ ] test/submit/package 阶段如果 diffHash 一致,可复用 run 的 compile/unitTest 结果
@@ -153,7 +153,7 @@
153
153
 
154
154
  > 凡是修改了管理员/非管理员、orgCode、数据权限、越权异常等逻辑,必须强制生成。
155
155
 
156
- - [ ] 生成安全矩阵(模板见 reference.md)
156
+ - [ ] 生成安全矩阵(模板见 coding-reference.md)
157
157
  - [ ] 覆盖:超级管理员 token 空/非空 × 请求 orgCode 空/指定 × projectType 有/无
158
158
  - [ ] 覆盖:非管理员 token 本组织/空 × 请求 orgCode 本组织/其他组织/空 × projectType 有/无
159
159
  - [ ] 如果任一权限边界预期不明确 → 不允许标记 ✅OK
@@ -208,13 +208,13 @@
208
208
 
209
209
  - [ ] 每个任务状态更新到 plan 文件或新增 `run-task-status.md`
210
210
  - [ ] 状态区分:✅ DONE_AUTOMATED_TESTED / 🟡 DONE_STATIC_ONLY / 🟡 DONE_NEEDS_INTERFACE_TEST / 🟡 NEEDS_DB_VALIDATION / ❌ FAILED
211
- - [ ] 确保后续 harness-test / harness-review 可读取待验证场景
211
+ - [ ] 确保后续 harness-execute / harness-review 可读取待验证场景
212
212
 
213
213
  ## 执行日志完成记录
214
214
 
215
215
  - [ ] 追加结束时间、耗时、结果、摘要、checkpoint commit 状态
216
216
  - [ ] **执行日志去重检查**:同一阶段不重复追加小节,如需补充应 Edit 原小节
217
- - [ ] 如果存在 🟡静态验证 P0 场景 → 下一步必须写 `必须先运行 /harness-test`,不得并列"提交代码"
217
+ - [ ] 如果存在 🟡静态验证 P0 场景 → 下一步必须写 `必须先运行 /harness-execute`,不得并列"提交代码"
218
218
  - [ ] 如果存在 SQL 迁移/DB 验证未完成 → 最终不得输出纯 ✅OK
219
219
 
220
220
  ### 最终状态分级
@@ -1,8 +1,8 @@
1
1
  ---
2
- description: harness-run 的编译失败策略表、TDD循环详细步骤和编码约束。仅在编码执行遇到编译问题或需要参考详细规则时读取。
2
+ description: harness-execute 的编译失败策略表、TDD循环详细步骤和编码约束。仅在编码执行遇到编译问题或需要参考详细规则时读取。
3
3
  ---
4
4
 
5
- # harness-run 参考 — 详细规则
5
+ # harness-execute 参考 — 详细规则
6
6
 
7
7
  ## 为什么走变更簇 TDD 而不是逐任务 TDD
8
8
 
@@ -30,7 +30,7 @@ description: harness-run 的编译失败策略表、TDD循环详细步骤和编
30
30
 
31
31
  ## Worktree 创建与切换详细规则
32
32
 
33
- `harness-run` 必须把 `worktree.json` 当作唯一决策源。
33
+ `harness-execute` 必须把 `worktree.json` 当作唯一决策源。
34
34
 
35
35
  ### 状态机
36
36
 
@@ -163,7 +163,7 @@ powershell.exe -Command "mvn test -pl <module> -o -q"
163
163
  从场景表选取对应当前变更簇的测试用例:
164
164
 
165
165
  - **单元测试**(优先):JUnit 5 + Mockito,命名 `{方法名}_{场景}_{预期结果}()`,用 AssertJ `assertThat`
166
- - **接口测试**(必要时代码逻辑已覆盖即可,实际 HTTP 调用留给 `harness-test`)
166
+ - **接口测试**(必要时代码逻辑已覆盖即可,实际 HTTP 调用留给 `harness-execute`)
167
167
  - **多个测试类合并到一次 Maven 命令执行**:`mvn test -pl <module> -Dtest=TestA,TestB,TestC -o`
168
168
 
169
169
  ### RED 有效性判定(⚠️ 必须逐项确认)
@@ -226,7 +226,7 @@ RED 不是"测试失败"即可通过,必须确认失败原因与目标 bug/需
226
226
  | 注释 | compile 验证 | 不影响运行时行为 |
227
227
  | import 清理 | compile 验证 | 不影响运行时行为 |
228
228
  | 格式化 | compile 验证 | 不影响运行时行为 |
229
- | SQL 迁移脚本 | 静态审查 + harness-test DB 验证 | 不做 TDD,生成审查清单 |
229
+ | SQL 迁移脚本 | 静态审查 + harness-execute DB 验证 | 不做 TDD,生成审查清单 |
230
230
  | 配置模板 | 静态审查 | 部署时生效 |
231
231
  | 文档文件 | 静态审查 | 不涉及代码 |
232
232
 
@@ -264,7 +264,7 @@ Mapper 查询条件、LambdaQueryWrapper、SQL/XML 查询逻辑,**不得通过
264
264
  | 是否可通过 mockStatic 构造? | 是/否 |
265
265
  | 是否可写轻量集成测试? | 是/否 |
266
266
  | 跳过自动化测试的具体阻塞点 | ... |
267
- | 后续必须由哪个阶段验证 | harness-test / 手工接口 / 部署验证 |
267
+ | 后续必须由哪个阶段验证 | harness-execute / 手工接口 / 部署验证 |
268
268
 
269
269
  如果只是"配置麻烦"或"mock 复杂",不得直接跳过。对 DTO 字段、分页返回、权限过滤、组织过滤等用户可见行为,必须优先写公共行为测试。
270
270
 
@@ -285,9 +285,9 @@ Mapper 查询条件、LambdaQueryWrapper、SQL/XML 查询逻辑,**不得通过
285
285
  5. 输出必须明确写成:
286
286
  - "🟡 静态逻辑验证通过"
287
287
  - "未执行真实单元测试"
288
- - "待测试基础设施补齐后运行 harness-test"
288
+ - "待测试基础设施补齐后运行 harness-execute"
289
289
  6. **禁止写成**:"测试全部通过"、"测试通过 N/N"、"覆盖率 100%"等含暗示真实测试已运行的表述
290
- 7. 提示用户在测试基础设施就绪后补充运行 `harness-test`
290
+ 7. 提示用户在测试基础设施就绪后补充运行 `harness-execute`
291
291
 
292
292
  ## GREEN:最简实现
293
293
 
@@ -340,7 +340,7 @@ GREEN 阶段完成后,对照以下反模式清单自检:
340
340
 
341
341
  ## Maven 批量验证策略
342
342
 
343
- harness-run 必须减少 Maven 启动次数。
343
+ harness-execute 必须减少 Maven 启动次数。
344
344
 
345
345
  **默认策略**:
346
346
  1. 每个变更簇最多执行一次 RED Maven、一次 GREEN Maven
@@ -373,7 +373,7 @@ TestA+TestB+TestC RED → 实现相关代码 → TestA+TestB+TestC GREEN → 最
373
373
 
374
374
  ## 预存变更隔离
375
375
 
376
- 如果 harness-run 开始时检测到已有未提交变更,并且用户选择保留,必须创建 baseline。
376
+ 如果 harness-execute 开始时检测到已有未提交变更,并且用户选择保留,必须创建 baseline。
377
377
 
378
378
  ### baseline 文件
379
379
 
@@ -448,7 +448,7 @@ SQL 相关任务状态:🟡 NEEDS_DB_VALIDATION,**不得标记为完全自
448
448
  - 无 P0 静态-only 场景
449
449
 
450
450
  ### 🟡WARN
451
- - 存在 P0/P1 场景仅静态验证,需 harness-test
451
+ - 存在 P0/P1 场景仅静态验证,需 harness-execute
452
452
  - 存在预存变更
453
453
  - SQL 脚本需要人工执行或 DB 验证
454
454
  - Mapper/SQL 查询只做静态验证
@@ -463,11 +463,11 @@ SQL 相关任务状态:🟡 NEEDS_DB_VALIDATION,**不得标记为完全自
463
463
  - git diff --check 失败
464
464
 
465
465
  如果存在 SQL 迁移、接口验证、DB 验证未完成,最终不得输出纯 ✅OK,应输出:
466
- 🟡WARN:编码完成,需 harness-test 验证剩余 DB/API 场景。
466
+ 🟡WARN:编码完成,需 harness-execute 验证剩余 DB/API 场景。
467
467
 
468
468
  ## 步骤 2:编译验证(默认轻量,按需全量 test)
469
469
 
470
- > **轻量验证职责**:`/harness-run` 默认只做开发反馈,不默认跑全量 `mvn test`。是否跑全量 test 按下方条件判断。
470
+ > **轻量验证职责**:`/harness-execute` 默认只做开发反馈,不默认跑全量 `mvn test`。是否跑全量 test 按下方条件判断。
471
471
 
472
472
  ### 2a. 编译验证(始终执行)
473
473
 
@@ -478,14 +478,14 @@ powershell.exe -Command "mvn compile -pl <module> -o"
478
478
 
479
479
  ### 2b. 全量 mvn test(仅当满足触发条件时执行)
480
480
 
481
- 默认**跳过**全量 `mvn test`,把完整单元测试留给 `/harness-test`。仅当满足以下任一条件时才在本阶段执行 `mvn test -pl <module> -o`:
481
+ 默认**跳过**全量 `mvn test`,把完整单元测试留给 `/harness-execute`。仅当满足以下任一条件时才在本阶段执行 `mvn test -pl <module> -o`:
482
482
 
483
483
  - 修改了公共模块(被多模块依赖的 common/utils 等)
484
484
  - 修改了 mapper / sql / xml
485
485
  - 修改了权限 / 认证 / 组织过滤逻辑
486
486
  - 修改了 controller / VO / DTO
487
487
  - 用户要求 `full-run-validation`
488
- - 用户不打算继续运行 `/harness-test`(run 需自证 P0 场景)
488
+ - 用户不打算继续运行 `/harness-execute`(run 需自证 P0 场景)
489
489
 
490
490
  ```powershell
491
491
  powershell.exe -Command "mvn test -pl <module> -o"
@@ -504,11 +504,11 @@ powershell.exe -Command "mvn test -pl <module> -o"
504
504
  步骤 2 完成后**必须**写入/更新 `通过共享状态目录解析器定位的 evidence/verification-ledger.json`:
505
505
 
506
506
  - `compile` 项:始终写入(status / command / scope / evidence / 时间戳 / durationMs)
507
- - `unitTest` 项:仅当 2b 执行了全量 mvn test 时写入(testsRun / failures / errors / skipped / evidence);未执行时标记 `{"status": "NOT_RUN_BY_RUN", "note": "轻量验证,全量单元测试由 harness-test 执行"}`
507
+ - `unitTest` 项:仅当 2b 执行了全量 mvn test 时写入(testsRun / failures / errors / skipped / evidence);未执行时标记 `{"status": "NOT_RUN_BY_RUN", "note": "轻量验证,全量单元测试由 harness-execute 执行"}`
508
508
  - 顶层写入 `diffHash` / `currentHead` / `baseCommit` / `module` / `profile`
509
509
  - `baseCommit`:merge-base 或计划起点(worktree 分支从主分支分出点,由 harness-plan 写入、run 读取复用;缺失时用 `git merge-base HEAD <默认分支>` 兜底)
510
510
  - `currentHead`:`git rev-parse HEAD`(步骤 2c 在 Step 5 checkpoint commit 之前执行,此时 HEAD==baseCommit;commit 后 HEAD 前移到 checkpoint commit,由 ledger-protocol reuse 规则 #2「currentHead 可前移」容忍,**不需为它改时序**)
511
- - `diffHash`:**必须用 ledger-protocol「五、真实 diffHash」的 commit-invariant 三部分合并命令**(与 harness-test 重算命令逐字一致),**禁止仅用 `git diff`(未提交)**。命令如下(经 `Bash(powershell.exe:*)` 通道时外层用单引号防 `$base` 展开,见 ledger-protocol 五):
511
+ - `diffHash`:**必须用 ledger-protocol「五、真实 diffHash」的 commit-invariant 三部分合并命令**(与 harness-execute 重算命令逐字一致),**禁止仅用 `git diff`(未提交)**。命令如下(经 `Bash(powershell.exe:*)` 通道时外层用单引号防 `$base` 展开,见 ledger-protocol 五):
512
512
 
513
513
  ```powershell
514
514
  powershell.exe -NoProfile -Command "$base = '<baseCommit>'; $patch = '.harness/changes/<change>/runtime/current-diff.patch'; & { git diff $base HEAD --binary; git diff --binary; git ls-files --others --exclude-standard | ForEach-Object { Get-Content -Raw -LiteralPath $_ } } | Out-File -Encoding utf8 $patch; (Get-FileHash $patch -Algorithm SHA256).Hash"
@@ -522,11 +522,11 @@ powershell.exe -NoProfile -Command "$base = '<baseCommit>'; $patch = '.harness/c
522
522
  >
523
523
  > 无论 commit 前后、无论工作树是否 clean,**必须**用三部分合并命令。"commit 后 clean 致单部分偶然等价"不得作为省略三部分的依据——时序或工作树状态一旦变化即复现复用链断裂。
524
524
 
525
- > 这样 harness-test 的 Phase 1 可读取 ledger 判断是否复用 run 的 unitTest(diffHash commit-invariant + reuse 规则 #2 允许 HEAD 前移 → run 的 checkpoint commit 不破坏复用),submit/package 也可复用 compile 结果。详见 `../protocols/ledger-protocol.md`。
525
+ > 这样 harness-execute 的 Phase 1 可读取 ledger 判断是否复用 run 的 unitTest(diffHash commit-invariant + reuse 规则 #2 允许 HEAD 前移 → run 的 checkpoint commit 不破坏复用),submit/package 也可复用 compile 结果。详见 `../protocols/ledger-protocol.md`。
526
526
 
527
527
  ## 步骤 3.5:权限/组织过滤类变更 — 安全矩阵
528
528
 
529
- > 凡是修改了以下逻辑,必须强制生成安全矩阵。如果任一权限边界的预期不明确,不允许标记 harness-run 为 ✅OK。
529
+ > 凡是修改了以下逻辑,必须强制生成安全矩阵。如果任一权限边界的预期不明确,不允许标记 harness-execute 为 ✅OK。
530
530
 
531
531
  ### 触发条件
532
532
 
@@ -558,7 +558,7 @@ powershell.exe -NoProfile -Command "$base = '<baseCommit>'; $patch = '.harness/c
558
558
 
559
559
  ### 判定规则
560
560
 
561
- - 如果任一权限边界的预期不明确(如"非管理员+token空+指定组织"场景未明确是拒绝还是允许),则必须标记为 ❌未验证,且不允许标记 harness-run 为 ✅OK
561
+ - 如果任一权限边界的预期不明确(如"非管理员+token空+指定组织"场景未明确是拒绝还是允许),则必须标记为 ❌未验证,且不允许标记 harness-execute 为 ✅OK
562
562
  - 每个场景的覆盖状态必须真实标注:✅ 自动化测试通过 / 🟡 静态检查未真实测试 / ❌ 未验证
563
563
  - 安全矩阵必须写入执行日志
564
564
 
@@ -648,7 +648,7 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
648
648
 
649
649
  ## 步骤 5:计划状态持久化
650
650
 
651
- 如果 `.harness/changes/<change>/plans/*.md` 是任务来源,则 harness-run 完成任务后必须持久化任务状态。
651
+ 如果 `.harness/changes/<change>/plans/*.md` 是任务来源,则 harness-execute 完成任务后必须持久化任务状态。
652
652
 
653
653
  ### 持久化方式
654
654
 
@@ -673,12 +673,12 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
673
673
  | 任务 | 状态 | 测试场景 | 待验证 |
674
674
  |------|------|----------|--------|
675
675
  | Task 1 | ✅ DONE_AUTOMATED_TESTED | UT-001~005 | - |
676
- | Task 2 | 🟡 DONE_STATIC_ONLY | UT-006~010 | harness-test |
677
- | Task 3 | 🟡 DONE_NEEDS_INTERFACE_TEST | API-001~003 | harness-test |
676
+ | Task 2 | 🟡 DONE_STATIC_ONLY | UT-006~010 | harness-execute |
677
+ | Task 3 | 🟡 DONE_NEEDS_INTERFACE_TEST | API-001~003 | harness-execute |
678
678
 
679
679
  ## 待验证场景汇总
680
- - UT-006~010: 静态验证通过,需 harness-test 接口验证
681
- - API-001~003: 接口逻辑已覆盖,需 harness-test 真实 HTTP 验证
680
+ - UT-006~010: 静态验证通过,需 harness-execute 接口验证
681
+ - API-001~003: 接口逻辑已覆盖,需 harness-execute 真实 HTTP 验证
682
682
  ```
683
683
 
684
684
  ### 状态定义
@@ -691,7 +691,7 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
691
691
  ### 规则
692
692
 
693
693
  - 不允许只在对话里说"任务完成"但不写入任何持久化文件
694
- - 后续 harness-test 和 harness-review 必须能从持久化状态识别哪些场景仍待验证
694
+ - 后续 harness-execute 和 harness-review 必须能从持久化状态识别哪些场景仍待验证
695
695
 
696
696
  ## 步骤 3:场景覆盖检查
697
697
 
@@ -704,7 +704,7 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
704
704
  ### 静态验证不等于测试覆盖(⚠️ 关键规则)
705
705
 
706
706
  1. 🟡 静态检查 **不得计入"已测试通过"**
707
- 2. 如果任一 P0 场景仅静态验证,则 harness-run 最终结果必须是:
707
+ 2. 如果任一 P0 场景仅静态验证,则 harness-execute 最终结果必须是:
708
708
  `🟡WARN:编码和编译完成,但存在 P0 场景未真实验证`
709
709
  3. 只有所有 P0 场景都有自动化测试或真实接口验证时,最终结果才能是:
710
710
  `✅OK成功`
@@ -714,16 +714,16 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
714
714
  自动化测试通过: 5
715
715
  静态检查未真实验证: 17
716
716
  未验证: 0
717
- harness-run 结果: 🟡WARN,必须进入 harness-test 后才能 submit
717
+ harness-execute 结果: 🟡WARN,必须进入 harness-execute 后才能 submit
718
718
  ```
719
719
 
720
720
  > 展示格式示例:
721
721
  > ```
722
722
  > ### 场景覆盖检查
723
723
  > - ✅ UT-001~005: getEnabledIndicators 正常/异常/边界场景已测试通过
724
- > - 🟡 UT-006~010: getIndicatorPage 分页场景静态验证通过,待测试基础设施补齐后运行 harness-test
724
+ > - 🟡 UT-006~010: getIndicatorPage 分页场景静态验证通过,待测试基础设施补齐后运行 harness-execute
725
725
  > - ❌ UT-011~015: getIndicatorByCode 场景未覆盖,需补充测试用例
726
- > - ✅ API-001~005: enabled 接口场景代码逻辑已覆盖(接口测试待 harness-test 验证)
726
+ > - ✅ API-001~005: enabled 接口场景代码逻辑已覆盖(接口测试待 harness-execute 验证)
727
727
  > - ✅ COM-001~005: SQL 迁移脚本覆盖
728
728
  > - 🟡 INT-001~004: 需端到端部署验证
729
729
  > ```
@@ -733,7 +733,7 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
733
733
  > 自动化测试通过: 5
734
734
  > 静态检查未真实验证: 17
735
735
  > 未验证: 0
736
- > harness-run 结果: 🟡WARN,必须进入 harness-test 后才能 submit
736
+ > harness-execute 结果: 🟡WARN,必须进入 harness-execute 后才能 submit
737
737
  > ```
738
738
 
739
739
  ## 输出示例
@@ -755,7 +755,7 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
755
755
  - 自动化测试通过: K
756
756
  - 静态检查未真实验证: M
757
757
  - 未验证: P
758
- - harness-run 结果: ✅OK成功 / 🟡WARN,必须进入 harness-test 后才能 submit
758
+ - harness-execute 结果: ✅OK成功 / 🟡WARN,必须进入 harness-execute 后才能 submit
759
759
 
760
760
  ### 关门检查结果
761
761
  - git status --porcelain: ✅/❌
@@ -773,10 +773,10 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
773
773
  - 状态已写入: `.harness/changes/<change-name>/run-task-status.md`
774
774
 
775
775
  ### 下一步
776
- > ⚠️ 如果存在 P0 场景为 🟡静态验证,下一步必须且只能是 harness-test
776
+ > ⚠️ 如果存在 P0 场景为 🟡静态验证,下一步必须且只能是 harness-execute
777
777
 
778
- 运行 `/harness-test` 验证剩余 P0 场景。
779
- 在 harness-test 通过前,不建议也不应进入 `/harness-submit`。
778
+ 运行 `/harness-execute` 验证剩余 P0 场景。
779
+ 在 harness-execute 通过前,不建议也不应进入 `/harness-submit`。
780
780
  ```
781
781
 
782
782
  ## 关键原则
@@ -792,7 +792,7 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
792
792
 
793
793
  ## 执行日志记录
794
794
 
795
- `/harness-run` 只向 `events.ndjson` 追加事件(schema_version 3,兼容读取 v1/v2);`logs/execution-log.md` 由 `harness_events.py append` 自动渲染。步骤 0 之前 append `phase.start`;各阶段写入 `command` / `verification` / `decision` / `issue`,人类可读摘要放 `note`。详见 [[../../protocols/report-pipeline-protocol.md|report-pipeline-protocol]] 与 core `harness-run/SKILL.md`。
795
+ `/harness-execute` 只向 `events.ndjson` 追加事件(schema_version 3,兼容读取 v1/v2);`logs/execution-log.md` 由 `harness_events.py append` 自动渲染。步骤 0 之前 append `phase.start`;各阶段写入 `command` / `verification` / `decision` / `issue`,人类可读摘要放 `note`。详见 [[../../protocols/report-pipeline-protocol.md|report-pipeline-protocol]] 与 core `harness-execute/SKILL.md`。
796
796
 
797
797
  ## verification-ledger 可复用判定
798
798
 
@@ -810,7 +810,7 @@ powershell.exe -Command "git -C '<project-path>' diff --check"
810
810
 
811
811
  ## Mapper @Select / JOIN / IPage 真实验证要求
812
812
 
813
- `@Select`、JOIN、DISTINCT、IPage 分页、SQL/XML 变更在 run 阶段只能标记 🟡DONE_STATIC_ONLY,必须交给 harness-test 真实 DB/API 验证:
813
+ `@Select`、JOIN、DISTINCT、IPage 分页、SQL/XML 变更在 run 阶段只能标记 🟡DONE_STATIC_ONLY,必须交给 harness-execute 真实 DB/API 验证:
814
814
 
815
815
  - SQL 可执行;
816
816
  - total 正确;
@@ -0,0 +1,141 @@
1
+ ---
2
+ description: harness-execute 的原生执行协议。内化 TDD 与变更簇审查能力,但不运行时依赖 Superpowers。
3
+ ---
4
+
5
+ # harness-execute 原生执行协议
6
+
7
+ 本文件定义 `/harness-execute` 的内置执行协议。它吸收 test-driven-development 与 subagent-driven-development 的有效做法,但正式流程不调用 Superpowers,也不把外部 skill 是否存在作为执行条件。
8
+
9
+ ## 协议一:run-tdd-protocol
10
+
11
+ 用于每个变更簇。目标是保留 RED→GREEN→REFACTOR 的行为约束,同时允许 harness 按证据分级处理缺失测试基础设施的现实情况。
12
+
13
+ ### RED 三态
14
+
15
+ | RED 类型 | 何时使用 | 证据要求 |
16
+ |----------|----------|----------|
17
+ | 真实 RED | 测试基础设施可用,能写测试并运行失败 | 测试编译通过,失败断言指向目标行为 |
18
+ | 静态 RED | 测试基础设施不可用或目标层无法真实验证 | 记录降级原因、静态验证场景、待 harness-execute 验证场景 |
19
+ | 复用 RED | 计划和测试场景已明确失败场景,且本轮只执行同一场景的实现 | 引用 test-scenarios 编号与前序证据,仍需在 run 日志登记 |
20
+
21
+ RED 失败原因必须与目标 bug 或需求直接相关。无效 RED(测试搭建错误、private 访问限制、mock/stubbing 错误、依赖注入失败、NPE 来自测试夹具)不得进入 GREEN。
22
+
23
+ ### GREEN
24
+
25
+ GREEN 只做让当前变更簇通过的最小实现。不得顺手处理无关重构、顺手扩范围、或把未确认业务决策写入代码。
26
+
27
+ ### REFACTOR
28
+
29
+ REFACTOR 只允许不改变行为的整理。若重构改变行为,必须回到 RED/GREEN。重构后重新运行当前变更簇对应验证;若无法运行真实测试,必须更新静态验证说明。
30
+
31
+ ### 证据写入
32
+
33
+ 每个变更簇结束必须写入或更新:
34
+
35
+ - `evidence/verification-ledger.json`:构建/测试命令、证据、diffHash、复用状态。
36
+ - `evidence/run-task-status.md`:任务状态、对应场景、未验证项。
37
+ - `events.ndjson`:关键 command / verification / issue / artifact 事件;RED 类型、GREEN 结果、REFACTOR 结果和验证证据放入事件 `note`。
38
+
39
+ 执行日志是上述事件在阶段边界生成的只读投影,不作为变更簇的直接输出目标。
40
+
41
+ 禁止把静态验证写成“测试通过”。静态 RED/GREEN 的最终状态至少是 🟡WARN,除非后续真实验证已完成。
42
+
43
+ 上述分级只评估 `ownerPhase=run` 的任务和场景。`ownerPhase=test` 的验证按计划留给测试阶段时,记录为“待测试阶段执行”,不得将编码阶段降级为 WARN;后续阶段未开始不是当前阶段的风险。
44
+
45
+ ## 协议二:change-cluster-review-protocol
46
+
47
+ 用于高风险变更簇后的轻量审查。它内化 subagent-driven-development 的“新上下文审查”价值,但不把每个变更簇的 subagent 审查设为默认流程。
48
+
49
+ ### 触发条件
50
+
51
+ 满足**全部**条件时启用:
52
+
53
+ - 变更簇命中高风险(数据迁移、权限、安全、并发、幂等、核心契约变更、缺真实测试证据等,见原触发列表任一)
54
+ - 当前宿主已显式提供隔离 reviewer 能力;需要固定 reviewer 时,单次 `check-agents` 返回 `executionMode=delegated`
55
+
56
+ 未满足时记录“跳过变更簇隔离审查:低风险 / 正常 inline / 后续 harness-review 覆盖”,不得视为降级或显示不可用告警。
57
+
58
+ ### 审查方式
59
+
60
+ `executionMode=delegated` 时委派只读 `harness-reviewer` 审查当前变更簇 diff。**不 retry**;spawn 失败或无效返回 → 主会话 checklist 自审,记一次 `issue` 事件。
61
+
62
+ 审查范围只限当前变更簇:
63
+
64
+ - 是否偏离 plan / implementation-detail。
65
+ - 是否遗漏 test-scenarios 中的 P0/P1 场景。
66
+ - 是否破坏 API、数据、权限、安全或兼容契约。
67
+ - 是否引入非计划文件、临时 debug、敏感信息或过程性注释。
68
+
69
+ ### 输出
70
+
71
+ 审查结论写入当前 run 日志:
72
+
73
+ ```markdown
74
+ ### 变更簇审查 — <cluster>
75
+ - 触发原因: <risk trigger>
76
+ - 方式: reviewer / 主会话自审 / 跳过
77
+ - 结论: OK / YELLOW / RED
78
+ - 问题: <文件:行 + 建议>
79
+ ```
80
+
81
+ RED 问题必须在当前 run 中处理或明确记录为未处理风险;YELLOW 问题可交给后续 `/harness-review`。
82
+
83
+ ## fixback 证据契约
84
+
85
+ > `launch-review` 的返回体里带 `evidenceContract` 字段,内容与本节一致。这里写一份是因为
86
+ > 光靠运行时返回,调用方往往已经动手改代码了才看到。
87
+
88
+ ### 命令链
89
+
90
+ ```text
91
+ run-start(修复前,采 RED)→ 改代码 → run-start(修复后,采 GREEN)
92
+ → evidence-template ×2 → register-evidence ×2 → resolve-issue
93
+ → run-start(受影响链)→ evidence-template --kind verification
94
+ → evidence-template --kind review → close
95
+ ```
96
+
97
+ ### 别手写证据 JSON
98
+
99
+ 证据文件的 `provenance` 需要 `sessionId` / `commandHash` / `resultDigest` / `runReceiptPath`
100
+ 四个字段,全部能从 `session.json` 直接读出来。用模板生成,不要手抄:
101
+
102
+ ```text
103
+ python <skills-root>/scripts/harness_fixback.py evidence-template \
104
+ --change-dir <change-dir> --kind red|green|verification|review \
105
+ --session <sessionId> --out <证据 JSON 路径> --json
106
+ ```
107
+
108
+ 输出即可直接喂给 `register-evidence`。撞 `FIXBACK_RUN_PROVENANCE_INVALID` 时,错误体会点名
109
+ **哪个字段、期望什么、实际什么**——按它改,不要去读实现反推。
110
+
111
+ ### `--product-identity`
112
+
113
+ 产品身份指纹,把 RED/GREEN 绑定到同一产品状态。规范取值是**当前 git HEAD**。省略即自动推导,
114
+ `launch-review` 会在返回体的 `resolvedProductIdentity` 里回显;`close --final-product-identity`
115
+ **原样引用那个值**,不要另行推导——推导方式不同就会撞 `FIXBACK_GREEN_IDENTITY_MISMATCH`。
116
+
117
+ ### RED 必须在修复之前
118
+
119
+ RED 证明问题真实存在,GREEN 证明修复真的生效。先改完再把改动回退来凑 RED,证明的只是回退后的
120
+ 状态,不是原始缺陷,中途还会留下脏工作树。
121
+
122
+ ### close 的两张收据与 review-findings.json
123
+
124
+ `close` 要 `--affected-receipt`(`kind=verification`,受影响链的托管会话)和 `--review-receipt`
125
+ (`kind=review`,指向 `reports/review/review-findings.json`)。
126
+
127
+ review 收据的放行规则按 **disposition**,不按 severity:
128
+
129
+ | disposition | 是否阻塞 | 说明 |
130
+ |---|---|---|
131
+ | `OPEN` / 未登记 | ❌ 阻塞 | 还没人处置,必须先给结论 |
132
+ | `FIXED` / `NOT_APPLICABLE` | ✅ 放行 | 已闭环 |
133
+ | `ACCEPTED_RISK` / `DEFERRED` | ✅ 放行 | 记入收据 `residualRisks` 留痕 |
134
+
135
+ > ⚠️ **不要为了让 close 通过而清空或删改 `review-findings.json`。** 它是发现的真相源,写空等于
136
+ > 抹掉整轮审查的审计轨迹。处置结论属于另一个 sidecar:
137
+ >
138
+ > ```text
139
+ > python <skills-root>/scripts/harness_review.py write-dispositions \
140
+ > --change-dir <change-dir> --input <dispositions.json>
141
+ > ```