@hunter-harness/workflow-harness 0.2.67 → 0.2.70

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 (210) hide show
  1. package/harness/bundles/general/claude-code/.harness-build.json +1 -1
  2. package/harness/bundles/general/claude-code/contracts/workflow-policy.json +401 -88
  3. package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
  4. package/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +1 -1
  5. package/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  6. package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
  7. package/harness/bundles/general/claude-code/harness-plan/SKILL.md +4 -2
  8. package/harness/bundles/general/claude-code/harness-plan/reference.md +32 -2
  9. package/harness/bundles/general/claude-code/harness-pull/SKILL.md +73 -0
  10. package/harness/bundles/general/claude-code/harness-push/SKILL.md +73 -0
  11. package/harness/bundles/general/claude-code/harness-review/SKILL.md +1 -1
  12. package/harness/bundles/general/claude-code/harness-run/SKILL.md +3 -1
  13. package/harness/bundles/general/claude-code/harness-run/reference.md +20 -0
  14. package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
  15. package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
  16. package/harness/bundles/general/claude-code/harness-test/SKILL.md +3 -1
  17. package/harness/bundles/general/claude-code/harness-test/pitfalls.md +34 -3
  18. package/harness/bundles/general/claude-code/harness-test/reference.md +9 -0
  19. package/harness/bundles/general/claude-code/scripts/harness_context.py +27 -7
  20. package/harness/bundles/general/claude-code/scripts/harness_events.py +12 -3
  21. package/harness/bundles/general/claude-code/scripts/harness_gate.py +127 -11
  22. package/harness/bundles/general/claude-code/scripts/harness_ledger.py +244 -5
  23. package/harness/bundles/general/claude-code/scripts/harness_plan_finalize.py +373 -19
  24. package/harness/bundles/general/claude-code/scripts/harness_service.py +69 -15
  25. package/harness/bundles/general/claude-code/scripts/harness_test_guard.py +48 -1
  26. package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
  27. package/harness/bundles/general/codebuddy/contracts/workflow-policy.json +401 -88
  28. package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
  29. package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
  30. package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  31. package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  32. package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +4 -2
  33. package/harness/bundles/general/codebuddy/harness-plan/reference.md +32 -2
  34. package/harness/bundles/general/codebuddy/harness-pull/SKILL.md +55 -0
  35. package/harness/bundles/general/codebuddy/harness-push/SKILL.md +55 -0
  36. package/harness/bundles/general/codebuddy/harness-review/SKILL.md +1 -1
  37. package/harness/bundles/general/codebuddy/harness-run/SKILL.md +3 -1
  38. package/harness/bundles/general/codebuddy/harness-run/reference.md +20 -0
  39. package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
  40. package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
  41. package/harness/bundles/general/codebuddy/harness-test/SKILL.md +3 -1
  42. package/harness/bundles/general/codebuddy/harness-test/pitfalls.md +34 -3
  43. package/harness/bundles/general/codebuddy/harness-test/reference.md +9 -0
  44. package/harness/bundles/general/codebuddy/scripts/harness_context.py +27 -7
  45. package/harness/bundles/general/codebuddy/scripts/harness_events.py +12 -3
  46. package/harness/bundles/general/codebuddy/scripts/harness_gate.py +127 -11
  47. package/harness/bundles/general/codebuddy/scripts/harness_ledger.py +244 -5
  48. package/harness/bundles/general/codebuddy/scripts/harness_plan_finalize.py +373 -19
  49. package/harness/bundles/general/codebuddy/scripts/harness_service.py +69 -15
  50. package/harness/bundles/general/codebuddy/scripts/harness_test_guard.py +48 -1
  51. package/harness/bundles/general/codex/.harness-build.json +1 -1
  52. package/harness/bundles/general/codex/contracts/workflow-policy.json +401 -88
  53. package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
  54. package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
  55. package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +1 -1
  56. package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
  57. package/harness/bundles/general/codex/harness-plan/SKILL.md +4 -2
  58. package/harness/bundles/general/codex/harness-plan/reference.md +32 -2
  59. package/harness/bundles/general/codex/harness-pull/SKILL.md +55 -0
  60. package/harness/bundles/general/codex/harness-push/SKILL.md +55 -0
  61. package/harness/bundles/general/codex/harness-review/SKILL.md +1 -1
  62. package/harness/bundles/general/codex/harness-run/SKILL.md +3 -1
  63. package/harness/bundles/general/codex/harness-run/reference.md +20 -0
  64. package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
  65. package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
  66. package/harness/bundles/general/codex/harness-test/SKILL.md +3 -1
  67. package/harness/bundles/general/codex/harness-test/pitfalls.md +34 -3
  68. package/harness/bundles/general/codex/harness-test/reference.md +9 -0
  69. package/harness/bundles/general/codex/scripts/harness_context.py +27 -7
  70. package/harness/bundles/general/codex/scripts/harness_events.py +12 -3
  71. package/harness/bundles/general/codex/scripts/harness_gate.py +127 -11
  72. package/harness/bundles/general/codex/scripts/harness_ledger.py +244 -5
  73. package/harness/bundles/general/codex/scripts/harness_plan_finalize.py +373 -19
  74. package/harness/bundles/general/codex/scripts/harness_service.py +69 -15
  75. package/harness/bundles/general/codex/scripts/harness_test_guard.py +48 -1
  76. package/harness/bundles/general/cursor/.harness-build.json +1 -1
  77. package/harness/bundles/general/cursor/contracts/workflow-policy.json +401 -88
  78. package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
  79. package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
  80. package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  81. package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
  82. package/harness/bundles/general/cursor/harness-plan/SKILL.md +4 -2
  83. package/harness/bundles/general/cursor/harness-plan/reference.md +32 -2
  84. package/harness/bundles/general/cursor/harness-pull/SKILL.md +55 -0
  85. package/harness/bundles/general/cursor/harness-push/SKILL.md +55 -0
  86. package/harness/bundles/general/cursor/harness-review/SKILL.md +1 -1
  87. package/harness/bundles/general/cursor/harness-run/SKILL.md +3 -1
  88. package/harness/bundles/general/cursor/harness-run/reference.md +20 -0
  89. package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
  90. package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
  91. package/harness/bundles/general/cursor/harness-test/SKILL.md +3 -1
  92. package/harness/bundles/general/cursor/harness-test/pitfalls.md +34 -3
  93. package/harness/bundles/general/cursor/harness-test/reference.md +9 -0
  94. package/harness/bundles/general/cursor/scripts/harness_context.py +27 -7
  95. package/harness/bundles/general/cursor/scripts/harness_events.py +12 -3
  96. package/harness/bundles/general/cursor/scripts/harness_gate.py +127 -11
  97. package/harness/bundles/general/cursor/scripts/harness_ledger.py +244 -5
  98. package/harness/bundles/general/cursor/scripts/harness_plan_finalize.py +373 -19
  99. package/harness/bundles/general/cursor/scripts/harness_service.py +69 -15
  100. package/harness/bundles/general/cursor/scripts/harness_test_guard.py +48 -1
  101. package/harness/bundles/java/claude-code/.harness-build.json +1 -1
  102. package/harness/bundles/java/claude-code/contracts/workflow-policy.json +401 -88
  103. package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
  104. package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
  105. package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
  106. package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  107. package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
  108. package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
  109. package/harness/bundles/java/claude-code/harness-plan/SKILL.md +4 -2
  110. package/harness/bundles/java/claude-code/harness-plan/reference.md +32 -2
  111. package/harness/bundles/java/claude-code/harness-pull/SKILL.md +73 -0
  112. package/harness/bundles/java/claude-code/harness-push/SKILL.md +73 -0
  113. package/harness/bundles/java/claude-code/harness-review/SKILL.md +1 -1
  114. package/harness/bundles/java/claude-code/harness-run/SKILL.md +3 -1
  115. package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
  116. package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
  117. package/harness/bundles/java/claude-code/harness-test/SKILL.md +3 -1
  118. package/harness/bundles/java/claude-code/harness-test/pitfalls.md +34 -3
  119. package/harness/bundles/java/claude-code/scripts/harness_context.py +27 -7
  120. package/harness/bundles/java/claude-code/scripts/harness_events.py +12 -3
  121. package/harness/bundles/java/claude-code/scripts/harness_gate.py +127 -11
  122. package/harness/bundles/java/claude-code/scripts/harness_ledger.py +244 -5
  123. package/harness/bundles/java/claude-code/scripts/harness_plan_finalize.py +373 -19
  124. package/harness/bundles/java/claude-code/scripts/harness_service.py +69 -15
  125. package/harness/bundles/java/claude-code/scripts/harness_test_guard.py +48 -1
  126. package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
  127. package/harness/bundles/java/codebuddy/contracts/workflow-policy.json +401 -88
  128. package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
  129. package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
  130. package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
  131. package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  132. package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  133. package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
  134. package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +4 -2
  135. package/harness/bundles/java/codebuddy/harness-plan/reference.md +32 -2
  136. package/harness/bundles/java/codebuddy/harness-pull/SKILL.md +55 -0
  137. package/harness/bundles/java/codebuddy/harness-push/SKILL.md +55 -0
  138. package/harness/bundles/java/codebuddy/harness-review/SKILL.md +1 -1
  139. package/harness/bundles/java/codebuddy/harness-run/SKILL.md +3 -1
  140. package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
  141. package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
  142. package/harness/bundles/java/codebuddy/harness-test/SKILL.md +3 -1
  143. package/harness/bundles/java/codebuddy/harness-test/pitfalls.md +34 -3
  144. package/harness/bundles/java/codebuddy/scripts/harness_context.py +27 -7
  145. package/harness/bundles/java/codebuddy/scripts/harness_events.py +12 -3
  146. package/harness/bundles/java/codebuddy/scripts/harness_gate.py +127 -11
  147. package/harness/bundles/java/codebuddy/scripts/harness_ledger.py +244 -5
  148. package/harness/bundles/java/codebuddy/scripts/harness_plan_finalize.py +373 -19
  149. package/harness/bundles/java/codebuddy/scripts/harness_service.py +69 -15
  150. package/harness/bundles/java/codebuddy/scripts/harness_test_guard.py +48 -1
  151. package/harness/bundles/java/codex/.harness-build.json +1 -1
  152. package/harness/bundles/java/codex/contracts/workflow-policy.json +401 -88
  153. package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
  154. package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
  155. package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
  156. package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +1 -1
  157. package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
  158. package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
  159. package/harness/bundles/java/codex/harness-plan/SKILL.md +4 -2
  160. package/harness/bundles/java/codex/harness-plan/reference.md +32 -2
  161. package/harness/bundles/java/codex/harness-pull/SKILL.md +55 -0
  162. package/harness/bundles/java/codex/harness-push/SKILL.md +55 -0
  163. package/harness/bundles/java/codex/harness-review/SKILL.md +1 -1
  164. package/harness/bundles/java/codex/harness-run/SKILL.md +3 -1
  165. package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
  166. package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
  167. package/harness/bundles/java/codex/harness-test/SKILL.md +3 -1
  168. package/harness/bundles/java/codex/harness-test/pitfalls.md +34 -3
  169. package/harness/bundles/java/codex/scripts/harness_context.py +27 -7
  170. package/harness/bundles/java/codex/scripts/harness_events.py +12 -3
  171. package/harness/bundles/java/codex/scripts/harness_gate.py +127 -11
  172. package/harness/bundles/java/codex/scripts/harness_ledger.py +244 -5
  173. package/harness/bundles/java/codex/scripts/harness_plan_finalize.py +373 -19
  174. package/harness/bundles/java/codex/scripts/harness_service.py +69 -15
  175. package/harness/bundles/java/codex/scripts/harness_test_guard.py +48 -1
  176. package/harness/bundles/java/cursor/.harness-build.json +1 -1
  177. package/harness/bundles/java/cursor/contracts/workflow-policy.json +401 -88
  178. package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
  179. package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
  180. package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
  181. package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  182. package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
  183. package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
  184. package/harness/bundles/java/cursor/harness-plan/SKILL.md +4 -2
  185. package/harness/bundles/java/cursor/harness-plan/reference.md +32 -2
  186. package/harness/bundles/java/cursor/harness-pull/SKILL.md +55 -0
  187. package/harness/bundles/java/cursor/harness-push/SKILL.md +55 -0
  188. package/harness/bundles/java/cursor/harness-review/SKILL.md +1 -1
  189. package/harness/bundles/java/cursor/harness-run/SKILL.md +3 -1
  190. package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
  191. package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
  192. package/harness/bundles/java/cursor/harness-test/SKILL.md +3 -1
  193. package/harness/bundles/java/cursor/harness-test/pitfalls.md +34 -3
  194. package/harness/bundles/java/cursor/scripts/harness_context.py +27 -7
  195. package/harness/bundles/java/cursor/scripts/harness_events.py +12 -3
  196. package/harness/bundles/java/cursor/scripts/harness_gate.py +127 -11
  197. package/harness/bundles/java/cursor/scripts/harness_ledger.py +244 -5
  198. package/harness/bundles/java/cursor/scripts/harness_plan_finalize.py +373 -19
  199. package/harness/bundles/java/cursor/scripts/harness_service.py +69 -15
  200. package/harness/bundles/java/cursor/scripts/harness_test_guard.py +48 -1
  201. package/harness/manifests/general/claude-code.json +36 -26
  202. package/harness/manifests/general/codebuddy.json +36 -26
  203. package/harness/manifests/general/codex.json +36 -26
  204. package/harness/manifests/general/cursor.json +36 -26
  205. package/harness/manifests/java/claude-code.json +36 -26
  206. package/harness/manifests/java/codebuddy.json +36 -26
  207. package/harness/manifests/java/codex.json +36 -26
  208. package/harness/manifests/java/cursor.json +36 -26
  209. package/hunter-workflow-family.json +11 -7
  210. package/package.json +1 -1
@@ -2,5 +2,5 @@
2
2
  "schemaVersion": 1,
3
3
  "overlay": "none",
4
4
  "agent": "claude-code",
5
- "coreHash": "a8db42e4cbc5c56c"
5
+ "coreHash": "838e4927455571c4"
6
6
  }
@@ -8,7 +8,10 @@
8
8
  "processTreeCleanup": true,
9
9
  "detachedProcessPreflight": true,
10
10
  "confirmationFlag": "--confirm-resource-intensive",
11
- "confirmationRequiredProfiles": ["system", "full"],
11
+ "confirmationRequiredProfiles": [
12
+ "system",
13
+ "full"
14
+ ],
12
15
  "resourceIntensiveModules": [
13
16
  "test_harness_integration.py",
14
17
  "test_harness_service.py"
@@ -34,140 +37,392 @@
34
37
  "riskTiers": {
35
38
  "fast": {
36
39
  "description": "Low-risk docs/comments/non-behavioral config; no API/DB/security/concurrency. Policy notes: checkpointRules apply only when meta/implementation-checkpoints.json defines the entry for this change; missing file/entry = disabled (gate must not require --task).",
37
- "defaultPhases": ["plan", "run", "archive"],
38
- "requiredValidations": ["unitTest"],
39
- "conditionalStages": ["review", "package", "apidoc"],
40
- "upgradeTriggers": ["api-change", "security", "migration", "concurrency", "breaking-contract"]
40
+ "defaultPhases": [
41
+ "plan",
42
+ "run",
43
+ "archive"
44
+ ],
45
+ "requiredValidations": [
46
+ "unitTest"
47
+ ],
48
+ "conditionalStages": [
49
+ "review",
50
+ "package",
51
+ "apidoc"
52
+ ],
53
+ "upgradeTriggers": [
54
+ "api-change",
55
+ "security",
56
+ "migration",
57
+ "concurrency",
58
+ "breaking-contract"
59
+ ]
41
60
  },
42
61
  "standard": {
43
62
  "description": "Ordinary production code and non-breaking API/features. Policy notes: requiredValidations may close DEGRADED when ledger status=NOT_RUN and evidence starts with 'DEGRADED: <reason>' (close code CLOSED_DEGRADED, phase status <= WARN); do not fake OK with unrelated tests.",
44
- "defaultPhases": ["plan", "run", "test", "submit", "archive"],
45
- "requiredValidations": ["compile", "unitTest", "unitTestFull"],
46
- "conditionalStages": ["review", "package", "apidoc"],
47
- "upgradeTriggers": ["auth", "security", "delete", "migration", "concurrency", "artifact-protocol", "shared-state", "breaking-api"]
63
+ "defaultPhases": [
64
+ "plan",
65
+ "run",
66
+ "test",
67
+ "submit",
68
+ "archive"
69
+ ],
70
+ "requiredValidations": [
71
+ "compile",
72
+ "unitTest",
73
+ "unitTestFull"
74
+ ],
75
+ "conditionalStages": [
76
+ "review",
77
+ "package",
78
+ "apidoc"
79
+ ],
80
+ "upgradeTriggers": [
81
+ "auth",
82
+ "security",
83
+ "delete",
84
+ "migration",
85
+ "concurrency",
86
+ "artifact-protocol",
87
+ "shared-state",
88
+ "breaking-api"
89
+ ]
48
90
  },
49
91
  "full": {
50
92
  "description": "Auth/security/delete/migration/concurrency/service protocol/shared state/breaking contracts. Policy notes: (1) DEGRADED close — ledger status=NOT_RUN and evidence 'DEGRADED: <reason>' → CLOSED_DEGRADED with phase <= WARN; never fake OK with unrelated tests. (2) checkpointRules — only when plan created meta/implementation-checkpoints.json entry; missing file/entry = not enabled, gate must not require --task.",
51
- "defaultPhases": ["plan", "run", "test", "review", "submit", "archive"],
52
- "requiredValidations": ["compile", "unitTest", "unitTestFull", "apiTest"],
53
- "conditionalStages": ["package", "apidoc"],
93
+ "defaultPhases": [
94
+ "plan",
95
+ "run",
96
+ "test",
97
+ "review",
98
+ "submit",
99
+ "archive"
100
+ ],
101
+ "requiredValidations": [
102
+ "compile",
103
+ "unitTest",
104
+ "unitTestFull",
105
+ "apiTest"
106
+ ],
107
+ "conditionalStages": [
108
+ "package",
109
+ "apidoc"
110
+ ],
54
111
  "upgradeTriggers": []
55
112
  }
56
113
  },
57
114
  "skills": {
58
115
  "harness-plan": {
59
116
  "phase": "plan",
60
- "inputs": ["requirements", "change-context"],
61
- "artifacts": ["plans", "spec", "test-scenarios", "implementation-detail"],
62
- "events": ["phase.start", "phase.end", "decision"],
117
+ "inputs": [
118
+ "requirements",
119
+ "change-context"
120
+ ],
121
+ "artifacts": [
122
+ "plans",
123
+ "spec",
124
+ "test-scenarios",
125
+ "implementation-detail"
126
+ ],
127
+ "events": [
128
+ "phase.start",
129
+ "phase.end",
130
+ "decision"
131
+ ],
63
132
  "allowedInteractions": [],
64
- "capabilities": ["risk-classify-plan"]
133
+ "capabilities": [
134
+ "risk-classify-plan"
135
+ ]
65
136
  },
66
137
  "harness-run": {
67
138
  "phase": "run",
68
- "inputs": ["implementation-detail", "state-snapshot"],
69
- "artifacts": ["code", "verification-ledger"],
70
- "events": ["phase.start", "phase.end", "command", "verification"],
139
+ "inputs": [
140
+ "implementation-detail",
141
+ "state-snapshot"
142
+ ],
143
+ "artifacts": [
144
+ "code",
145
+ "verification-ledger"
146
+ ],
147
+ "events": [
148
+ "phase.start",
149
+ "phase.end",
150
+ "command",
151
+ "verification"
152
+ ],
71
153
  "allowedInteractions": [],
72
- "capabilities": ["gate-begin", "gate-close", "ledger-record"]
154
+ "capabilities": [
155
+ "gate-begin",
156
+ "gate-close",
157
+ "ledger-record"
158
+ ]
73
159
  },
74
160
  "harness-test": {
75
161
  "phase": "test",
76
- "inputs": ["test-scenarios", "verification-ledger"],
77
- "artifacts": ["test-reports", "verification-ledger"],
78
- "events": ["phase.start", "phase.end", "command", "verification"],
79
- "allowedInteractions": ["resource-intensive-test-confirmation"],
80
- "capabilities": ["gate-begin", "gate-close", "test-guard", "ledger-record", "resource-safe-test-runner"]
162
+ "inputs": [
163
+ "test-scenarios",
164
+ "verification-ledger"
165
+ ],
166
+ "artifacts": [
167
+ "test-reports",
168
+ "verification-ledger"
169
+ ],
170
+ "events": [
171
+ "phase.start",
172
+ "phase.end",
173
+ "command",
174
+ "verification"
175
+ ],
176
+ "allowedInteractions": [
177
+ "resource-intensive-test-confirmation"
178
+ ],
179
+ "capabilities": [
180
+ "gate-begin",
181
+ "gate-close",
182
+ "test-guard",
183
+ "ledger-record",
184
+ "resource-safe-test-runner"
185
+ ]
81
186
  },
82
187
  "harness-review": {
83
188
  "phase": "review",
84
- "inputs": ["diff", "verification-ledger", "test-reports"],
85
- "artifacts": ["review-report"],
86
- "events": ["phase.start", "phase.end", "issue", "artifact"],
189
+ "inputs": [
190
+ "diff",
191
+ "verification-ledger",
192
+ "test-reports"
193
+ ],
194
+ "artifacts": [
195
+ "review-report"
196
+ ],
197
+ "events": [
198
+ "phase.start",
199
+ "phase.end",
200
+ "issue",
201
+ "artifact"
202
+ ],
87
203
  "allowedInteractions": [],
88
- "capabilities": ["gate-begin", "gate-close"]
204
+ "capabilities": [
205
+ "gate-begin",
206
+ "gate-close"
207
+ ]
89
208
  },
90
209
  "harness-submit": {
91
210
  "phase": "submit",
92
- "inputs": ["verification-ledger", "test-tracking"],
93
- "artifacts": ["git-integration"],
94
- "events": ["phase.start", "phase.end", "command", "artifact"],
95
- "allowedInteractions": ["merge-conflict-resolution"],
96
- "capabilities": ["gate-begin", "gate-close", "integration-lock", "test-guard-stage"]
211
+ "inputs": [
212
+ "verification-ledger",
213
+ "test-tracking"
214
+ ],
215
+ "artifacts": [
216
+ "git-integration"
217
+ ],
218
+ "events": [
219
+ "phase.start",
220
+ "phase.end",
221
+ "command",
222
+ "artifact"
223
+ ],
224
+ "allowedInteractions": [
225
+ "merge-conflict-resolution"
226
+ ],
227
+ "capabilities": [
228
+ "gate-begin",
229
+ "gate-close",
230
+ "integration-lock",
231
+ "test-guard-stage"
232
+ ]
97
233
  },
98
234
  "harness-package": {
99
- "profiles": ["java"],
235
+ "profiles": [
236
+ "java"
237
+ ],
100
238
  "phase": "package",
101
- "inputs": ["verification-ledger", "final-commit"],
102
- "artifacts": ["deploy-artifact"],
103
- "events": ["phase.start", "phase.end", "command", "verification"],
239
+ "inputs": [
240
+ "verification-ledger",
241
+ "final-commit"
242
+ ],
243
+ "artifacts": [
244
+ "deploy-artifact"
245
+ ],
246
+ "events": [
247
+ "phase.start",
248
+ "phase.end",
249
+ "command",
250
+ "verification"
251
+ ],
104
252
  "allowedInteractions": [],
105
- "capabilities": ["gate-begin", "gate-close", "ledger-can-reuse"]
253
+ "capabilities": [
254
+ "gate-begin",
255
+ "gate-close",
256
+ "ledger-can-reuse"
257
+ ]
106
258
  },
107
259
  "harness-archive": {
108
260
  "phase": "archive",
109
- "inputs": ["events", "verification-ledger", "reports"],
110
- "artifacts": ["summary-data", "archive-manifest"],
111
- "events": ["phase.start", "phase.end", "artifact"],
261
+ "inputs": [
262
+ "events",
263
+ "verification-ledger",
264
+ "reports"
265
+ ],
266
+ "artifacts": [
267
+ "summary-data",
268
+ "archive-manifest"
269
+ ],
270
+ "events": [
271
+ "phase.start",
272
+ "phase.end",
273
+ "artifact"
274
+ ],
112
275
  "allowedInteractions": [],
113
276
  "capabilities": []
114
277
  },
115
278
  "harness-sync": {
116
279
  "phase": "sync",
117
- "inputs": ["canonical-harness"],
118
- "artifacts": ["bundle-projection"],
119
- "events": ["phase.start", "phase.end", "command"],
280
+ "inputs": [
281
+ "canonical-harness"
282
+ ],
283
+ "artifacts": [
284
+ "bundle-projection"
285
+ ],
286
+ "events": [
287
+ "phase.start",
288
+ "phase.end",
289
+ "command"
290
+ ],
120
291
  "allowedInteractions": [],
121
292
  "capabilities": []
122
293
  },
123
294
  "harness-codebase-map": {
124
295
  "phase": "codebase-map",
125
- "inputs": ["project-root"],
126
- "artifacts": ["codebase-map"],
127
- "events": ["phase.start", "phase.end"],
296
+ "inputs": [
297
+ "project-root"
298
+ ],
299
+ "artifacts": [
300
+ "codebase-map"
301
+ ],
302
+ "events": [
303
+ "phase.start",
304
+ "phase.end"
305
+ ],
128
306
  "allowedInteractions": [],
129
307
  "capabilities": []
130
308
  },
131
309
  "harness-knowledge-query": {
132
310
  "phase": "knowledge-query",
133
- "inputs": ["knowledge-index"],
311
+ "inputs": [
312
+ "knowledge-index"
313
+ ],
134
314
  "artifacts": [],
135
- "events": ["phase.start", "phase.end"],
315
+ "events": [
316
+ "phase.start",
317
+ "phase.end"
318
+ ],
136
319
  "allowedInteractions": [],
137
- "capabilities": ["read-only"]
320
+ "capabilities": [
321
+ "read-only"
322
+ ]
138
323
  },
139
324
  "harness-knowledge-ingest": {
140
325
  "phase": "knowledge-ingest",
141
- "inputs": ["archive-evidence"],
142
- "artifacts": ["knowledge-index"],
143
- "events": ["phase.start", "phase.end", "command"],
326
+ "inputs": [
327
+ "archive-evidence"
328
+ ],
329
+ "artifacts": [
330
+ "knowledge-index"
331
+ ],
332
+ "events": [
333
+ "phase.start",
334
+ "phase.end",
335
+ "command"
336
+ ],
144
337
  "allowedInteractions": [],
145
338
  "capabilities": []
146
339
  },
147
340
  "harness-apidoc": {
148
- "profiles": ["java"],
341
+ "profiles": [
342
+ "java"
343
+ ],
149
344
  "phase": "apidoc",
150
- "inputs": ["api-diff"],
151
- "artifacts": ["api-contract-summary"],
152
- "events": ["phase.start", "phase.end", "artifact"],
345
+ "inputs": [
346
+ "api-diff"
347
+ ],
348
+ "artifacts": [
349
+ "api-contract-summary"
350
+ ],
351
+ "events": [
352
+ "phase.start",
353
+ "phase.end",
354
+ "artifact"
355
+ ],
153
356
  "allowedInteractions": [],
154
- "capabilities": ["gate-begin", "gate-close"]
357
+ "capabilities": [
358
+ "gate-begin",
359
+ "gate-close"
360
+ ]
361
+ },
362
+ "harness-push": {
363
+ "phase": "sync",
364
+ "inputs": [
365
+ "remote-baseline",
366
+ "local-content"
367
+ ],
368
+ "artifacts": [
369
+ "push-receipt"
370
+ ],
371
+ "events": [],
372
+ "allowedInteractions": [
373
+ "upload-confirmation"
374
+ ],
375
+ "capabilities": [
376
+ "remote-sync-push@1"
377
+ ]
378
+ },
379
+ "harness-pull": {
380
+ "phase": "sync",
381
+ "inputs": [
382
+ "remote-snapshot"
383
+ ],
384
+ "artifacts": [
385
+ "pull-receipt"
386
+ ],
387
+ "events": [],
388
+ "allowedInteractions": [
389
+ "conflict-decision"
390
+ ],
391
+ "capabilities": [
392
+ "remote-sync-pull@1"
393
+ ]
155
394
  }
156
395
  },
157
396
  "requiredArtifacts": {
158
- "plan": ["plans", "spec"],
397
+ "plan": [
398
+ "plans",
399
+ "spec"
400
+ ],
159
401
  "run": [],
160
- "test": ["tests/test-report-*.md"],
161
- "review": ["reports/review/review-report-*.md"],
402
+ "test": [
403
+ "tests/test-report-*.md"
404
+ ],
405
+ "review": [
406
+ "reports/review/review-report-*.md"
407
+ ],
162
408
  "submit": [],
163
409
  "package": [],
164
- "archive": ["reports/final/summary-data.json"]
410
+ "archive": [
411
+ "reports/final/summary-data.json"
412
+ ]
165
413
  },
166
414
  "requiredValidations": {
167
- "run": ["compile", "unitTest"],
168
- "test": ["unitTestFull"],
415
+ "run": [
416
+ "compile",
417
+ "unitTest"
418
+ ],
419
+ "test": [
420
+ "unitTestFull"
421
+ ],
169
422
  "submit": [],
170
- "package": ["package"]
423
+ "package": [
424
+ "package"
425
+ ]
171
426
  },
172
427
  "validationPhases": {
173
428
  "compile": "run",
@@ -180,50 +435,108 @@
180
435
  },
181
436
  "capabilityGates": {
182
437
  "deployment": {
183
- "signals": ["deploy-required"],
184
- "requiredStages": ["package"],
185
- "requiredValidations": ["package"]
438
+ "signals": [
439
+ "deploy-required"
440
+ ],
441
+ "requiredStages": [
442
+ "package"
443
+ ],
444
+ "requiredValidations": [
445
+ "package"
446
+ ]
186
447
  },
187
448
  "container": {
188
- "signals": ["install-verification"],
189
- "requiredStages": ["package"],
190
- "requiredValidations": ["package"]
449
+ "signals": [
450
+ "install-verification"
451
+ ],
452
+ "requiredStages": [
453
+ "package"
454
+ ],
455
+ "requiredValidations": [
456
+ "package"
457
+ ]
191
458
  },
192
459
  "api": {
193
- "signals": ["api-diff-present"],
194
- "requiredStages": ["apidoc"],
195
- "requiredValidations": ["apiTest"]
460
+ "signals": [
461
+ "api-diff-present"
462
+ ],
463
+ "requiredStages": [
464
+ "apidoc"
465
+ ],
466
+ "requiredValidations": [
467
+ "apiTest"
468
+ ]
196
469
  },
197
470
  "database": {
198
- "signals": ["migration"],
471
+ "signals": [
472
+ "migration"
473
+ ],
199
474
  "requiredStages": [],
200
- "requiredValidations": ["dbCompatibility"]
475
+ "requiredValidations": [
476
+ "dbCompatibility"
477
+ ]
201
478
  }
202
479
  },
203
480
  "conditionalStages": {
204
481
  "review": {
205
- "tiers": ["standard", "full"],
206
- "signals": ["security", "auth", "breaking-api", "shared-state"]
482
+ "tiers": [
483
+ "standard",
484
+ "full"
485
+ ],
486
+ "signals": [
487
+ "security",
488
+ "auth",
489
+ "breaking-api",
490
+ "shared-state"
491
+ ]
207
492
  },
208
493
  "package": {
209
- "tiers": ["standard", "full"],
210
- "signals": ["deploy-required", "install-verification"]
494
+ "tiers": [
495
+ "standard",
496
+ "full"
497
+ ],
498
+ "signals": [
499
+ "deploy-required",
500
+ "install-verification"
501
+ ]
211
502
  },
212
503
  "apidoc": {
213
- "tiers": ["standard", "full"],
214
- "signals": ["api-diff-present"]
504
+ "tiers": [
505
+ "standard",
506
+ "full"
507
+ ],
508
+ "signals": [
509
+ "api-diff-present"
510
+ ]
215
511
  }
216
512
  },
217
513
  "interactionWhitelist": {
218
514
  "global": [],
219
- "harness-test": ["resource-intensive-test-confirmation"],
220
- "harness-submit": ["merge-conflict-resolution"],
221
- "harness-plan": ["risk-confirmation"]
515
+ "harness-test": [
516
+ "resource-intensive-test-confirmation"
517
+ ],
518
+ "harness-submit": [
519
+ "merge-conflict-resolution"
520
+ ],
521
+ "harness-plan": [
522
+ "risk-confirmation"
523
+ ]
222
524
  },
223
525
  "checkpointRules": {
224
526
  "foundation-gate": {
225
- "afterTasks": [1, 2, 3, 4],
226
- "beforeTasks": [6, 7, 8, 9, 10],
527
+ "afterTasks": [
528
+ 1,
529
+ 2,
530
+ 3,
531
+ 4
532
+ ],
533
+ "beforeTasks": [
534
+ 6,
535
+ 7,
536
+ 8,
537
+ 9,
538
+ 10
539
+ ],
227
540
  "blocking": true,
228
541
  "requiredReport": "reports/review/foundation-gate-review.md",
229
542
  "reviewerTool": "codex"
@@ -21,7 +21,7 @@ disallowed-tools:
21
21
  - Bash(awk *)
22
22
  - Bash(curl *)
23
23
  ---
24
- <!-- generated by harness_deploy.py; core=a8db42e4cbc5c56c; overlay=none; agent=claude-code; do not edit -->
24
+ <!-- generated by harness_deploy.py; core=838e4927455571c4; overlay=none; agent=claude-code; do not edit -->
25
25
  # harness-archive — 变更归档
26
26
 
27
27
  ## Purpose
@@ -20,7 +20,7 @@ disallowed-tools:
20
20
  - Bash(awk *)
21
21
  - Bash(curl *)
22
22
  ---
23
- <!-- generated by harness_deploy.py; core=a8db42e4cbc5c56c; overlay=none; agent=claude-code; do not edit -->
23
+ <!-- generated by harness_deploy.py; core=838e4927455571c4; overlay=none; agent=claude-code; do not edit -->
24
24
  # harness-codebase-map — 代码库地图
25
25
 
26
26
  ## Purpose
@@ -8,7 +8,7 @@ disallowed-tools:
8
8
  - Bash(git *)
9
9
  - Bash(curl *)
10
10
  ---
11
- <!-- generated by harness_deploy.py; core=a8db42e4cbc5c56c; overlay=none; agent=claude-code; do not edit -->
11
+ <!-- generated by harness_deploy.py; core=838e4927455571c4; overlay=none; agent=claude-code; do not edit -->
12
12
  # harness-knowledge-ingest
13
13
 
14
14
  知识 ingest 完全由 Hunter Platform 负责。归档完成时,客户端生成一个确定性 ZIP;
@@ -8,7 +8,7 @@ disallowed-tools:
8
8
  - Bash(git *)
9
9
  - Bash(curl *)
10
10
  ---
11
- <!-- generated by harness_deploy.py; core=a8db42e4cbc5c56c; overlay=none; agent=claude-code; do not edit -->
11
+ <!-- generated by harness_deploy.py; core=838e4927455571c4; overlay=none; agent=claude-code; do not edit -->
12
12
  # harness-knowledge-query
13
13
 
14
14
  项目知识以 Hunter Platform 的服务端索引为唯一真源。客户端只提交查询并消费结果: