hunter-harness 0.2.0 → 0.2.2

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 (564) hide show
  1. package/dist/bin.js +679 -232
  2. package/package.json +10 -8
  3. package/resources/harness/bundles/general/claude-code/.harness-build.json +0 -6
  4. package/resources/harness/bundles/general/claude-code/CONTEXT.md +0 -65
  5. package/resources/harness/bundles/general/claude-code/README.md +0 -478
  6. package/resources/harness/bundles/general/claude-code/agents/harness-evaluator.md +0 -96
  7. package/resources/harness/bundles/general/claude-code/agents/harness-explorer.md +0 -72
  8. package/resources/harness/bundles/general/claude-code/agents/harness-reviewer.md +0 -69
  9. package/resources/harness/bundles/general/claude-code/harness-archive/SKILL.md +0 -215
  10. package/resources/harness/bundles/general/claude-code/harness-archive/checklist.md +0 -52
  11. package/resources/harness/bundles/general/claude-code/harness-archive/reference.md +0 -103
  12. package/resources/harness/bundles/general/claude-code/harness-archive/scripts/gen-manifest.ps1 +0 -31
  13. package/resources/harness/bundles/general/claude-code/harness-archive/templates/render-summary.mjs +0 -171
  14. package/resources/harness/bundles/general/claude-code/harness-archive/templates/summary-data-template.json +0 -128
  15. package/resources/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +0 -112
  16. package/resources/harness/bundles/general/claude-code/harness-codebase-map/checklist.md +0 -126
  17. package/resources/harness/bundles/general/claude-code/harness-codebase-map/reference.md +0 -364
  18. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/ARCHITECTURE.md +0 -57
  19. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/CONCERNS.md +0 -49
  20. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/CONVENTIONS.md +0 -57
  21. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/INTEGRATIONS.md +0 -52
  22. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/STACK.md +0 -55
  23. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/STRUCTURE.md +0 -69
  24. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/TESTING.md +0 -64
  25. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/map-manifest.schema.json +0 -73
  26. package/resources/harness/bundles/general/claude-code/harness-codebase-map/templates/map-summary.md +0 -64
  27. package/resources/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +0 -246
  28. package/resources/harness/bundles/general/claude-code/harness-knowledge-ingest/design.md +0 -842
  29. package/resources/harness/bundles/general/claude-code/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -42
  30. package/resources/harness/bundles/general/claude-code/harness-knowledge-ingest/mcp-config.example.json +0 -10
  31. package/resources/harness/bundles/general/claude-code/harness-knowledge-ingest/reference.md +0 -309
  32. package/resources/harness/bundles/general/claude-code/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -4082
  33. package/resources/harness/bundles/general/claude-code/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -273
  34. package/resources/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +0 -164
  35. package/resources/harness/bundles/general/claude-code/harness-plan/SKILL.md +0 -127
  36. package/resources/harness/bundles/general/claude-code/harness-plan/checklist.md +0 -243
  37. package/resources/harness/bundles/general/claude-code/harness-plan/protocols.md +0 -124
  38. package/resources/harness/bundles/general/claude-code/harness-plan/reference.md +0 -376
  39. package/resources/harness/bundles/general/claude-code/harness-review/SKILL.md +0 -160
  40. package/resources/harness/bundles/general/claude-code/harness-review/checklist.md +0 -124
  41. package/resources/harness/bundles/general/claude-code/harness-review/protocols.md +0 -68
  42. package/resources/harness/bundles/general/claude-code/harness-review/reference.md +0 -86
  43. package/resources/harness/bundles/general/claude-code/harness-run/SKILL.md +0 -132
  44. package/resources/harness/bundles/general/claude-code/harness-run/checklist.md +0 -259
  45. package/resources/harness/bundles/general/claude-code/harness-run/protocols.md +0 -78
  46. package/resources/harness/bundles/general/claude-code/harness-run/reference.md +0 -834
  47. package/resources/harness/bundles/general/claude-code/harness-submit/SKILL.md +0 -159
  48. package/resources/harness/bundles/general/claude-code/harness-submit/checklist.md +0 -407
  49. package/resources/harness/bundles/general/claude-code/harness-submit/reference.md +0 -152
  50. package/resources/harness/bundles/general/claude-code/harness-sync/SKILL.md +0 -82
  51. package/resources/harness/bundles/general/claude-code/harness-sync/reference.md +0 -153
  52. package/resources/harness/bundles/general/claude-code/harness-test/SKILL.md +0 -180
  53. package/resources/harness/bundles/general/claude-code/harness-test/checklist.md +0 -319
  54. package/resources/harness/bundles/general/claude-code/harness-test/pitfalls.md +0 -260
  55. package/resources/harness/bundles/general/claude-code/harness-test/reference.md +0 -791
  56. package/resources/harness/bundles/general/claude-code/protocols/archive-report-protocol.md +0 -175
  57. package/resources/harness/bundles/general/claude-code/protocols/evidence-based-reporting-protocol.md +0 -134
  58. package/resources/harness/bundles/general/claude-code/protocols/ledger-protocol.md +0 -270
  59. package/resources/harness/bundles/general/claude-code/protocols/powershell-protocol.md +0 -181
  60. package/resources/harness/bundles/general/claude-code/protocols/report-pipeline-protocol.md +0 -150
  61. package/resources/harness/bundles/general/claude-code/protocols/sensitive-info-protocol.md +0 -92
  62. package/resources/harness/bundles/general/claude-code/protocols/state-layout-protocol.md +0 -131
  63. package/resources/harness/bundles/general/claude-code/protocols/submit-protocol.md +0 -78
  64. package/resources/harness/bundles/general/claude-code/scripts/harness_archive.py +0 -2319
  65. package/resources/harness/bundles/general/claude-code/scripts/harness_deploy.py +0 -674
  66. package/resources/harness/bundles/general/claude-code/scripts/harness_events.py +0 -680
  67. package/resources/harness/bundles/general/claude-code/scripts/harness_ledger.py +0 -671
  68. package/resources/harness/bundles/general/claude-code/scripts/harness_preflight.py +0 -780
  69. package/resources/harness/bundles/general/claude-code/scripts/harness_service.py +0 -1331
  70. package/resources/harness/bundles/general/codebuddy/.harness-build.json +0 -6
  71. package/resources/harness/bundles/general/codebuddy/CONTEXT.md +0 -65
  72. package/resources/harness/bundles/general/codebuddy/README.md +0 -478
  73. package/resources/harness/bundles/general/codebuddy/agents/harness-evaluator.md +0 -94
  74. package/resources/harness/bundles/general/codebuddy/agents/harness-explorer.md +0 -53
  75. package/resources/harness/bundles/general/codebuddy/agents/harness-reviewer.md +0 -52
  76. package/resources/harness/bundles/general/codebuddy/harness-archive/SKILL.md +0 -198
  77. package/resources/harness/bundles/general/codebuddy/harness-archive/checklist.md +0 -52
  78. package/resources/harness/bundles/general/codebuddy/harness-archive/reference.md +0 -103
  79. package/resources/harness/bundles/general/codebuddy/harness-archive/scripts/gen-manifest.ps1 +0 -31
  80. package/resources/harness/bundles/general/codebuddy/harness-archive/templates/render-summary.mjs +0 -171
  81. package/resources/harness/bundles/general/codebuddy/harness-archive/templates/summary-data-template.json +0 -128
  82. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +0 -95
  83. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/checklist.md +0 -126
  84. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/reference.md +0 -364
  85. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/ARCHITECTURE.md +0 -57
  86. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/CONCERNS.md +0 -49
  87. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/CONVENTIONS.md +0 -57
  88. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/INTEGRATIONS.md +0 -52
  89. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/STACK.md +0 -55
  90. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/STRUCTURE.md +0 -69
  91. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/TESTING.md +0 -64
  92. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/map-manifest.schema.json +0 -73
  93. package/resources/harness/bundles/general/codebuddy/harness-codebase-map/templates/map-summary.md +0 -64
  94. package/resources/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +0 -229
  95. package/resources/harness/bundles/general/codebuddy/harness-knowledge-ingest/design.md +0 -842
  96. package/resources/harness/bundles/general/codebuddy/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -42
  97. package/resources/harness/bundles/general/codebuddy/harness-knowledge-ingest/mcp-config.example.json +0 -10
  98. package/resources/harness/bundles/general/codebuddy/harness-knowledge-ingest/reference.md +0 -309
  99. package/resources/harness/bundles/general/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -4082
  100. package/resources/harness/bundles/general/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -273
  101. package/resources/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +0 -147
  102. package/resources/harness/bundles/general/codebuddy/harness-plan/SKILL.md +0 -109
  103. package/resources/harness/bundles/general/codebuddy/harness-plan/checklist.md +0 -243
  104. package/resources/harness/bundles/general/codebuddy/harness-plan/protocols.md +0 -124
  105. package/resources/harness/bundles/general/codebuddy/harness-plan/reference.md +0 -376
  106. package/resources/harness/bundles/general/codebuddy/harness-review/SKILL.md +0 -142
  107. package/resources/harness/bundles/general/codebuddy/harness-review/checklist.md +0 -124
  108. package/resources/harness/bundles/general/codebuddy/harness-review/protocols.md +0 -68
  109. package/resources/harness/bundles/general/codebuddy/harness-review/reference.md +0 -86
  110. package/resources/harness/bundles/general/codebuddy/harness-run/SKILL.md +0 -113
  111. package/resources/harness/bundles/general/codebuddy/harness-run/checklist.md +0 -259
  112. package/resources/harness/bundles/general/codebuddy/harness-run/protocols.md +0 -78
  113. package/resources/harness/bundles/general/codebuddy/harness-run/reference.md +0 -834
  114. package/resources/harness/bundles/general/codebuddy/harness-submit/SKILL.md +0 -142
  115. package/resources/harness/bundles/general/codebuddy/harness-submit/checklist.md +0 -407
  116. package/resources/harness/bundles/general/codebuddy/harness-submit/reference.md +0 -152
  117. package/resources/harness/bundles/general/codebuddy/harness-sync/SKILL.md +0 -65
  118. package/resources/harness/bundles/general/codebuddy/harness-sync/reference.md +0 -153
  119. package/resources/harness/bundles/general/codebuddy/harness-test/SKILL.md +0 -160
  120. package/resources/harness/bundles/general/codebuddy/harness-test/checklist.md +0 -319
  121. package/resources/harness/bundles/general/codebuddy/harness-test/pitfalls.md +0 -260
  122. package/resources/harness/bundles/general/codebuddy/harness-test/reference.md +0 -791
  123. package/resources/harness/bundles/general/codebuddy/protocols/archive-report-protocol.md +0 -175
  124. package/resources/harness/bundles/general/codebuddy/protocols/evidence-based-reporting-protocol.md +0 -134
  125. package/resources/harness/bundles/general/codebuddy/protocols/ledger-protocol.md +0 -270
  126. package/resources/harness/bundles/general/codebuddy/protocols/powershell-protocol.md +0 -181
  127. package/resources/harness/bundles/general/codebuddy/protocols/report-pipeline-protocol.md +0 -150
  128. package/resources/harness/bundles/general/codebuddy/protocols/sensitive-info-protocol.md +0 -92
  129. package/resources/harness/bundles/general/codebuddy/protocols/state-layout-protocol.md +0 -131
  130. package/resources/harness/bundles/general/codebuddy/protocols/submit-protocol.md +0 -78
  131. package/resources/harness/bundles/general/codebuddy/scripts/harness_archive.py +0 -2319
  132. package/resources/harness/bundles/general/codebuddy/scripts/harness_deploy.py +0 -674
  133. package/resources/harness/bundles/general/codebuddy/scripts/harness_events.py +0 -680
  134. package/resources/harness/bundles/general/codebuddy/scripts/harness_ledger.py +0 -671
  135. package/resources/harness/bundles/general/codebuddy/scripts/harness_preflight.py +0 -780
  136. package/resources/harness/bundles/general/codebuddy/scripts/harness_service.py +0 -1331
  137. package/resources/harness/bundles/general/codex/.harness-build.json +0 -6
  138. package/resources/harness/bundles/general/codex/CONTEXT.md +0 -65
  139. package/resources/harness/bundles/general/codex/README.md +0 -478
  140. package/resources/harness/bundles/general/codex/harness-archive/SKILL.md +0 -198
  141. package/resources/harness/bundles/general/codex/harness-archive/checklist.md +0 -52
  142. package/resources/harness/bundles/general/codex/harness-archive/reference.md +0 -103
  143. package/resources/harness/bundles/general/codex/harness-archive/scripts/gen-manifest.ps1 +0 -31
  144. package/resources/harness/bundles/general/codex/harness-archive/templates/render-summary.mjs +0 -171
  145. package/resources/harness/bundles/general/codex/harness-archive/templates/summary-data-template.json +0 -128
  146. package/resources/harness/bundles/general/codex/harness-codebase-map/SKILL.md +0 -95
  147. package/resources/harness/bundles/general/codex/harness-codebase-map/checklist.md +0 -126
  148. package/resources/harness/bundles/general/codex/harness-codebase-map/reference.md +0 -364
  149. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/ARCHITECTURE.md +0 -57
  150. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/CONCERNS.md +0 -49
  151. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/CONVENTIONS.md +0 -57
  152. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/INTEGRATIONS.md +0 -52
  153. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/STACK.md +0 -55
  154. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/STRUCTURE.md +0 -69
  155. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/TESTING.md +0 -64
  156. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/map-manifest.schema.json +0 -73
  157. package/resources/harness/bundles/general/codex/harness-codebase-map/templates/map-summary.md +0 -64
  158. package/resources/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +0 -229
  159. package/resources/harness/bundles/general/codex/harness-knowledge-ingest/design.md +0 -842
  160. package/resources/harness/bundles/general/codex/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -42
  161. package/resources/harness/bundles/general/codex/harness-knowledge-ingest/mcp-config.example.json +0 -10
  162. package/resources/harness/bundles/general/codex/harness-knowledge-ingest/reference.md +0 -309
  163. package/resources/harness/bundles/general/codex/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -4082
  164. package/resources/harness/bundles/general/codex/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -273
  165. package/resources/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +0 -147
  166. package/resources/harness/bundles/general/codex/harness-plan/SKILL.md +0 -109
  167. package/resources/harness/bundles/general/codex/harness-plan/checklist.md +0 -243
  168. package/resources/harness/bundles/general/codex/harness-plan/protocols.md +0 -124
  169. package/resources/harness/bundles/general/codex/harness-plan/reference.md +0 -376
  170. package/resources/harness/bundles/general/codex/harness-review/SKILL.md +0 -137
  171. package/resources/harness/bundles/general/codex/harness-review/checklist.md +0 -124
  172. package/resources/harness/bundles/general/codex/harness-review/protocols.md +0 -68
  173. package/resources/harness/bundles/general/codex/harness-review/reference.md +0 -86
  174. package/resources/harness/bundles/general/codex/harness-run/SKILL.md +0 -113
  175. package/resources/harness/bundles/general/codex/harness-run/checklist.md +0 -259
  176. package/resources/harness/bundles/general/codex/harness-run/protocols.md +0 -78
  177. package/resources/harness/bundles/general/codex/harness-run/reference.md +0 -834
  178. package/resources/harness/bundles/general/codex/harness-submit/SKILL.md +0 -142
  179. package/resources/harness/bundles/general/codex/harness-submit/checklist.md +0 -407
  180. package/resources/harness/bundles/general/codex/harness-submit/reference.md +0 -152
  181. package/resources/harness/bundles/general/codex/harness-sync/SKILL.md +0 -65
  182. package/resources/harness/bundles/general/codex/harness-sync/reference.md +0 -153
  183. package/resources/harness/bundles/general/codex/harness-test/SKILL.md +0 -160
  184. package/resources/harness/bundles/general/codex/harness-test/checklist.md +0 -319
  185. package/resources/harness/bundles/general/codex/harness-test/pitfalls.md +0 -260
  186. package/resources/harness/bundles/general/codex/harness-test/reference.md +0 -791
  187. package/resources/harness/bundles/general/codex/protocols/archive-report-protocol.md +0 -175
  188. package/resources/harness/bundles/general/codex/protocols/evidence-based-reporting-protocol.md +0 -134
  189. package/resources/harness/bundles/general/codex/protocols/ledger-protocol.md +0 -270
  190. package/resources/harness/bundles/general/codex/protocols/powershell-protocol.md +0 -181
  191. package/resources/harness/bundles/general/codex/protocols/report-pipeline-protocol.md +0 -150
  192. package/resources/harness/bundles/general/codex/protocols/sensitive-info-protocol.md +0 -92
  193. package/resources/harness/bundles/general/codex/protocols/state-layout-protocol.md +0 -131
  194. package/resources/harness/bundles/general/codex/protocols/submit-protocol.md +0 -78
  195. package/resources/harness/bundles/general/codex/scripts/harness_archive.py +0 -2319
  196. package/resources/harness/bundles/general/codex/scripts/harness_deploy.py +0 -674
  197. package/resources/harness/bundles/general/codex/scripts/harness_events.py +0 -680
  198. package/resources/harness/bundles/general/codex/scripts/harness_ledger.py +0 -671
  199. package/resources/harness/bundles/general/codex/scripts/harness_preflight.py +0 -780
  200. package/resources/harness/bundles/general/codex/scripts/harness_service.py +0 -1331
  201. package/resources/harness/bundles/general/cursor/.harness-build.json +0 -6
  202. package/resources/harness/bundles/general/cursor/CONTEXT.md +0 -65
  203. package/resources/harness/bundles/general/cursor/README.md +0 -478
  204. package/resources/harness/bundles/general/cursor/harness-archive/SKILL.md +0 -198
  205. package/resources/harness/bundles/general/cursor/harness-archive/checklist.md +0 -52
  206. package/resources/harness/bundles/general/cursor/harness-archive/reference.md +0 -103
  207. package/resources/harness/bundles/general/cursor/harness-archive/scripts/gen-manifest.ps1 +0 -31
  208. package/resources/harness/bundles/general/cursor/harness-archive/templates/render-summary.mjs +0 -171
  209. package/resources/harness/bundles/general/cursor/harness-archive/templates/summary-data-template.json +0 -128
  210. package/resources/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +0 -95
  211. package/resources/harness/bundles/general/cursor/harness-codebase-map/checklist.md +0 -126
  212. package/resources/harness/bundles/general/cursor/harness-codebase-map/reference.md +0 -364
  213. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/ARCHITECTURE.md +0 -57
  214. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/CONCERNS.md +0 -49
  215. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/CONVENTIONS.md +0 -57
  216. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/INTEGRATIONS.md +0 -52
  217. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/STACK.md +0 -55
  218. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/STRUCTURE.md +0 -69
  219. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/TESTING.md +0 -64
  220. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/map-manifest.schema.json +0 -73
  221. package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/map-summary.md +0 -64
  222. package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +0 -229
  223. package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/design.md +0 -842
  224. package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -42
  225. package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/mcp-config.example.json +0 -10
  226. package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/reference.md +0 -309
  227. package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -4082
  228. package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -273
  229. package/resources/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +0 -147
  230. package/resources/harness/bundles/general/cursor/harness-plan/SKILL.md +0 -109
  231. package/resources/harness/bundles/general/cursor/harness-plan/checklist.md +0 -243
  232. package/resources/harness/bundles/general/cursor/harness-plan/protocols.md +0 -124
  233. package/resources/harness/bundles/general/cursor/harness-plan/reference.md +0 -376
  234. package/resources/harness/bundles/general/cursor/harness-review/SKILL.md +0 -137
  235. package/resources/harness/bundles/general/cursor/harness-review/checklist.md +0 -124
  236. package/resources/harness/bundles/general/cursor/harness-review/protocols.md +0 -68
  237. package/resources/harness/bundles/general/cursor/harness-review/reference.md +0 -86
  238. package/resources/harness/bundles/general/cursor/harness-run/SKILL.md +0 -113
  239. package/resources/harness/bundles/general/cursor/harness-run/checklist.md +0 -259
  240. package/resources/harness/bundles/general/cursor/harness-run/protocols.md +0 -78
  241. package/resources/harness/bundles/general/cursor/harness-run/reference.md +0 -834
  242. package/resources/harness/bundles/general/cursor/harness-submit/SKILL.md +0 -142
  243. package/resources/harness/bundles/general/cursor/harness-submit/checklist.md +0 -407
  244. package/resources/harness/bundles/general/cursor/harness-submit/reference.md +0 -152
  245. package/resources/harness/bundles/general/cursor/harness-sync/SKILL.md +0 -65
  246. package/resources/harness/bundles/general/cursor/harness-sync/reference.md +0 -153
  247. package/resources/harness/bundles/general/cursor/harness-test/SKILL.md +0 -160
  248. package/resources/harness/bundles/general/cursor/harness-test/checklist.md +0 -319
  249. package/resources/harness/bundles/general/cursor/harness-test/pitfalls.md +0 -260
  250. package/resources/harness/bundles/general/cursor/harness-test/reference.md +0 -791
  251. package/resources/harness/bundles/general/cursor/protocols/archive-report-protocol.md +0 -175
  252. package/resources/harness/bundles/general/cursor/protocols/evidence-based-reporting-protocol.md +0 -134
  253. package/resources/harness/bundles/general/cursor/protocols/ledger-protocol.md +0 -270
  254. package/resources/harness/bundles/general/cursor/protocols/powershell-protocol.md +0 -181
  255. package/resources/harness/bundles/general/cursor/protocols/report-pipeline-protocol.md +0 -150
  256. package/resources/harness/bundles/general/cursor/protocols/sensitive-info-protocol.md +0 -92
  257. package/resources/harness/bundles/general/cursor/protocols/state-layout-protocol.md +0 -131
  258. package/resources/harness/bundles/general/cursor/protocols/submit-protocol.md +0 -78
  259. package/resources/harness/bundles/general/cursor/scripts/harness_archive.py +0 -2319
  260. package/resources/harness/bundles/general/cursor/scripts/harness_deploy.py +0 -674
  261. package/resources/harness/bundles/general/cursor/scripts/harness_events.py +0 -680
  262. package/resources/harness/bundles/general/cursor/scripts/harness_ledger.py +0 -671
  263. package/resources/harness/bundles/general/cursor/scripts/harness_preflight.py +0 -780
  264. package/resources/harness/bundles/general/cursor/scripts/harness_service.py +0 -1331
  265. package/resources/harness/bundles/java/claude-code/.harness-build.json +0 -6
  266. package/resources/harness/bundles/java/claude-code/CONTEXT.md +0 -65
  267. package/resources/harness/bundles/java/claude-code/README.md +0 -478
  268. package/resources/harness/bundles/java/claude-code/agents/harness-evaluator.md +0 -96
  269. package/resources/harness/bundles/java/claude-code/agents/harness-explorer.md +0 -72
  270. package/resources/harness/bundles/java/claude-code/agents/harness-reviewer.md +0 -69
  271. package/resources/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +0 -86
  272. package/resources/harness/bundles/java/claude-code/harness-apidoc/checklist.md +0 -142
  273. package/resources/harness/bundles/java/claude-code/harness-apidoc/reference.md +0 -233
  274. package/resources/harness/bundles/java/claude-code/harness-archive/SKILL.md +0 -215
  275. package/resources/harness/bundles/java/claude-code/harness-archive/checklist.md +0 -52
  276. package/resources/harness/bundles/java/claude-code/harness-archive/reference.md +0 -103
  277. package/resources/harness/bundles/java/claude-code/harness-archive/scripts/gen-manifest.ps1 +0 -31
  278. package/resources/harness/bundles/java/claude-code/harness-archive/templates/render-summary.mjs +0 -171
  279. package/resources/harness/bundles/java/claude-code/harness-archive/templates/summary-data-template.json +0 -128
  280. package/resources/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +0 -112
  281. package/resources/harness/bundles/java/claude-code/harness-codebase-map/checklist.md +0 -126
  282. package/resources/harness/bundles/java/claude-code/harness-codebase-map/reference.md +0 -364
  283. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/ARCHITECTURE.md +0 -57
  284. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/CONCERNS.md +0 -49
  285. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/CONVENTIONS.md +0 -57
  286. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/INTEGRATIONS.md +0 -52
  287. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/STACK.md +0 -55
  288. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/STRUCTURE.md +0 -69
  289. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/TESTING.md +0 -64
  290. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/map-manifest.schema.json +0 -73
  291. package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/map-summary.md +0 -64
  292. package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +0 -246
  293. package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/design.md +0 -842
  294. package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -42
  295. package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/mcp-config.example.json +0 -10
  296. package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/reference.md +0 -309
  297. package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -4082
  298. package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -273
  299. package/resources/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +0 -164
  300. package/resources/harness/bundles/java/claude-code/harness-package/SKILL.md +0 -87
  301. package/resources/harness/bundles/java/claude-code/harness-package/checklist.md +0 -322
  302. package/resources/harness/bundles/java/claude-code/harness-package/reference.md +0 -210
  303. package/resources/harness/bundles/java/claude-code/harness-plan/SKILL.md +0 -127
  304. package/resources/harness/bundles/java/claude-code/harness-plan/checklist.md +0 -243
  305. package/resources/harness/bundles/java/claude-code/harness-plan/protocols.md +0 -124
  306. package/resources/harness/bundles/java/claude-code/harness-plan/reference.md +0 -376
  307. package/resources/harness/bundles/java/claude-code/harness-review/SKILL.md +0 -160
  308. package/resources/harness/bundles/java/claude-code/harness-review/checklist.md +0 -124
  309. package/resources/harness/bundles/java/claude-code/harness-review/protocols.md +0 -68
  310. package/resources/harness/bundles/java/claude-code/harness-review/reference.md +0 -86
  311. package/resources/harness/bundles/java/claude-code/harness-run/SKILL.md +0 -148
  312. package/resources/harness/bundles/java/claude-code/harness-run/checklist.md +0 -250
  313. package/resources/harness/bundles/java/claude-code/harness-run/protocols.md +0 -78
  314. package/resources/harness/bundles/java/claude-code/harness-run/reference.md +0 -814
  315. package/resources/harness/bundles/java/claude-code/harness-submit/SKILL.md +0 -166
  316. package/resources/harness/bundles/java/claude-code/harness-submit/checklist.md +0 -407
  317. package/resources/harness/bundles/java/claude-code/harness-submit/reference.md +0 -152
  318. package/resources/harness/bundles/java/claude-code/harness-sync/SKILL.md +0 -82
  319. package/resources/harness/bundles/java/claude-code/harness-sync/reference.md +0 -153
  320. package/resources/harness/bundles/java/claude-code/harness-test/SKILL.md +0 -192
  321. package/resources/harness/bundles/java/claude-code/harness-test/checklist.md +0 -317
  322. package/resources/harness/bundles/java/claude-code/harness-test/pitfalls-java.md +0 -16
  323. package/resources/harness/bundles/java/claude-code/harness-test/pitfalls.md +0 -260
  324. package/resources/harness/bundles/java/claude-code/harness-test/reference.md +0 -788
  325. package/resources/harness/bundles/java/claude-code/protocols/archive-report-protocol.md +0 -175
  326. package/resources/harness/bundles/java/claude-code/protocols/evidence-based-reporting-protocol.md +0 -134
  327. package/resources/harness/bundles/java/claude-code/protocols/ledger-protocol.md +0 -270
  328. package/resources/harness/bundles/java/claude-code/protocols/powershell-protocol.md +0 -181
  329. package/resources/harness/bundles/java/claude-code/protocols/report-pipeline-protocol.md +0 -150
  330. package/resources/harness/bundles/java/claude-code/protocols/sensitive-info-protocol.md +0 -92
  331. package/resources/harness/bundles/java/claude-code/protocols/state-layout-protocol.md +0 -131
  332. package/resources/harness/bundles/java/claude-code/protocols/submit-protocol.md +0 -78
  333. package/resources/harness/bundles/java/claude-code/scripts/harness_archive.py +0 -2319
  334. package/resources/harness/bundles/java/claude-code/scripts/harness_deploy.py +0 -674
  335. package/resources/harness/bundles/java/claude-code/scripts/harness_events.py +0 -680
  336. package/resources/harness/bundles/java/claude-code/scripts/harness_ledger.py +0 -671
  337. package/resources/harness/bundles/java/claude-code/scripts/harness_preflight.py +0 -780
  338. package/resources/harness/bundles/java/claude-code/scripts/harness_service.py +0 -1331
  339. package/resources/harness/bundles/java/codebuddy/.harness-build.json +0 -6
  340. package/resources/harness/bundles/java/codebuddy/CONTEXT.md +0 -65
  341. package/resources/harness/bundles/java/codebuddy/README.md +0 -478
  342. package/resources/harness/bundles/java/codebuddy/agents/harness-evaluator.md +0 -94
  343. package/resources/harness/bundles/java/codebuddy/agents/harness-explorer.md +0 -53
  344. package/resources/harness/bundles/java/codebuddy/agents/harness-reviewer.md +0 -52
  345. package/resources/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +0 -68
  346. package/resources/harness/bundles/java/codebuddy/harness-apidoc/checklist.md +0 -142
  347. package/resources/harness/bundles/java/codebuddy/harness-apidoc/reference.md +0 -233
  348. package/resources/harness/bundles/java/codebuddy/harness-archive/SKILL.md +0 -198
  349. package/resources/harness/bundles/java/codebuddy/harness-archive/checklist.md +0 -52
  350. package/resources/harness/bundles/java/codebuddy/harness-archive/reference.md +0 -103
  351. package/resources/harness/bundles/java/codebuddy/harness-archive/scripts/gen-manifest.ps1 +0 -31
  352. package/resources/harness/bundles/java/codebuddy/harness-archive/templates/render-summary.mjs +0 -171
  353. package/resources/harness/bundles/java/codebuddy/harness-archive/templates/summary-data-template.json +0 -128
  354. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +0 -95
  355. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/checklist.md +0 -126
  356. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/reference.md +0 -364
  357. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/ARCHITECTURE.md +0 -57
  358. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/CONCERNS.md +0 -49
  359. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/CONVENTIONS.md +0 -57
  360. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/INTEGRATIONS.md +0 -52
  361. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/STACK.md +0 -55
  362. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/STRUCTURE.md +0 -69
  363. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/TESTING.md +0 -64
  364. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/map-manifest.schema.json +0 -73
  365. package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/map-summary.md +0 -64
  366. package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +0 -229
  367. package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/design.md +0 -842
  368. package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -42
  369. package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/mcp-config.example.json +0 -10
  370. package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/reference.md +0 -309
  371. package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -4082
  372. package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -273
  373. package/resources/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +0 -147
  374. package/resources/harness/bundles/java/codebuddy/harness-package/SKILL.md +0 -69
  375. package/resources/harness/bundles/java/codebuddy/harness-package/checklist.md +0 -322
  376. package/resources/harness/bundles/java/codebuddy/harness-package/reference.md +0 -210
  377. package/resources/harness/bundles/java/codebuddy/harness-plan/SKILL.md +0 -109
  378. package/resources/harness/bundles/java/codebuddy/harness-plan/checklist.md +0 -243
  379. package/resources/harness/bundles/java/codebuddy/harness-plan/protocols.md +0 -124
  380. package/resources/harness/bundles/java/codebuddy/harness-plan/reference.md +0 -376
  381. package/resources/harness/bundles/java/codebuddy/harness-review/SKILL.md +0 -142
  382. package/resources/harness/bundles/java/codebuddy/harness-review/checklist.md +0 -124
  383. package/resources/harness/bundles/java/codebuddy/harness-review/protocols.md +0 -68
  384. package/resources/harness/bundles/java/codebuddy/harness-review/reference.md +0 -86
  385. package/resources/harness/bundles/java/codebuddy/harness-run/SKILL.md +0 -129
  386. package/resources/harness/bundles/java/codebuddy/harness-run/checklist.md +0 -250
  387. package/resources/harness/bundles/java/codebuddy/harness-run/protocols.md +0 -78
  388. package/resources/harness/bundles/java/codebuddy/harness-run/reference.md +0 -814
  389. package/resources/harness/bundles/java/codebuddy/harness-submit/SKILL.md +0 -149
  390. package/resources/harness/bundles/java/codebuddy/harness-submit/checklist.md +0 -407
  391. package/resources/harness/bundles/java/codebuddy/harness-submit/reference.md +0 -152
  392. package/resources/harness/bundles/java/codebuddy/harness-sync/SKILL.md +0 -65
  393. package/resources/harness/bundles/java/codebuddy/harness-sync/reference.md +0 -153
  394. package/resources/harness/bundles/java/codebuddy/harness-test/SKILL.md +0 -172
  395. package/resources/harness/bundles/java/codebuddy/harness-test/checklist.md +0 -317
  396. package/resources/harness/bundles/java/codebuddy/harness-test/pitfalls-java.md +0 -16
  397. package/resources/harness/bundles/java/codebuddy/harness-test/pitfalls.md +0 -260
  398. package/resources/harness/bundles/java/codebuddy/harness-test/reference.md +0 -788
  399. package/resources/harness/bundles/java/codebuddy/protocols/archive-report-protocol.md +0 -175
  400. package/resources/harness/bundles/java/codebuddy/protocols/evidence-based-reporting-protocol.md +0 -134
  401. package/resources/harness/bundles/java/codebuddy/protocols/ledger-protocol.md +0 -270
  402. package/resources/harness/bundles/java/codebuddy/protocols/powershell-protocol.md +0 -181
  403. package/resources/harness/bundles/java/codebuddy/protocols/report-pipeline-protocol.md +0 -150
  404. package/resources/harness/bundles/java/codebuddy/protocols/sensitive-info-protocol.md +0 -92
  405. package/resources/harness/bundles/java/codebuddy/protocols/state-layout-protocol.md +0 -131
  406. package/resources/harness/bundles/java/codebuddy/protocols/submit-protocol.md +0 -78
  407. package/resources/harness/bundles/java/codebuddy/scripts/harness_archive.py +0 -2319
  408. package/resources/harness/bundles/java/codebuddy/scripts/harness_deploy.py +0 -674
  409. package/resources/harness/bundles/java/codebuddy/scripts/harness_events.py +0 -680
  410. package/resources/harness/bundles/java/codebuddy/scripts/harness_ledger.py +0 -671
  411. package/resources/harness/bundles/java/codebuddy/scripts/harness_preflight.py +0 -780
  412. package/resources/harness/bundles/java/codebuddy/scripts/harness_service.py +0 -1331
  413. package/resources/harness/bundles/java/codex/.harness-build.json +0 -6
  414. package/resources/harness/bundles/java/codex/CONTEXT.md +0 -65
  415. package/resources/harness/bundles/java/codex/README.md +0 -478
  416. package/resources/harness/bundles/java/codex/harness-apidoc/SKILL.md +0 -68
  417. package/resources/harness/bundles/java/codex/harness-apidoc/checklist.md +0 -142
  418. package/resources/harness/bundles/java/codex/harness-apidoc/reference.md +0 -233
  419. package/resources/harness/bundles/java/codex/harness-archive/SKILL.md +0 -198
  420. package/resources/harness/bundles/java/codex/harness-archive/checklist.md +0 -52
  421. package/resources/harness/bundles/java/codex/harness-archive/reference.md +0 -103
  422. package/resources/harness/bundles/java/codex/harness-archive/scripts/gen-manifest.ps1 +0 -31
  423. package/resources/harness/bundles/java/codex/harness-archive/templates/render-summary.mjs +0 -171
  424. package/resources/harness/bundles/java/codex/harness-archive/templates/summary-data-template.json +0 -128
  425. package/resources/harness/bundles/java/codex/harness-codebase-map/SKILL.md +0 -95
  426. package/resources/harness/bundles/java/codex/harness-codebase-map/checklist.md +0 -126
  427. package/resources/harness/bundles/java/codex/harness-codebase-map/reference.md +0 -364
  428. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/ARCHITECTURE.md +0 -57
  429. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/CONCERNS.md +0 -49
  430. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/CONVENTIONS.md +0 -57
  431. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/INTEGRATIONS.md +0 -52
  432. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/STACK.md +0 -55
  433. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/STRUCTURE.md +0 -69
  434. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/TESTING.md +0 -64
  435. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/map-manifest.schema.json +0 -73
  436. package/resources/harness/bundles/java/codex/harness-codebase-map/templates/map-summary.md +0 -64
  437. package/resources/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +0 -229
  438. package/resources/harness/bundles/java/codex/harness-knowledge-ingest/design.md +0 -842
  439. package/resources/harness/bundles/java/codex/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -42
  440. package/resources/harness/bundles/java/codex/harness-knowledge-ingest/mcp-config.example.json +0 -10
  441. package/resources/harness/bundles/java/codex/harness-knowledge-ingest/reference.md +0 -309
  442. package/resources/harness/bundles/java/codex/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -4082
  443. package/resources/harness/bundles/java/codex/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -273
  444. package/resources/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +0 -147
  445. package/resources/harness/bundles/java/codex/harness-package/SKILL.md +0 -69
  446. package/resources/harness/bundles/java/codex/harness-package/checklist.md +0 -322
  447. package/resources/harness/bundles/java/codex/harness-package/reference.md +0 -210
  448. package/resources/harness/bundles/java/codex/harness-plan/SKILL.md +0 -109
  449. package/resources/harness/bundles/java/codex/harness-plan/checklist.md +0 -243
  450. package/resources/harness/bundles/java/codex/harness-plan/protocols.md +0 -124
  451. package/resources/harness/bundles/java/codex/harness-plan/reference.md +0 -376
  452. package/resources/harness/bundles/java/codex/harness-review/SKILL.md +0 -137
  453. package/resources/harness/bundles/java/codex/harness-review/checklist.md +0 -124
  454. package/resources/harness/bundles/java/codex/harness-review/protocols.md +0 -68
  455. package/resources/harness/bundles/java/codex/harness-review/reference.md +0 -86
  456. package/resources/harness/bundles/java/codex/harness-run/SKILL.md +0 -129
  457. package/resources/harness/bundles/java/codex/harness-run/checklist.md +0 -250
  458. package/resources/harness/bundles/java/codex/harness-run/protocols.md +0 -78
  459. package/resources/harness/bundles/java/codex/harness-run/reference.md +0 -814
  460. package/resources/harness/bundles/java/codex/harness-submit/SKILL.md +0 -149
  461. package/resources/harness/bundles/java/codex/harness-submit/checklist.md +0 -407
  462. package/resources/harness/bundles/java/codex/harness-submit/reference.md +0 -152
  463. package/resources/harness/bundles/java/codex/harness-sync/SKILL.md +0 -65
  464. package/resources/harness/bundles/java/codex/harness-sync/reference.md +0 -153
  465. package/resources/harness/bundles/java/codex/harness-test/SKILL.md +0 -172
  466. package/resources/harness/bundles/java/codex/harness-test/checklist.md +0 -317
  467. package/resources/harness/bundles/java/codex/harness-test/pitfalls-java.md +0 -16
  468. package/resources/harness/bundles/java/codex/harness-test/pitfalls.md +0 -260
  469. package/resources/harness/bundles/java/codex/harness-test/reference.md +0 -788
  470. package/resources/harness/bundles/java/codex/protocols/archive-report-protocol.md +0 -175
  471. package/resources/harness/bundles/java/codex/protocols/evidence-based-reporting-protocol.md +0 -134
  472. package/resources/harness/bundles/java/codex/protocols/ledger-protocol.md +0 -270
  473. package/resources/harness/bundles/java/codex/protocols/powershell-protocol.md +0 -181
  474. package/resources/harness/bundles/java/codex/protocols/report-pipeline-protocol.md +0 -150
  475. package/resources/harness/bundles/java/codex/protocols/sensitive-info-protocol.md +0 -92
  476. package/resources/harness/bundles/java/codex/protocols/state-layout-protocol.md +0 -131
  477. package/resources/harness/bundles/java/codex/protocols/submit-protocol.md +0 -78
  478. package/resources/harness/bundles/java/codex/scripts/harness_archive.py +0 -2319
  479. package/resources/harness/bundles/java/codex/scripts/harness_deploy.py +0 -674
  480. package/resources/harness/bundles/java/codex/scripts/harness_events.py +0 -680
  481. package/resources/harness/bundles/java/codex/scripts/harness_ledger.py +0 -671
  482. package/resources/harness/bundles/java/codex/scripts/harness_preflight.py +0 -780
  483. package/resources/harness/bundles/java/codex/scripts/harness_service.py +0 -1331
  484. package/resources/harness/bundles/java/cursor/.harness-build.json +0 -6
  485. package/resources/harness/bundles/java/cursor/CONTEXT.md +0 -65
  486. package/resources/harness/bundles/java/cursor/README.md +0 -478
  487. package/resources/harness/bundles/java/cursor/harness-apidoc/SKILL.md +0 -68
  488. package/resources/harness/bundles/java/cursor/harness-apidoc/checklist.md +0 -142
  489. package/resources/harness/bundles/java/cursor/harness-apidoc/reference.md +0 -233
  490. package/resources/harness/bundles/java/cursor/harness-archive/SKILL.md +0 -198
  491. package/resources/harness/bundles/java/cursor/harness-archive/checklist.md +0 -52
  492. package/resources/harness/bundles/java/cursor/harness-archive/reference.md +0 -103
  493. package/resources/harness/bundles/java/cursor/harness-archive/scripts/gen-manifest.ps1 +0 -31
  494. package/resources/harness/bundles/java/cursor/harness-archive/templates/render-summary.mjs +0 -171
  495. package/resources/harness/bundles/java/cursor/harness-archive/templates/summary-data-template.json +0 -128
  496. package/resources/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +0 -95
  497. package/resources/harness/bundles/java/cursor/harness-codebase-map/checklist.md +0 -126
  498. package/resources/harness/bundles/java/cursor/harness-codebase-map/reference.md +0 -364
  499. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/ARCHITECTURE.md +0 -57
  500. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/CONCERNS.md +0 -49
  501. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/CONVENTIONS.md +0 -57
  502. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/INTEGRATIONS.md +0 -52
  503. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/STACK.md +0 -55
  504. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/STRUCTURE.md +0 -69
  505. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/TESTING.md +0 -64
  506. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/map-manifest.schema.json +0 -73
  507. package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/map-summary.md +0 -64
  508. package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +0 -229
  509. package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/design.md +0 -842
  510. package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -42
  511. package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/mcp-config.example.json +0 -10
  512. package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/reference.md +0 -309
  513. package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -4082
  514. package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -273
  515. package/resources/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +0 -147
  516. package/resources/harness/bundles/java/cursor/harness-package/SKILL.md +0 -69
  517. package/resources/harness/bundles/java/cursor/harness-package/checklist.md +0 -322
  518. package/resources/harness/bundles/java/cursor/harness-package/reference.md +0 -210
  519. package/resources/harness/bundles/java/cursor/harness-plan/SKILL.md +0 -109
  520. package/resources/harness/bundles/java/cursor/harness-plan/checklist.md +0 -243
  521. package/resources/harness/bundles/java/cursor/harness-plan/protocols.md +0 -124
  522. package/resources/harness/bundles/java/cursor/harness-plan/reference.md +0 -376
  523. package/resources/harness/bundles/java/cursor/harness-review/SKILL.md +0 -137
  524. package/resources/harness/bundles/java/cursor/harness-review/checklist.md +0 -124
  525. package/resources/harness/bundles/java/cursor/harness-review/protocols.md +0 -68
  526. package/resources/harness/bundles/java/cursor/harness-review/reference.md +0 -86
  527. package/resources/harness/bundles/java/cursor/harness-run/SKILL.md +0 -129
  528. package/resources/harness/bundles/java/cursor/harness-run/checklist.md +0 -250
  529. package/resources/harness/bundles/java/cursor/harness-run/protocols.md +0 -78
  530. package/resources/harness/bundles/java/cursor/harness-run/reference.md +0 -814
  531. package/resources/harness/bundles/java/cursor/harness-submit/SKILL.md +0 -149
  532. package/resources/harness/bundles/java/cursor/harness-submit/checklist.md +0 -407
  533. package/resources/harness/bundles/java/cursor/harness-submit/reference.md +0 -152
  534. package/resources/harness/bundles/java/cursor/harness-sync/SKILL.md +0 -65
  535. package/resources/harness/bundles/java/cursor/harness-sync/reference.md +0 -153
  536. package/resources/harness/bundles/java/cursor/harness-test/SKILL.md +0 -172
  537. package/resources/harness/bundles/java/cursor/harness-test/checklist.md +0 -317
  538. package/resources/harness/bundles/java/cursor/harness-test/pitfalls-java.md +0 -16
  539. package/resources/harness/bundles/java/cursor/harness-test/pitfalls.md +0 -260
  540. package/resources/harness/bundles/java/cursor/harness-test/reference.md +0 -788
  541. package/resources/harness/bundles/java/cursor/protocols/archive-report-protocol.md +0 -175
  542. package/resources/harness/bundles/java/cursor/protocols/evidence-based-reporting-protocol.md +0 -134
  543. package/resources/harness/bundles/java/cursor/protocols/ledger-protocol.md +0 -270
  544. package/resources/harness/bundles/java/cursor/protocols/powershell-protocol.md +0 -181
  545. package/resources/harness/bundles/java/cursor/protocols/report-pipeline-protocol.md +0 -150
  546. package/resources/harness/bundles/java/cursor/protocols/sensitive-info-protocol.md +0 -92
  547. package/resources/harness/bundles/java/cursor/protocols/state-layout-protocol.md +0 -131
  548. package/resources/harness/bundles/java/cursor/protocols/submit-protocol.md +0 -78
  549. package/resources/harness/bundles/java/cursor/scripts/harness_archive.py +0 -2319
  550. package/resources/harness/bundles/java/cursor/scripts/harness_deploy.py +0 -674
  551. package/resources/harness/bundles/java/cursor/scripts/harness_events.py +0 -680
  552. package/resources/harness/bundles/java/cursor/scripts/harness_ledger.py +0 -671
  553. package/resources/harness/bundles/java/cursor/scripts/harness_preflight.py +0 -780
  554. package/resources/harness/bundles/java/cursor/scripts/harness_service.py +0 -1331
  555. package/resources/harness/manifests/general/claude-code.json +0 -277
  556. package/resources/harness/manifests/general/codebuddy.json +0 -277
  557. package/resources/harness/manifests/general/codex.json +0 -265
  558. package/resources/harness/manifests/general/cursor.json +0 -265
  559. package/resources/harness/manifests/java/claude-code.json +0 -305
  560. package/resources/harness/manifests/java/codebuddy.json +0 -305
  561. package/resources/harness/manifests/java/codex.json +0 -293
  562. package/resources/harness/manifests/java/cursor.json +0 -293
  563. package/resources/harness/migrations/0.1.1/general.json +0 -358
  564. package/resources/harness/migrations/0.1.1/java.json +0 -398
package/dist/bin.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/bin.ts
4
- import { fileURLToPath, pathToFileURL } from "node:url";
4
+ import { pathToFileURL } from "node:url";
5
5
  import { createInterface } from "node:readline/promises";
6
6
  import { Command, CommanderError } from "commander";
7
7
 
@@ -133,8 +133,14 @@ var baselineManifestSchema = z2.object({
133
133
  project_id: z2.string().regex(/^prj_/).nullable(),
134
134
  complete_project_version: z2.string().regex(/^pv_/).nullable(),
135
135
  artifact_manifest_hash: sha256Schema.nullable(),
136
+ latest_artifact_id: z2.string().regex(/^art_/).nullable().optional(),
136
137
  files: z2.record(z2.string(), baselineFileSchema)
137
138
  }).strict();
139
+ var finalizeProposalSchema = z2.object({
140
+ schema_version: z2.literal(1),
141
+ manifest_sha256: sha256Schema,
142
+ base_artifact_id: z2.string().regex(/^art_/).nullable()
143
+ }).strict();
138
144
  var requestMetadataSchema = z2.object({
139
145
  request_id: z2.uuid(),
140
146
  idempotency_key: z2.uuid(),
@@ -286,7 +292,21 @@ var registrySkillSummarySchema = z3.object({
286
292
  agents: z3.array(agentSkillConfigSchema),
287
293
  revision: z3.number().int().positive(),
288
294
  created_at: z3.iso.datetime(),
289
- updated_at: z3.iso.datetime()
295
+ updated_at: z3.iso.datetime(),
296
+ // npm 发布记录(registry snapshot 可选字段,旧快照缺省为 [])
297
+ npmReleases: z3.array(z3.lazy(() => npmReleaseRecordSchema)).optional().default([])
298
+ }).strict();
299
+ var npmReleaseStatusSchema = z3.enum(["published", "failed", "conflict"]);
300
+ var npmReleaseRecordSchema = z3.object({
301
+ version: registrySemverSchema,
302
+ packageName: z3.string().min(1),
303
+ status: npmReleaseStatusSchema,
304
+ publishedAt: z3.iso.datetime(),
305
+ error: z3.string().nullable().optional().default(null)
306
+ }).strict();
307
+ var npmReleaseResponseSchema = z3.object({
308
+ slug: registrySlugSchema,
309
+ release: npmReleaseRecordSchema
290
310
  }).strict();
291
311
  var registrySkillDetailSchema = registrySkillSummarySchema.extend({
292
312
  ir: z3.unknown().optional(),
@@ -313,34 +333,6 @@ var registryTagSchema = z3.object({
313
333
  created_at: z3.iso.datetime(),
314
334
  updated_at: z3.iso.datetime()
315
335
  }).strict();
316
- var registryWorkflowSchema = z3.object({
317
- workflow_id: z3.string().regex(/^wf_/),
318
- key: registrySlugSchema,
319
- name: z3.string().min(1).max(120),
320
- description: z3.string().min(1).max(1e3),
321
- profile: registrySlugSchema,
322
- default_agent: registryAgentSchema,
323
- enabled: z3.boolean(),
324
- skill_slugs: z3.array(registrySlugSchema),
325
- revision: z3.number().int().positive(),
326
- created_at: z3.iso.datetime(),
327
- updated_at: z3.iso.datetime()
328
- }).strict();
329
- var registryWorkflowMutationSchema = z3.object({
330
- key: registrySlugSchema,
331
- name: z3.string().min(1).max(120),
332
- description: z3.string().min(1).max(1e3),
333
- profile: registrySlugSchema,
334
- default_agent: registryAgentSchema,
335
- enabled: z3.boolean(),
336
- skill_slugs: z3.array(registrySlugSchema)
337
- }).strict();
338
- var registryProjectWorkflowBindingSchema = z3.object({
339
- project_id: z3.string().regex(/^prj_/),
340
- workflow_id: z3.string().regex(/^wf_/),
341
- revision: z3.number().int().positive(),
342
- updated_at: z3.iso.datetime()
343
- }).strict();
344
336
 
345
337
  // ../contracts/dist/ai-config.js
346
338
  var aiProviderApiFormatSchema = z4.enum(["openai", "anthropic", "custom"]);
@@ -458,7 +450,10 @@ var apiErrorCodeSchema = z5.enum([
458
450
  "DRAFT_NOT_FOUND",
459
451
  "REVISION_CONFLICT",
460
452
  "ADAPTER_NOT_INSTALLABLE",
461
- "WORKFLOW_PACKAGE_REDIRECT"
453
+ "WORKFLOW_PACKAGE_REDIRECT",
454
+ "NPM_PUBLISH_NOT_CONFIGURED",
455
+ "NPM_PUBLISH_NOT_PUBLISHED",
456
+ "NPM_PUBLISH_CONFLICT"
462
457
  ]);
463
458
  var apiErrorEnvelopeSchema = z5.object({
464
459
  error: z5.object({
@@ -480,46 +475,90 @@ var cliExitCodeSchema = z5.union([
480
475
  z5.literal(8)
481
476
  ]);
482
477
 
483
- // ../contracts/dist/fix.js
478
+ // ../contracts/dist/external-skill.js
484
479
  import { z as z6 } from "zod";
485
- var fixActionSchema = z6.enum(["auto", "confirm", "suggest"]);
486
- var fixPlanItemSchema = z6.object({
487
- checkId: z6.string(),
480
+ var externalSkillSourceTypeSchema = z6.enum(["npm", "github"]);
481
+ var externalSkillSourceSchema = z6.object({
482
+ type: externalSkillSourceTypeSchema,
483
+ /** npm 包名,或规范化后的 `owner/repo` */
484
+ ref: z6.string().min(1)
485
+ }).strict();
486
+ var externalSkillSnapshotSchema = z6.object({
487
+ name: z6.string(),
488
+ description: z6.string(),
489
+ version: z6.string().nullable(),
490
+ readme: z6.string().nullable(),
491
+ installCommand: z6.string(),
492
+ license: z6.string().nullable(),
493
+ homepage: z6.string().nullable(),
494
+ releaseUrl: z6.string().nullable(),
495
+ fetchedAt: z6.string()
496
+ }).strict();
497
+ var externalSkillSchema = z6.object({
498
+ id: z6.string().regex(/^ext_/),
499
+ source: externalSkillSourceSchema,
500
+ snapshot: externalSkillSnapshotSchema,
501
+ curationNote: z6.string(),
502
+ tags: z6.array(z6.string()),
503
+ updateAvailable: z6.boolean(),
504
+ lastCheckedAt: z6.string(),
505
+ revision: z6.number().int().positive(),
506
+ created_at: z6.string(),
507
+ updated_at: z6.string()
508
+ }).strict();
509
+ var createExternalSkillRequestSchema = z6.object({
510
+ source: externalSkillSourceSchema,
511
+ curationNote: z6.string().default(""),
512
+ tags: z6.array(z6.string()).default([])
513
+ }).strict();
514
+ var patchExternalSkillRequestSchema = z6.object({
515
+ curationNote: z6.string().optional(),
516
+ tags: z6.array(z6.string()).optional(),
517
+ /** 清除「有更新」徽章(不改变 curationNote / snapshot) */
518
+ acknowledgeUpdate: z6.boolean().optional(),
519
+ revision: z6.number().int().positive()
520
+ }).strict();
521
+
522
+ // ../contracts/dist/fix.js
523
+ import { z as z7 } from "zod";
524
+ var fixActionSchema = z7.enum(["auto", "confirm", "suggest"]);
525
+ var fixPlanItemSchema = z7.object({
526
+ checkId: z7.string(),
488
527
  action: fixActionSchema,
489
- label: z6.string(),
490
- affectedPaths: z6.array(z6.string()),
491
- riskDelta: z6.string().nullable(),
492
- message: z6.string(),
528
+ label: z7.string(),
529
+ affectedPaths: z7.array(z7.string()),
530
+ riskDelta: z7.string().nullable(),
531
+ message: z7.string(),
493
532
  // AI 内容生成切片:fix-suggestions 端点填充(fixer.buildFixPatch 填的 item 不带,向后兼容)
494
- suggestedContent: z6.string().nullable().optional(),
495
- explanation: z6.string().nullable().optional(),
496
- appliesTo: z6.enum(["examples", "allowed_capabilities", "instructions", "description", "tags"]).nullable().optional(),
497
- generatedAt: z6.string().nullable().optional()
533
+ suggestedContent: z7.string().nullable().optional(),
534
+ explanation: z7.string().nullable().optional(),
535
+ appliesTo: z7.enum(["examples", "allowed_capabilities", "instructions", "description", "tags"]).nullable().optional(),
536
+ generatedAt: z7.string().nullable().optional()
498
537
  }).strict();
499
- var fixPlanSchema = z6.object({
500
- items: z6.array(fixPlanItemSchema),
501
- mergedFiles: z6.array(skillDiffFileSchema),
502
- summary: z6.object({
503
- autoCount: z6.number().int(),
504
- confirmCount: z6.number().int(),
505
- suggestCount: z6.number().int(),
506
- changedFiles: z6.number().int(),
507
- changedLines: z6.number().int()
538
+ var fixPlanSchema = z7.object({
539
+ items: z7.array(fixPlanItemSchema),
540
+ mergedFiles: z7.array(skillDiffFileSchema),
541
+ summary: z7.object({
542
+ autoCount: z7.number().int(),
543
+ confirmCount: z7.number().int(),
544
+ suggestCount: z7.number().int(),
545
+ changedFiles: z7.number().int(),
546
+ changedLines: z7.number().int()
508
547
  })
509
548
  }).strict();
510
549
 
511
550
  // ../contracts/dist/knowledge.js
512
- import { z as z7 } from "zod";
513
- var knowledgeStatusSchema = z7.enum([
551
+ import { z as z8 } from "zod";
552
+ var knowledgeStatusSchema = z8.enum([
514
553
  "candidate",
515
554
  "active",
516
555
  "stale",
517
556
  "deprecated",
518
557
  "superseded"
519
558
  ]);
520
- var knowledgeFrontmatterSchema = z7.object({
521
- id: z7.string().regex(/^knowledge\.[a-z0-9.-]+$/),
522
- type: z7.enum([
559
+ var knowledgeFrontmatterSchema = z8.object({
560
+ id: z8.string().regex(/^knowledge\.[a-z0-9.-]+$/),
561
+ type: z8.enum([
523
562
  "business",
524
563
  "architecture",
525
564
  "decision",
@@ -528,7 +567,7 @@ var knowledgeFrontmatterSchema = z7.object({
528
567
  "glossary",
529
568
  "project-local"
530
569
  ]),
531
- scope: z7.enum([
570
+ scope: z8.enum([
532
571
  "global",
533
572
  "project",
534
573
  "module",
@@ -537,48 +576,178 @@ var knowledgeFrontmatterSchema = z7.object({
537
576
  "business-domain",
538
577
  "local"
539
578
  ]),
540
- confidence: z7.enum(["verified", "inferred", "unverified", "low"]),
579
+ confidence: z8.enum(["verified", "inferred", "unverified", "low"]),
541
580
  status: knowledgeStatusSchema,
542
- domains: z7.array(z7.string()),
543
- modules: z7.array(z7.string()),
544
- related_paths: z7.array(z7.string()),
545
- source: z7.object({
546
- kind: z7.enum(["manual", "archive", "review", "imported", "test", "design"]),
547
- ref: z7.string().min(1)
581
+ domains: z8.array(z8.string()),
582
+ modules: z8.array(z8.string()),
583
+ related_paths: z8.array(z8.string()),
584
+ source: z8.object({
585
+ kind: z8.enum(["manual", "archive", "review", "imported", "test", "design"]),
586
+ ref: z8.string().min(1)
548
587
  }).strict(),
549
- created_at: z7.iso.datetime(),
550
- updated_at: z7.iso.datetime(),
551
- last_verified_at: z7.iso.datetime().nullable(),
552
- expires_at: z7.iso.datetime().nullable(),
553
- supersedes: z7.array(z7.string()),
554
- superseded_by: z7.array(z7.string())
588
+ created_at: z8.iso.datetime(),
589
+ updated_at: z8.iso.datetime(),
590
+ last_verified_at: z8.iso.datetime().nullable(),
591
+ expires_at: z8.iso.datetime().nullable(),
592
+ supersedes: z8.array(z8.string()),
593
+ superseded_by: z8.array(z8.string())
594
+ }).strict();
595
+ var knowledgeMarkdownIndexSchema = z8.object({
596
+ schema_version: z8.literal(1),
597
+ generated_at: z8.iso.datetime(),
598
+ entries: z8.array(z8.object({
599
+ id: z8.string(),
600
+ type: z8.string(),
601
+ scope: z8.string(),
602
+ confidence: z8.string(),
603
+ status: knowledgeStatusSchema,
604
+ domains: z8.array(z8.string()),
605
+ modules: z8.array(z8.string()),
606
+ related_paths: z8.array(z8.string()),
607
+ source: knowledgeFrontmatterSchema.shape.source,
608
+ created_at: z8.iso.datetime(),
609
+ updated_at: z8.iso.datetime(),
610
+ last_verified_at: z8.iso.datetime().nullable(),
611
+ expires_at: z8.iso.datetime().nullable(),
612
+ supersedes: z8.array(z8.string()),
613
+ superseded_by: z8.array(z8.string()),
614
+ path: z8.string(),
615
+ content_sha256: z8.string(),
616
+ summary: z8.string(),
617
+ local: z8.boolean()
618
+ }).strict())
619
+ }).strict();
620
+ var knowledgeIngestTimestampSchema = z8.string().min(1);
621
+ var knowledgeIngestEntryTypeSchema = z8.enum([
622
+ "requirement",
623
+ "decision",
624
+ "implementation",
625
+ "risk",
626
+ "test-evidence",
627
+ "pitfall",
628
+ "api-contract"
629
+ ]);
630
+ var knowledgeIngestEntryStatusSchema = z8.enum([
631
+ "candidate",
632
+ "active",
633
+ "stale",
634
+ "superseded",
635
+ "deprecated",
636
+ "conflicted"
637
+ ]);
638
+ var knowledgeConfidenceScoreSchema = z8.object({
639
+ score: z8.number(),
640
+ level: z8.string(),
641
+ signals: z8.array(z8.string()),
642
+ lastCalculatedAt: knowledgeIngestTimestampSchema
643
+ }).strict();
644
+ var knowledgeIngestEntryLifecycleSchema = z8.object({
645
+ createdAt: knowledgeIngestTimestampSchema,
646
+ verifiedAt: knowledgeIngestTimestampSchema,
647
+ lastCheckedAt: knowledgeIngestTimestampSchema,
648
+ confidence: z8.string(),
649
+ supersedes: z8.array(z8.string()),
650
+ supersededBy: z8.string().nullable(),
651
+ conflictsWith: z8.array(z8.string()),
652
+ staleReasons: z8.array(z8.string()),
653
+ promotedAt: knowledgeIngestTimestampSchema.optional(),
654
+ promotionNote: z8.string().optional(),
655
+ demotedAt: knowledgeIngestTimestampSchema.optional(),
656
+ validation: z8.object({
657
+ validatedAt: knowledgeIngestTimestampSchema,
658
+ status: z8.enum(["passed", "failed", "skipped"]),
659
+ results: z8.array(z8.record(z8.string(), z8.unknown()))
660
+ }).strict().optional()
661
+ }).strict();
662
+ var knowledgeIngestEntrySourceSchema = z8.object({
663
+ archive: z8.string(),
664
+ summaryData: z8.string(),
665
+ summarySha256: z8.string(),
666
+ sourceCommit: z8.string(),
667
+ baseCommit: z8.string(),
668
+ changeName: z8.string(),
669
+ finalStatus: z8.string()
670
+ }).strict();
671
+ var knowledgeIngestEntrySchema = z8.object({
672
+ schemaVersion: z8.literal(1),
673
+ id: z8.string().min(1),
674
+ projectId: z8.string().min(1),
675
+ type: knowledgeIngestEntryTypeSchema,
676
+ status: knowledgeIngestEntryStatusSchema,
677
+ title: z8.string(),
678
+ summary: z8.string(),
679
+ body: z8.string(),
680
+ keywords: z8.array(z8.string()),
681
+ source: knowledgeIngestEntrySourceSchema,
682
+ scope: z8.object({
683
+ sourceFiles: z8.array(z8.string()),
684
+ staleIfPathsChanged: z8.array(z8.string()).optional()
685
+ }).strict(),
686
+ lifecycle: knowledgeIngestEntryLifecycleSchema,
687
+ confidence: knowledgeConfidenceScoreSchema.optional(),
688
+ validators: z8.array(z8.record(z8.string(), z8.unknown())).optional(),
689
+ reviewReasons: z8.array(z8.string()).optional()
690
+ }).strict();
691
+ var knowledgeIngestIndexEntryRefSchema = z8.object({
692
+ id: z8.string(),
693
+ type: knowledgeIngestEntryTypeSchema,
694
+ status: knowledgeIngestEntryStatusSchema,
695
+ title: z8.string(),
696
+ sourceArchive: z8.string(),
697
+ sourceCommit: z8.string(),
698
+ sourceFiles: z8.array(z8.string()),
699
+ confidence: z8.union([knowledgeConfidenceScoreSchema, z8.object({}).strict()])
700
+ }).strict();
701
+ var knowledgeIngestIndexSchema = z8.object({
702
+ schemaVersion: z8.literal(1),
703
+ generatedAt: knowledgeIngestTimestampSchema,
704
+ projectId: z8.string(),
705
+ projectRoot: z8.string(),
706
+ headCommit: z8.string().nullable().optional(),
707
+ archives: z8.object({
708
+ scanned: z8.number().int().nonnegative(),
709
+ indexed: z8.number().int().nonnegative(),
710
+ failed: z8.number().int().nonnegative(),
711
+ items: z8.array(z8.object({
712
+ archive: z8.string(),
713
+ summaryData: z8.string(),
714
+ summarySha256: z8.string(),
715
+ mtime: knowledgeIngestTimestampSchema
716
+ }).strict())
717
+ }).strict(),
718
+ stats: z8.record(z8.string(), z8.number().int().nonnegative()),
719
+ byType: z8.record(z8.string(), z8.number().int().nonnegative()),
720
+ duplicatesSkipped: z8.number().int().nonnegative(),
721
+ ingestMode: z8.record(z8.string(), z8.unknown()),
722
+ failures: z8.array(z8.record(z8.string(), z8.string())),
723
+ entries: z8.array(knowledgeIngestIndexEntryRefSchema)
555
724
  }).strict();
556
725
 
557
726
  // ../contracts/dist/mcp-contract.js
558
- import { z as z8 } from "zod";
559
- var mcpToolContractSchema = z8.object({
560
- tool_name: z8.string(),
561
- description: z8.string(),
562
- input_schema: z8.record(z8.string(), z8.unknown())
727
+ import { z as z9 } from "zod";
728
+ var mcpToolContractSchema = z9.object({
729
+ tool_name: z9.string(),
730
+ description: z9.string(),
731
+ input_schema: z9.record(z9.string(), z9.unknown())
563
732
  }).strict();
564
733
 
565
734
  // ../contracts/dist/project.js
566
- import { z as z9 } from "zod";
567
- var projectIdSchema = z9.string().regex(/^prj_[A-Za-z0-9_-]+$/);
568
- var tokenEnvSchema = z9.string().regex(/^[A-Z_][A-Z0-9_]*$/);
569
- var httpsUrlSchema = z9.url().refine((value) => new URL(value).protocol === "https:", "server URL must use HTTPS");
735
+ import { z as z10 } from "zod";
736
+ var projectIdSchema = z10.string().regex(/^prj_[A-Za-z0-9_-]+$/);
737
+ var tokenEnvSchema = z10.string().regex(/^[A-Z_][A-Z0-9_]*$/);
738
+ var httpsUrlSchema = z10.url().refine((value) => new URL(value).protocol === "https:", "server URL must use HTTPS");
570
739
  var HARNESS_AGENT_ORDER = [
571
740
  "claude-code",
572
741
  "codex",
573
742
  "cursor",
574
743
  "codebuddy"
575
744
  ];
576
- var harnessAgentSchema = z9.enum(HARNESS_AGENT_ORDER);
577
- var codebuddySurfaceSchema = z9.enum(["both", "ide", "cli"]);
745
+ var harnessAgentSchema = z10.enum(HARNESS_AGENT_ORDER);
746
+ var codebuddySurfaceSchema = z10.enum(["both", "ide", "cli"]);
578
747
  function sortHarnessAgents(agents) {
579
748
  return HARNESS_AGENT_ORDER.filter((agent) => agents.includes(agent));
580
749
  }
581
- var adapterNameSchema = z9.enum([
750
+ var adapterNameSchema = z10.enum([
582
751
  "claude-code",
583
752
  "codex",
584
753
  "cursor",
@@ -586,176 +755,256 @@ var adapterNameSchema = z9.enum([
586
755
  "generic",
587
756
  "mcp"
588
757
  ]);
589
- var initConfigSchema = z9.object({
590
- agents: z9.array(harnessAgentSchema).min(1),
591
- profile: z9.enum(["general", "java"]),
758
+ var initConfigSchema = z10.object({
759
+ agents: z10.array(harnessAgentSchema).min(1),
760
+ profile: z10.enum(["general", "java"]),
592
761
  codebuddy_surface: codebuddySurfaceSchema.default("both"),
593
762
  server_url: httpsUrlSchema.nullable().optional(),
594
763
  token_env: tokenEnvSchema.nullable().optional(),
595
764
  project_id: projectIdSchema.nullable().optional(),
596
- features: z9.object({
597
- codegraph_check: z9.boolean().default(true),
598
- superpowers_check: z9.boolean().default(true)
765
+ features: z10.object({
766
+ codegraph_check: z10.boolean().default(true),
767
+ superpowers_check: z10.boolean().default(true)
599
768
  }).strict().optional()
600
769
  }).strict();
601
- var projectConfigSchema = z9.object({
602
- harness: z9.object({
603
- name: z9.literal("hunter-harness"),
604
- schema_version: z9.literal(1)
770
+ var projectConfigSchema = z10.object({
771
+ harness: z10.object({
772
+ name: z10.literal("hunter-harness"),
773
+ schema_version: z10.literal(1)
605
774
  }).strict(),
606
- project: z9.object({
607
- name: z9.string().min(1),
608
- root: z9.literal("."),
609
- local_project_key: z9.uuid(),
775
+ project: z10.object({
776
+ name: z10.string().min(1),
777
+ root: z10.literal("."),
778
+ local_project_key: z10.uuid(),
610
779
  project_id: projectIdSchema.nullable(),
611
- profiles: z9.array(z9.string().min(1)).min(1)
780
+ profiles: z10.array(z10.string().min(1)).min(1)
612
781
  }).strict(),
613
- server: z9.object({
782
+ server: z10.object({
614
783
  url: httpsUrlSchema.nullable(),
615
784
  token_env: tokenEnvSchema
616
785
  }).strict(),
617
- adapters: z9.object({
618
- enabled: z9.array(adapterNameSchema).min(1)
786
+ adapters: z10.object({
787
+ enabled: z10.array(adapterNameSchema).min(1)
619
788
  }).strict(),
620
- adapter_options: z9.object({
621
- codebuddy: z9.object({
789
+ adapter_options: z10.object({
790
+ codebuddy: z10.object({
622
791
  surface: codebuddySurfaceSchema
623
792
  }).strict()
624
793
  }).strict().optional()
625
794
  }).strict();
626
795
 
627
796
  // ../contracts/dist/dashboard.js
628
- import { z as z10 } from "zod";
629
- var dashboardHealthStatusSchema = z10.enum(["healthy", "attention", "unavailable"]);
630
- var dashboardServiceStatusSchema = z10.enum(["operational", "degraded", "unavailable"]);
631
- var dashboardTrendPointSchema = z10.object({
632
- date: z10.string().regex(/^\d{4}-\d{2}-\d{2}$/),
633
- submitted: z10.number().int().nonnegative(),
634
- approved: z10.number().int().nonnegative(),
635
- rejected: z10.number().int().nonnegative(),
636
- pending: z10.number().int().nonnegative()
797
+ import { z as z11 } from "zod";
798
+ var dashboardHealthStatusSchema = z11.enum(["healthy", "attention", "unavailable"]);
799
+ var dashboardServiceStatusSchema = z11.enum(["operational", "degraded", "unavailable"]);
800
+ var dashboardTrendPointSchema = z11.object({
801
+ date: z11.string().regex(/^\d{4}-\d{2}-\d{2}$/),
802
+ submitted: z11.number().int().nonnegative(),
803
+ approved: z11.number().int().nonnegative(),
804
+ rejected: z11.number().int().nonnegative(),
805
+ pending: z11.number().int().nonnegative()
637
806
  }).strict();
638
- var dashboardDistributionItemSchema = z10.object({
639
- key: z10.string().min(1),
640
- count: z10.number().int().nonnegative()
807
+ var dashboardDistributionItemSchema = z11.object({
808
+ key: z11.string().min(1),
809
+ count: z11.number().int().nonnegative()
641
810
  }).strict();
642
- var dashboardHealthItemSchema = z10.object({
643
- key: z10.string().min(1),
644
- label: z10.string().min(1),
811
+ var dashboardHealthItemSchema = z11.object({
812
+ key: z11.string().min(1),
813
+ label: z11.string().min(1),
645
814
  status: dashboardHealthStatusSchema,
646
- value: z10.string().min(1),
647
- detail: z10.string().min(1)
815
+ value: z11.string().min(1),
816
+ detail: z11.string().min(1)
648
817
  }).strict();
649
- var dashboardServiceItemSchema = z10.object({
650
- key: z10.string().min(1),
651
- label: z10.string().min(1),
818
+ var dashboardServiceItemSchema = z11.object({
819
+ key: z11.string().min(1),
820
+ label: z11.string().min(1),
652
821
  status: dashboardServiceStatusSchema,
653
- detail: z10.string().min(1),
654
- checked_at: z10.iso.datetime()
822
+ detail: z11.string().min(1),
823
+ checked_at: z11.iso.datetime()
655
824
  }).strict();
656
- var dashboardActivitySchema = z10.object({
657
- event_id: z10.string().min(1),
658
- action: z10.string().min(1),
659
- target_id: z10.string().min(1),
660
- project_id: z10.string().nullable(),
661
- actor_id: z10.string().min(1),
662
- created_at: z10.iso.datetime()
825
+ var dashboardActivitySchema = z11.object({
826
+ event_id: z11.string().min(1),
827
+ action: z11.string().min(1),
828
+ target_id: z11.string().min(1),
829
+ project_id: z11.string().nullable(),
830
+ actor_id: z11.string().min(1),
831
+ created_at: z11.iso.datetime()
663
832
  }).strict();
664
- var dashboardOverviewSchema = z10.object({
665
- generated_at: z10.iso.datetime(),
666
- window: z10.object({
667
- days: z10.number().int().min(7).max(30),
668
- starts_at: z10.iso.datetime(),
669
- ends_at: z10.iso.datetime()
833
+ var dashboardOverviewSchema = z11.object({
834
+ generated_at: z11.iso.datetime(),
835
+ window: z11.object({
836
+ days: z11.number().int().min(7).max(30),
837
+ starts_at: z11.iso.datetime(),
838
+ ends_at: z11.iso.datetime()
670
839
  }).strict(),
671
- metrics: z10.object({
672
- projects: z10.number().int().nonnegative(),
673
- workflows: z10.number().int().nonnegative(),
674
- skills: z10.number().int().nonnegative(),
675
- published_skills: z10.number().int().nonnegative(),
676
- pending_reviews: z10.number().int().nonnegative(),
677
- approved_proposals: z10.number().int().nonnegative(),
678
- rejected_proposals: z10.number().int().nonnegative(),
679
- artifacts: z10.number().int().nonnegative(),
680
- project_artifacts: z10.number().int().nonnegative(),
681
- skill_artifacts: z10.number().int().nonnegative()
840
+ metrics: z11.object({
841
+ projects: z11.number().int().nonnegative(),
842
+ workflows: z11.number().int().nonnegative(),
843
+ skills: z11.number().int().nonnegative(),
844
+ published_skills: z11.number().int().nonnegative(),
845
+ pending_reviews: z11.number().int().nonnegative(),
846
+ approved_proposals: z11.number().int().nonnegative(),
847
+ rejected_proposals: z11.number().int().nonnegative(),
848
+ artifacts: z11.number().int().nonnegative(),
849
+ project_artifacts: z11.number().int().nonnegative(),
850
+ skill_artifacts: z11.number().int().nonnegative()
682
851
  }).strict(),
683
- trend: z10.array(dashboardTrendPointSchema),
684
- distributions: z10.object({
685
- skill_categories: z10.array(dashboardDistributionItemSchema),
686
- workflow_profiles: z10.array(dashboardDistributionItemSchema)
852
+ trend: z11.array(dashboardTrendPointSchema),
853
+ distributions: z11.object({
854
+ skill_categories: z11.array(dashboardDistributionItemSchema),
855
+ workflow_profiles: z11.array(dashboardDistributionItemSchema)
687
856
  }).strict(),
688
- health: z10.array(dashboardHealthItemSchema),
689
- services: z10.array(dashboardServiceItemSchema),
690
- activity: z10.array(dashboardActivitySchema)
857
+ health: z11.array(dashboardHealthItemSchema),
858
+ services: z11.array(dashboardServiceItemSchema),
859
+ activity: z11.array(dashboardActivitySchema)
691
860
  }).strict();
692
861
 
693
- // ../contracts/dist/workflow-package.js
694
- import { z as z11 } from "zod";
695
- var workflowPackageManifestSchema = z11.object({
696
- key: registrySlugSchema,
697
- name: z11.string().min(1).max(120),
698
- description: z11.string().min(1).max(1e3),
862
+ // ../contracts/dist/semantic.js
863
+ import { z as z12 } from "zod";
864
+ var semanticDocumentKindSchema = z12.enum([
865
+ "knowledge_entry",
866
+ "knowledge_markdown",
867
+ "rule",
868
+ "archive_record",
869
+ "agent_instruction"
870
+ ]);
871
+ var semanticEdgeKindSchema = z12.enum([
872
+ "references_path",
873
+ "supersedes",
874
+ "related_archive",
875
+ "tag_cooccurrence"
876
+ ]);
877
+ var semanticDocumentSchema = z12.object({
878
+ document_id: z12.string(),
879
+ project_id: z12.string(),
880
+ artifact_id: z12.string(),
881
+ kind: semanticDocumentKindSchema,
882
+ source_path: z12.string(),
883
+ title: z12.string(),
884
+ body: z12.string(),
885
+ metadata: z12.record(z12.string(), z12.unknown()),
886
+ content_sha256: z12.string()
887
+ }).strict();
888
+ var semanticEdgeSchema = z12.object({
889
+ edge_id: z12.string(),
890
+ project_id: z12.string(),
891
+ artifact_id: z12.string(),
892
+ from_document_id: z12.string(),
893
+ to_document_id: z12.string(),
894
+ kind: semanticEdgeKindSchema,
895
+ metadata: z12.record(z12.string(), z12.unknown())
896
+ }).strict();
897
+ var semanticIndexBuildSchema = z12.object({
898
+ project_id: z12.string(),
899
+ artifact_id: z12.string(),
900
+ documents: z12.array(semanticDocumentSchema),
901
+ edges: z12.array(semanticEdgeSchema)
902
+ }).strict();
903
+ var semanticOverviewSchema = z12.object({
904
+ project_id: z12.string(),
905
+ artifact_id: z12.string().nullable(),
906
+ counts: z12.object({
907
+ documents: z12.number().int().nonnegative(),
908
+ knowledge: z12.number().int().nonnegative(),
909
+ rules: z12.number().int().nonnegative(),
910
+ changes: z12.number().int().nonnegative(),
911
+ agent_instructions: z12.number().int().nonnegative(),
912
+ edges: z12.number().int().nonnegative()
913
+ }).strict()
914
+ }).strict();
915
+ var semanticSearchHitSchema = z12.object({
916
+ document: semanticDocumentSchema,
917
+ project_id: z12.string()
918
+ }).strict();
919
+
920
+ // ../contracts/dist/workflow-family.js
921
+ import { z as z13 } from "zod";
922
+ var workflowBundleManifestSchema = z13.object({
923
+ schema_version: z13.literal(1),
699
924
  profile: registrySlugSchema,
700
- skills: z11.array(z11.object({
701
- slug: registrySlugSchema,
702
- ref: z11.string()
703
- }).strict()),
704
- agents: z11.array(z11.object({
705
- path: z11.string(),
706
- ref: z11.string()
707
- }).strict()),
708
- protocols: z11.array(z11.object({
709
- path: z11.string(),
710
- ref: z11.string()
711
- }).strict()),
712
- templates: z11.array(z11.object({
713
- path: z11.string(),
714
- ref: z11.string()
715
- }).strict()),
716
- execution_order: z11.array(z11.string()),
717
- strategy: z11.enum(["sequential", "parallel", "manual"])
925
+ files: z13.array(z13.object({
926
+ path: z13.string().min(1),
927
+ sha256: sha256Schema
928
+ }).strict()).min(1)
718
929
  }).strict();
719
- var workflowPackageArtifactSchema = z11.object({
720
- artifact_id: z11.string().regex(/^wfa_/),
721
- package_key: registrySlugSchema,
930
+ var workflowFamilyBundleArtifactSchema = z13.object({
931
+ artifact_id: z13.string().regex(/^wfb_/),
932
+ family_slug: registrySlugSchema,
933
+ profile: registrySlugSchema,
722
934
  version: registrySemverSchema,
723
935
  content_sha256: sha256Schema,
724
- size_bytes: z11.number().int().nonnegative(),
725
- created_at: z11.iso.datetime()
936
+ size_bytes: z13.number().int().nonnegative(),
937
+ bundle_manifest: workflowBundleManifestSchema,
938
+ created_at: z13.iso.datetime()
726
939
  }).strict();
727
- var workflowPackageVersionSchema = z11.object({
728
- package_key: registrySlugSchema,
940
+ var workflowFamilyVersionProfileSchema = z13.object({
941
+ profile: registrySlugSchema,
942
+ bundle_manifest: workflowBundleManifestSchema,
943
+ artifact_id: z13.string().regex(/^wfb_/),
944
+ sourceFiles: z13.array(sourceFileSchema).default([])
945
+ }).strict();
946
+ var workflowFamilyVersionSchema = z13.object({
947
+ family_slug: registrySlugSchema,
729
948
  version: registrySemverSchema,
730
- manifest: workflowPackageManifestSchema,
731
- artifacts: z11.array(workflowPackageArtifactSchema),
732
- sourceFiles: z11.array(sourceFileSchema).default([]),
733
- changeNote: z11.string().nullable(),
734
- created_at: z11.iso.datetime()
949
+ profiles: z13.array(workflowFamilyVersionProfileSchema).min(1),
950
+ artifacts: z13.array(workflowFamilyBundleArtifactSchema),
951
+ changeNote: z13.string().nullable(),
952
+ created_at: z13.iso.datetime()
735
953
  }).strict();
736
- var workflowPackageDraftStateSchema = z11.object({
737
- key: registrySlugSchema,
738
- manifest: workflowPackageManifestSchema,
739
- sourceFiles: z11.array(sourceFileSchema),
954
+ var workflowFamilyDraftProfileSchema = z13.object({
955
+ profile: registrySlugSchema,
956
+ sourceFiles: z13.array(sourceFileSchema),
957
+ bundle_manifest: workflowBundleManifestSchema
958
+ }).strict();
959
+ var workflowFamilyDraftStateSchema = z13.object({
960
+ family_slug: registrySlugSchema,
961
+ profiles: z13.array(workflowFamilyDraftProfileSchema),
962
+ required_profiles: z13.array(registrySlugSchema),
740
963
  draftVersion: registrySemverSchema.nullable(),
741
964
  checks: skillCheckResultSchema.nullable(),
742
- releaseNote: z11.string().nullable(),
743
- revision: z11.number().int(),
744
- created_at: z11.string(),
745
- updated_at: z11.string()
965
+ releaseNote: z13.string().nullable(),
966
+ revision: z13.number().int(),
967
+ created_at: z13.string(),
968
+ updated_at: z13.string()
746
969
  }).strict();
747
- var workflowPackageSchema = z11.object({
748
- package_id: z11.string().regex(/^wfp_/),
749
- key: registrySlugSchema,
750
- manifest: workflowPackageManifestSchema,
751
- latestVersion: registrySemverSchema.nullable(),
752
- revision: z11.number().int().positive(),
753
- created_at: z11.iso.datetime(),
754
- updated_at: z11.iso.datetime()
970
+ var workflowFamilySchema = z13.object({
971
+ family_id: z13.string().regex(/^wff_/),
972
+ slug: registrySlugSchema,
973
+ displayName: z13.string().min(1).max(120),
974
+ description: z13.string().min(1).max(1e3),
975
+ tags: z13.array(registrySlugSchema).default([]),
976
+ latest_version: registrySemverSchema.nullable(),
977
+ required_profiles: z13.array(registrySlugSchema).min(1),
978
+ revision: z13.number().int().positive(),
979
+ npmReleases: z13.array(npmReleaseRecordSchema).optional().default([]),
980
+ created_at: z13.iso.datetime(),
981
+ updated_at: z13.iso.datetime()
982
+ }).strict();
983
+ var workflowFamilyMutationSchema = z13.object({
984
+ slug: registrySlugSchema,
985
+ displayName: z13.string().min(1).max(120),
986
+ description: z13.string().min(1).max(1e3),
987
+ tags: z13.array(registrySlugSchema).default([]),
988
+ required_profiles: z13.array(registrySlugSchema).min(1)
755
989
  }).strict();
756
- var publishWorkflowPackageRequestSchema = z11.object({
990
+ var publishWorkflowFamilyRequestSchema = z13.object({
757
991
  version: registrySemverSchema,
758
- releaseNote: z11.string().optional()
992
+ releaseNote: z13.string().optional()
993
+ }).strict();
994
+ var registryProjectWorkflowBindingSchema = z13.object({
995
+ project_id: z13.string().regex(/^prj_/),
996
+ family_slug: registrySlugSchema,
997
+ profile: registrySlugSchema,
998
+ version: registrySemverSchema.nullable().optional(),
999
+ revision: z13.number().int().positive(),
1000
+ updated_at: z13.iso.datetime()
1001
+ }).strict();
1002
+ var bindProjectWorkflowFamilyRequestSchema = z13.object({
1003
+ schema_version: z13.literal(1),
1004
+ family_slug: registrySlugSchema,
1005
+ profile: registrySlugSchema,
1006
+ version: registrySemverSchema.nullable().optional(),
1007
+ revision: z13.number().int().nullable()
759
1008
  }).strict();
760
1009
 
761
1010
  // ../core/dist/fs/hash.js
@@ -835,8 +1084,8 @@ async function assertNoSymlinks(root, relativePath) {
835
1084
  for (const segment of normalized.split("/")) {
836
1085
  current = join(current, segment);
837
1086
  try {
838
- const stat5 = await lstat(current);
839
- if (stat5.isSymbolicLink()) {
1087
+ const stat6 = await lstat(current);
1088
+ if (stat6.isSymbolicLink()) {
840
1089
  throw new UnsafePathError("symbolic links are not managed");
841
1090
  }
842
1091
  } catch (error) {
@@ -1225,13 +1474,6 @@ var USER_DIFF = {
1225
1474
  update_policy: "skip-if-local-dirty",
1226
1475
  conflict_policy: "skip-and-report"
1227
1476
  };
1228
- var USER_FULL = {
1229
- file_kind: "user_editable",
1230
- edit_policy: "allow",
1231
- push_policy: "full-diff-proposal",
1232
- update_policy: "skip-if-local-dirty",
1233
- conflict_policy: "skip-and-report"
1234
- };
1235
1477
  var PROJECT_LOCAL = {
1236
1478
  file_kind: "user_editable",
1237
1479
  edit_policy: "allow",
@@ -1298,8 +1540,14 @@ function classifyFile(input) {
1298
1540
  if (under(path, ".harness/knowledge/project-local/")) {
1299
1541
  return PROJECT_LOCAL;
1300
1542
  }
1543
+ if (path === ".harness/knowledge/index.sqlite" || under(path, ".harness/knowledge/cache/") || under(path, ".harness/knowledge/views/") || under(path, ".harness/knowledge/context-packs/")) {
1544
+ return GENERATED_CACHE;
1545
+ }
1546
+ if (under(path, ".harness/knowledge/reports/")) {
1547
+ return REPORT_CACHE;
1548
+ }
1301
1549
  if (under(path, ".harness/knowledge/")) {
1302
- return USER_FULL;
1550
+ return USER_DIFF;
1303
1551
  }
1304
1552
  if (under(path, ".harness/codebase/map/") || path === ".harness/codebase/map-summary.md" || path === ".harness/codebase/map-manifest.json") {
1305
1553
  return GENERATED_REVIEWABLE;
@@ -2121,6 +2369,7 @@ async function initializeProject(options) {
2121
2369
  project_id: projectConfig.project.project_id,
2122
2370
  complete_project_version: null,
2123
2371
  artifact_manifest_hash: null,
2372
+ latest_artifact_id: null,
2124
2373
  files: {}
2125
2374
  });
2126
2375
  const managedBlocks = [];
@@ -2744,13 +2993,27 @@ function shannonEntropy(value) {
2744
2993
  }
2745
2994
  return entropy;
2746
2995
  }
2996
+ var HEX_DIGEST = /^(?:[a-fA-F0-9]{32}|[a-fA-F0-9]{40}|[a-fA-F0-9]{64})$/;
2997
+ var STRUCTURED_LOWERCASE_ID = /^[a-z0-9]+(?:[.-][a-z0-9]+)+$/;
2998
+ function isBenignHighEntropyLookalike(value) {
2999
+ if (HEX_DIGEST.test(value)) {
3000
+ return true;
3001
+ }
3002
+ if (value.includes("/")) {
3003
+ return true;
3004
+ }
3005
+ if (STRUCTURED_LOWERCASE_ID.test(value) && (value.match(/\./g) ?? []).length >= 2) {
3006
+ return true;
3007
+ }
3008
+ return false;
3009
+ }
2747
3010
  function highEntropyCandidates(content) {
2748
- const matches = content.matchAll(/\b[A-Za-z0-9_+/.=-]{24,}\b/g);
3011
+ const matches = content.matchAll(/\b[A-Za-z0-9_+.=\-]{24,}\b/g);
2749
3012
  return [...matches].map((match) => ({
2750
3013
  value: match[0],
2751
3014
  offset: match.index,
2752
3015
  entropy: shannonEntropy(match[0])
2753
- })).filter((item2) => item2.entropy >= 4.5);
3016
+ })).filter((item2) => item2.entropy >= 4.5 && !isBenignHighEntropyLookalike(item2.value));
2754
3017
  }
2755
3018
 
2756
3019
  // ../core/dist/security/scanner.js
@@ -2809,11 +3072,11 @@ function rawFindings(content) {
2809
3072
  for (const rule of RULES) {
2810
3073
  for (const match of content.matchAll(rule.pattern)) {
2811
3074
  const value = match[rule.valueGroup ?? 0] ?? match[0];
2812
- const relative2 = match[0].indexOf(value);
3075
+ const relative3 = match[0].indexOf(value);
2813
3076
  findings.push({
2814
3077
  ruleId: rule.id,
2815
3078
  severity: rule.severity,
2816
- offset: match.index + Math.max(0, relative2),
3079
+ offset: match.index + Math.max(0, relative3),
2817
3080
  value
2818
3081
  });
2819
3082
  }
@@ -2835,7 +3098,11 @@ function scanSensitiveFiles(files, options = {}) {
2835
3098
  for (const [inputPath, content] of Object.entries(files).sort(([a], [b]) => a.localeCompare(b))) {
2836
3099
  const path = normalizeManagedPath(inputPath);
2837
3100
  const ignores = parseInlineIgnores(content);
3101
+ const knowledgeMetadata = path === ".harness/knowledge" || path.startsWith(".harness/knowledge/");
2838
3102
  for (const raw of rawFindings(content)) {
3103
+ if (knowledgeMetadata && raw.ruleId === "HH_WINDOWS_ABSOLUTE_PATH") {
3104
+ continue;
3105
+ }
2839
3106
  const position = location(content, raw.offset);
2840
3107
  const fingerprint = sha256Bytes([
2841
3108
  SENSITIVE_SCANNER_VERSION,
@@ -3299,23 +3566,31 @@ async function pushProject(options) {
3299
3566
  });
3300
3567
  }
3301
3568
  }
3302
- const finalized = await client.finalizeProposal(session.session_id, { schema_version: 1, manifest_sha256: proposalManifestHash }, requestId, workflow.finalize_idempotency_key);
3569
+ const finalized = await client.finalizeProposal(session.session_id, {
3570
+ schema_version: 1,
3571
+ manifest_sha256: proposalManifestHash,
3572
+ base_artifact_id: baseline.latest_artifact_id ?? null
3573
+ }, requestId, workflow.finalize_idempotency_key);
3303
3574
  await atomicWriteJson(join9(root, ".harness", "state", "local", "push-results", finalized.proposal_id + ".json"), {
3304
3575
  schema_version: 1,
3305
3576
  request_id: requestId,
3306
3577
  project_id: projectId,
3307
3578
  proposal_id: finalized.proposal_id,
3308
3579
  status: finalized.status,
3580
+ artifact_id: finalized.artifact_id,
3309
3581
  operation_count: preview.operations.length,
3310
3582
  recorded_at: (/* @__PURE__ */ new Date()).toISOString()
3311
3583
  });
3312
3584
  await rm4(workflowPath, { force: true });
3313
- return { preview, proposalId: finalized.proposal_id, projectId };
3585
+ return { preview, proposalId: finalized.proposal_id, projectId, artifactId: finalized.artifact_id };
3314
3586
  } catch (error) {
3315
3587
  if (error instanceof PushWorkflowError) {
3316
3588
  throw error;
3317
3589
  }
3318
3590
  if (error instanceof ApiError) {
3591
+ if (error.code === "STALE_PUSH") {
3592
+ throw new PushWorkflowError("\u670D\u52A1\u7AEF\u5DF2\u6709\u66F4\u65B0\u7684\u63A8\u9001\uFF0C\u8BF7\u5148 git pull \u540E\u6267\u884C npx hunter-harness update \u518D\u63A8", 5, "STALE_PUSH");
3593
+ }
3319
3594
  const exitCode = error.status === 401 ? 8 : error.status === 409 ? 5 : 4;
3320
3595
  throw new PushWorkflowError(error.message, exitCode, error.code);
3321
3596
  }
@@ -3390,7 +3665,7 @@ async function cleanupProject(options) {
3390
3665
 
3391
3666
  // ../core/dist/skill/frontmatter.js
3392
3667
  import { parse as parseYaml5 } from "yaml";
3393
- import { z as z12 } from "zod";
3668
+ import { z as z14 } from "zod";
3394
3669
 
3395
3670
  // ../core/dist/skill/fixer.js
3396
3671
  import { parse as parseYaml6, stringify as stringifyYaml4 } from "yaml";
@@ -3836,6 +4111,7 @@ async function updateProject(options) {
3836
4111
  if (skipped.length === 0) {
3837
4112
  nextBaseline.complete_project_version = manifest.project_version;
3838
4113
  nextBaseline.artifact_manifest_hash = manifest.manifest_sha256;
4114
+ nextBaseline.latest_artifact_id = manifest.artifact_id;
3839
4115
  }
3840
4116
  const transactionId = "tx_update_" + Date.now() + "_" + uuidV7();
3841
4117
  const reportPath = ".harness/reports/update-" + requestId + ".json";
@@ -4506,7 +4782,7 @@ async function runPush(options, dependencies) {
4506
4782
  warnings: result.preview.skipped,
4507
4783
  errors: []
4508
4784
  };
4509
- dependencies.stdout(options.json === true ? serializeCliResult(output) : options.dryRun === true ? "Push preview contains " + items.length + " operations.\n" : "Proposal " + result.proposalId + " created.\n");
4785
+ dependencies.stdout(options.json === true ? serializeCliResult(output) : options.dryRun === true ? "Push preview contains " + items.length + " operations.\n" : "Pushed artifact " + result.artifactId + " (proposal " + result.proposalId + ").\n");
4510
4786
  return 0;
4511
4787
  } catch (error) {
4512
4788
  const exitCode = error instanceof PushWorkflowError ? error.exitCode : 1;
@@ -4729,13 +5005,167 @@ async function runRecoveryMenuIfApplicable(options, dependencies) {
4729
5005
  }
4730
5006
  }
4731
5007
 
5008
+ // src/workflow-data/resolve.ts
5009
+ import { cp, mkdir as mkdir4, readdir as readdir7, readFile as readFile14, stat as stat5 } from "node:fs/promises";
5010
+ import { dirname as dirname4, join as join16, relative as relative2 } from "node:path";
5011
+ import { fileURLToPath } from "node:url";
5012
+ var WorkflowDataResolutionError = class extends Error {
5013
+ code;
5014
+ exitCode;
5015
+ constructor(message, code = "WORKFLOW_DATA_UNAVAILABLE", exitCode = 4) {
5016
+ super(message);
5017
+ this.name = "WorkflowDataResolutionError";
5018
+ this.code = code;
5019
+ this.exitCode = exitCode;
5020
+ }
5021
+ };
5022
+ async function pathExists3(path) {
5023
+ try {
5024
+ await stat5(path);
5025
+ return true;
5026
+ } catch {
5027
+ return false;
5028
+ }
5029
+ }
5030
+ function readOption(argv, name) {
5031
+ const flag = `--${name}`;
5032
+ const index = argv.indexOf(flag);
5033
+ if (index >= 0) return argv[index + 1];
5034
+ const prefixed = argv.find((value) => value.startsWith(`${flag}=`));
5035
+ if (prefixed !== void 0) return prefixed.slice(flag.length + 1);
5036
+ return void 0;
5037
+ }
5038
+ function workflowPackageName(family, env) {
5039
+ const scope = (env.HUNTER_HARNESS_NPM_SCOPE ?? "@hunter-harness").replace(/\/$/, "");
5040
+ if (family === "harness") return `${scope}/workflow-harness`;
5041
+ return `${scope}/workflow-${family}`;
5042
+ }
5043
+ async function listFilesRecursive(root, base = root) {
5044
+ const entries = await readdir7(root, { withFileTypes: true });
5045
+ const files = [];
5046
+ for (const entry of entries) {
5047
+ const absolute = join16(root, entry.name);
5048
+ if (entry.isDirectory()) {
5049
+ files.push(...await listFilesRecursive(absolute, base));
5050
+ continue;
5051
+ }
5052
+ if (!entry.isFile()) continue;
5053
+ const rel = relative2(base, absolute).replaceAll("\\", "/");
5054
+ files.push({ path: rel, content: await readFile14(absolute, "utf8") });
5055
+ }
5056
+ return files;
5057
+ }
5058
+ function sha256Canonical(files) {
5059
+ return sha256Bytes(canonicalJson(
5060
+ [...files].sort((left, right) => left.path.localeCompare(right.path)).map((file) => ({ path: file.path, content: file.content }))
5061
+ ));
5062
+ }
5063
+ async function verifyWorkflowPackageIntegrity(resourcesRoot) {
5064
+ const manifest = await readWorkflowFamilyManifest(resourcesRoot);
5065
+ const expected = manifest.content_sha256;
5066
+ if (typeof expected !== "string" || expected.length === 0) return;
5067
+ const harnessRoot = join16(resourcesRoot, "harness");
5068
+ if (!await pathExists3(harnessRoot)) {
5069
+ throw new WorkflowDataResolutionError(
5070
+ "\u5DE5\u4F5C\u6D41\u6570\u636E\u5305\u7F3A\u5C11 harness/\uFF0C\u65E0\u6CD5\u6821\u9A8C SHA-256",
5071
+ "WORKFLOW_DATA_INTEGRITY",
5072
+ 7
5073
+ );
5074
+ }
5075
+ const files = await listFilesRecursive(harnessRoot, resourcesRoot);
5076
+ const actual = sha256Canonical(files);
5077
+ if (actual !== expected) {
5078
+ throw new WorkflowDataResolutionError(
5079
+ `\u5DE5\u4F5C\u6D41\u6570\u636E\u5305 SHA-256 \u6821\u9A8C\u5931\u8D25\uFF08\u671F\u671B ${expected}\uFF0C\u5B9E\u9645 ${actual}\uFF09`,
5080
+ "WORKFLOW_DATA_INTEGRITY",
5081
+ 7
5082
+ );
5083
+ }
5084
+ }
5085
+ async function monorepoResourcesRoot() {
5086
+ const candidates = [
5087
+ fileURLToPath(new URL("../../../resources", import.meta.url)),
5088
+ fileURLToPath(new URL("../../../workflow-data-harness", import.meta.url)),
5089
+ fileURLToPath(new URL("../../../../resources", import.meta.url))
5090
+ ];
5091
+ for (const candidate of candidates) {
5092
+ if (await pathExists3(join16(candidate, "harness", "manifests"))) return candidate;
5093
+ }
5094
+ return null;
5095
+ }
5096
+ async function siblingWorkflowPackage(cwd) {
5097
+ const candidates = [
5098
+ join16(cwd, "node_modules", "@hunter-harness", "workflow-harness"),
5099
+ join16(dirname4(fileURLToPath(import.meta.url)), "..", "..", "workflow-data-harness")
5100
+ ];
5101
+ for (const candidate of candidates) {
5102
+ if (await pathExists3(join16(candidate, "harness", "manifests"))) return candidate;
5103
+ }
5104
+ return null;
5105
+ }
5106
+ async function resolveWorkflowResourcesRoot(options, argv = []) {
5107
+ if (options.override !== void 0) return options.override;
5108
+ const envRoot = options.env.HUNTER_HARNESS_RESOURCES_ROOT?.trim();
5109
+ if (envRoot !== void 0 && envRoot.length > 0) return envRoot;
5110
+ const sibling = await siblingWorkflowPackage(options.cwd);
5111
+ if (sibling !== null) {
5112
+ await verifyWorkflowPackageIntegrity(sibling);
5113
+ return sibling;
5114
+ }
5115
+ const monorepo = await monorepoResourcesRoot();
5116
+ if (monorepo !== null) {
5117
+ await verifyWorkflowPackageIntegrity(monorepo);
5118
+ return monorepo;
5119
+ }
5120
+ const family = options.workflowFamily ?? readOption(argv, "workflow-family") ?? options.env.HUNTER_HARNESS_WORKFLOW_FAMILY ?? "harness";
5121
+ const version = options.workflowVersion ?? readOption(argv, "workflow-version") ?? options.env.HUNTER_HARNESS_WORKFLOW_VERSION ?? "latest";
5122
+ const packageName = workflowPackageName(family, options.env);
5123
+ const packageSpec = version === "latest" ? packageName : `${packageName}@${version}`;
5124
+ const cacheKey = packageSpec.replace("/", "+");
5125
+ const cacheRoot = join16(options.cwd, ".harness", "cache", "workflow-packages", cacheKey);
5126
+ if (await pathExists3(join16(cacheRoot, "harness", "manifests"))) {
5127
+ await verifyWorkflowPackageIntegrity(cacheRoot);
5128
+ return cacheRoot;
5129
+ }
5130
+ try {
5131
+ await mkdir4(cacheRoot, { recursive: true });
5132
+ const extract = options.pacoteExtract ?? (async (spec, destination) => {
5133
+ const pacote = await import("pacote");
5134
+ await pacote.default.extract(spec, destination);
5135
+ });
5136
+ const staging = join16(cacheRoot, ".extract");
5137
+ await mkdir4(staging, { recursive: true });
5138
+ await extract(packageSpec, staging);
5139
+ const packageDir = await pathExists3(join16(staging, "harness", "manifests")) ? staging : join16(staging, "package");
5140
+ if (!await pathExists3(join16(packageDir, "harness", "manifests"))) {
5141
+ throw new WorkflowDataResolutionError(
5142
+ "\u5DE5\u4F5C\u6D41\u6570\u636E\u5305\u5185\u5BB9\u65E0\u6548\uFF1A\u7F3A\u5C11 harness/manifests",
5143
+ "WORKFLOW_DATA_INVALID",
5144
+ 7
5145
+ );
5146
+ }
5147
+ await cp(packageDir, cacheRoot, { recursive: true });
5148
+ await verifyWorkflowPackageIntegrity(cacheRoot);
5149
+ return cacheRoot;
5150
+ } catch (error) {
5151
+ if (error instanceof WorkflowDataResolutionError) throw error;
5152
+ throw new WorkflowDataResolutionError(
5153
+ "\u65E0\u6CD5\u83B7\u53D6\u5DE5\u4F5C\u6D41\u6570\u636E\u5305\uFF1A\u65E0\u7F51\u7EDC\u4E14\u672C\u5730\u7F13\u5B58\u4E0D\u5B58\u5728\u3002\u8BF7\u5148\u5728\u6709\u7F51\u7EDC\u7684\u73AF\u5883\u8FD0\u884C hunter-harness\uFF0C\u6216\u8BBE\u7F6E HUNTER_HARNESS_RESOURCES_ROOT \u6307\u5411\u542B harness/ \u7684\u76EE\u5F55\u3002",
5154
+ "WORKFLOW_DATA_UNAVAILABLE"
5155
+ );
5156
+ }
5157
+ }
5158
+ async function readWorkflowFamilyManifest(resourcesRoot) {
5159
+ const manifestPath = join16(resourcesRoot, "hunter-workflow-family.json");
5160
+ if (!await pathExists3(manifestPath)) return {};
5161
+ return JSON.parse(await readFile14(manifestPath, "utf8"));
5162
+ }
5163
+
4732
5164
  // src/bin.ts
4733
5165
  function defaultDependencies(overrides) {
4734
5166
  return {
4735
5167
  cwd: overrides.cwd ?? process.cwd(),
4736
- resourcesRoot: overrides.resourcesRoot ?? fileURLToPath(
4737
- new URL("../resources", import.meta.url)
4738
- ),
5168
+ resourcesRoot: overrides.resourcesRoot ?? "",
4739
5169
  stdout: overrides.stdout ?? ((value) => process.stdout.write(value)),
4740
5170
  stderr: overrides.stderr ?? ((value) => process.stderr.write(value)),
4741
5171
  prompt: overrides.prompt ?? (async (question) => {
@@ -4751,10 +5181,27 @@ function defaultDependencies(overrides) {
4751
5181
  };
4752
5182
  }
4753
5183
  function addCommonOptions(command) {
4754
- return command.option("--dry-run").option("--yes").option("--json").option("--server-url <url>").option("--token-env <ENV_NAME>").option("--non-interactive").option("--agents <csv>").option("--codebuddy-surface <surface>");
5184
+ return command.option("--dry-run").option("--yes").option("--json").option("--server-url <url>").option("--token-env <ENV_NAME>").option("--non-interactive").option("--agents <csv>").option("--codebuddy-surface <surface>").option("--workflow-family <slug>").option("--workflow-version <version>");
4755
5185
  }
4756
5186
  async function runCli(argv, overrides = {}) {
4757
5187
  const dependencies = defaultDependencies(overrides);
5188
+ try {
5189
+ const resolveOptions = {
5190
+ cwd: dependencies.cwd,
5191
+ env: dependencies.env,
5192
+ override: overrides.resourcesRoot
5193
+ };
5194
+ if (overrides.pacoteExtract !== void 0) {
5195
+ resolveOptions.pacoteExtract = overrides.pacoteExtract;
5196
+ }
5197
+ dependencies.resourcesRoot = await resolveWorkflowResourcesRoot(resolveOptions, argv);
5198
+ } catch (error) {
5199
+ if (error instanceof WorkflowDataResolutionError) {
5200
+ dependencies.stderr(error.message + "\n");
5201
+ return error.exitCode;
5202
+ }
5203
+ throw error;
5204
+ }
4758
5205
  const program = addCommonOptions(new Command()).name("hunter-harness").description("Local-first, server-governed agent harness").option("--profile <name>").option("--config <file>").option("--force-managed").showHelpAfterError().exitOverride().configureOutput({
4759
5206
  writeOut: dependencies.stdout,
4760
5207
  writeErr: dependencies.stderr