@dommaker/harness 0.13.0 → 0.13.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 (420) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/bin/harness-knowledge-capture.js +99 -0
  3. package/bin/harness-knowledge-check.js +149 -0
  4. package/bin/harness-knowledge-track.js +92 -0
  5. package/bin/harness-knowledge-track.sh +47 -0
  6. package/bin/harness-sensitive-check.sh +67 -0
  7. package/dist/cli/commands/init.js +34 -2
  8. package/dist/cli/commands/init.js.map +1 -1
  9. package/package.json +6 -3
  10. package/src/CONTEXT.md +34 -0
  11. package/src/__tests__/acceptance-gate.test.ts +364 -0
  12. package/src/__tests__/annotation-checker.test.ts +183 -0
  13. package/src/__tests__/architecture-engine.test.ts +619 -0
  14. package/src/__tests__/checker-extra.test.ts +1627 -0
  15. package/src/__tests__/checker.test.ts +1268 -0
  16. package/src/__tests__/checkpoint.test.ts +697 -0
  17. package/src/__tests__/clean-state-extra.test.ts +301 -0
  18. package/src/__tests__/clean-state.test.ts +169 -0
  19. package/src/__tests__/constraint-doctor.test.ts +410 -0
  20. package/src/__tests__/constraint-evolver.test.ts +404 -0
  21. package/src/__tests__/constraint-handler.test.ts +136 -0
  22. package/src/__tests__/context/progressive-loader.test.ts +131 -0
  23. package/src/__tests__/contract-gate.test.ts +321 -0
  24. package/src/__tests__/cross-project-checker.test.ts +318 -0
  25. package/src/__tests__/cso-validator.test.ts +205 -0
  26. package/src/__tests__/detect-source-roots.test.ts +98 -0
  27. package/src/__tests__/doctor-evolver.test.ts +381 -0
  28. package/src/__tests__/error-classifier.test.ts +304 -0
  29. package/src/__tests__/exec.test.ts +83 -0
  30. package/src/__tests__/extend-exceptions.test.ts +149 -0
  31. package/src/__tests__/failure-recorder.test.ts +335 -0
  32. package/src/__tests__/hooks-pipeline.test.ts +214 -0
  33. package/src/__tests__/interceptor.test.ts +89 -0
  34. package/src/__tests__/iron-laws.test.ts +246 -0
  35. package/src/__tests__/long-running.test.ts +17 -0
  36. package/src/__tests__/passes-gate-check.test.ts +138 -0
  37. package/src/__tests__/passes-gate-extension.test.ts +151 -0
  38. package/src/__tests__/passes-gate-extra.test.ts +238 -0
  39. package/src/__tests__/passes-gate.test.ts +231 -0
  40. package/src/__tests__/performance-analyzer.test.ts +501 -0
  41. package/src/__tests__/performance-collector.test.ts +276 -0
  42. package/src/__tests__/performance-gate.test.ts +74 -0
  43. package/src/__tests__/presets.test.ts +104 -0
  44. package/src/__tests__/project-config-loader-extra.test.ts +269 -0
  45. package/src/__tests__/project-config-loader.test.ts +127 -0
  46. package/src/__tests__/review-gate.test.ts +92 -0
  47. package/src/__tests__/security-gate.test.ts +100 -0
  48. package/src/__tests__/session-startup.test.ts +334 -0
  49. package/src/__tests__/spec-validator.test.ts +57 -0
  50. package/src/__tests__/token-budget.test.ts +252 -0
  51. package/src/__tests__/trace-analyzer-extra.test.ts +307 -0
  52. package/src/__tests__/trace-analyzer.test.ts +131 -0
  53. package/src/__tests__/trace-collector.test.ts +258 -0
  54. package/src/__tests__/traces.test.ts +347 -0
  55. package/src/agents/CONTEXT.md +21 -0
  56. package/src/agents/__tests__/lifecycle.test.ts +248 -0
  57. package/src/agents/index.ts +2 -0
  58. package/src/agents/lifecycle.ts +201 -0
  59. package/src/agents/types.ts +46 -0
  60. package/src/architecture/CONTEXT.md +22 -0
  61. package/src/architecture/constraint-engine.ts +356 -0
  62. package/src/architecture/cross-project-checker.ts +563 -0
  63. package/src/cli/commands/CONTEXT.md +24 -0
  64. package/src/cli/commands/__tests__/acceptance.test.ts +180 -0
  65. package/src/cli/commands/__tests__/check.test.ts +598 -0
  66. package/src/cli/commands/__tests__/command.test.ts +149 -0
  67. package/src/cli/commands/__tests__/contract.test.ts +151 -0
  68. package/src/cli/commands/__tests__/failure.test.ts +199 -0
  69. package/src/cli/commands/__tests__/flow.test.ts +343 -0
  70. package/src/cli/commands/__tests__/init.test.ts +306 -0
  71. package/src/cli/commands/__tests__/passes-gate.test.ts +256 -0
  72. package/src/cli/commands/__tests__/performance.test.ts +116 -0
  73. package/src/cli/commands/__tests__/posteval-plan.test.ts +201 -0
  74. package/src/cli/commands/__tests__/report-extra.test.ts +98 -0
  75. package/src/cli/commands/__tests__/report.test.ts +109 -0
  76. package/src/cli/commands/__tests__/review.test.ts +153 -0
  77. package/src/cli/commands/__tests__/security.test.ts +147 -0
  78. package/src/cli/commands/__tests__/spec.test.ts +193 -0
  79. package/src/cli/commands/__tests__/status-extra.test.ts +223 -0
  80. package/src/cli/commands/__tests__/status.test.ts +306 -0
  81. package/src/cli/commands/__tests__/sync-docs.test.ts +335 -0
  82. package/src/cli/commands/__tests__/validate.test.ts +139 -0
  83. package/src/cli/commands/acceptance.ts +111 -0
  84. package/src/cli/commands/analyze-sessions.ts +488 -0
  85. package/src/cli/commands/check.ts +441 -0
  86. package/src/cli/commands/command.ts +90 -0
  87. package/src/cli/commands/constraints.ts +86 -0
  88. package/src/cli/commands/contract.ts +168 -0
  89. package/src/cli/commands/failure.ts +117 -0
  90. package/src/cli/commands/flow.ts +275 -0
  91. package/src/cli/commands/index.ts +26 -0
  92. package/src/cli/commands/init.ts +832 -0
  93. package/src/cli/commands/knowledge.ts +391 -0
  94. package/src/cli/commands/passes-gate.ts +158 -0
  95. package/src/cli/commands/performance.ts +108 -0
  96. package/src/cli/commands/posteval-plan.ts +85 -0
  97. package/src/cli/commands/release.ts +159 -0
  98. package/src/cli/commands/report.ts +198 -0
  99. package/src/cli/commands/review.ts +118 -0
  100. package/src/cli/commands/security.ts +122 -0
  101. package/src/cli/commands/spec.ts +158 -0
  102. package/src/cli/commands/status.ts +169 -0
  103. package/src/cli/commands/sync-docs.ts +743 -0
  104. package/src/cli/commands/update-user-model.ts +527 -0
  105. package/src/cli/commands/validate.ts +222 -0
  106. package/src/constraints/__tests__/lifecycle-runner.test.ts +246 -0
  107. package/src/constraints/__tests__/registry.test.ts +196 -0
  108. package/src/constraints/index.ts +3 -0
  109. package/src/constraints/lifecycle-runner.ts +184 -0
  110. package/src/constraints/registry.ts +134 -0
  111. package/src/constraints/types.ts +59 -0
  112. package/src/context/CONTEXT.md +28 -0
  113. package/src/context/__tests__/compaction.test.ts +169 -0
  114. package/src/context/__tests__/file-budget.test.ts +142 -0
  115. package/src/context/__tests__/knowledge-injector.test.ts +148 -0
  116. package/src/context/__tests__/progressive-loader.test.ts +264 -0
  117. package/src/context/__tests__/session-manager.test.ts +300 -0
  118. package/src/context/__tests__/token-budget.test.ts +338 -0
  119. package/src/context/__tests__/token-pipeline.test.ts +178 -0
  120. package/src/context/__tests__/tool-output-budget.test.ts +95 -0
  121. package/src/context/compaction.ts +202 -0
  122. package/src/context/file-budget.ts +142 -0
  123. package/src/context/index.ts +15 -0
  124. package/src/context/knowledge-injector.ts +168 -0
  125. package/src/context/progressive-loader.ts +260 -0
  126. package/src/context/session-manager.ts +343 -0
  127. package/src/context/token-budget.ts +295 -0
  128. package/src/context/token-pipeline.ts +265 -0
  129. package/src/context/tool-output-budget.ts +178 -0
  130. package/src/context/types.ts +160 -0
  131. package/src/core/CONTEXT.md +26 -0
  132. package/src/core/constraints/__tests__/default-executors.test.ts +57 -0
  133. package/src/core/constraints/__tests__/interceptor.test.ts +251 -0
  134. package/src/core/constraints/__tests__/prompt-injection.test.ts +89 -0
  135. package/src/core/constraints/check-cache.ts +96 -0
  136. package/src/core/constraints/checker.ts +1169 -0
  137. package/src/core/constraints/default-executors.ts +92 -0
  138. package/src/core/constraints/definitions.ts +1119 -0
  139. package/src/core/constraints/doc-freshness/__tests__/runner.test.ts +551 -0
  140. package/src/core/constraints/doc-freshness/auto-fix.ts +69 -0
  141. package/src/core/constraints/doc-freshness/runner.ts +486 -0
  142. package/src/core/constraints/index.ts +78 -0
  143. package/src/core/constraints/interceptor.ts +220 -0
  144. package/src/core/constraints/prompt-injection.ts +73 -0
  145. package/src/core/index.ts +23 -0
  146. package/src/core/project-config-loader.ts +252 -0
  147. package/src/core/session/__tests__/startup.test.ts +281 -0
  148. package/src/core/session/clean-state.ts +178 -0
  149. package/src/core/session/index.ts +15 -0
  150. package/src/core/session/startup.ts +253 -0
  151. package/src/core/spec/__tests__/validator.test.ts +379 -0
  152. package/src/core/spec/index.ts +7 -0
  153. package/src/core/spec/validator.ts +383 -0
  154. package/src/core/validators/__tests__/passes-gate.test.ts +131 -0
  155. package/src/core/validators/checkpoint.ts +547 -0
  156. package/src/core/validators/cso.ts +124 -0
  157. package/src/core/validators/index.ts +25 -0
  158. package/src/core/validators/passes-gate.ts +613 -0
  159. package/src/dashboard/CONTEXT.md +21 -0
  160. package/src/dashboard/__tests__/data.test.ts +115 -0
  161. package/src/dashboard/__tests__/stats.test.ts +156 -0
  162. package/src/dashboard/data.ts +113 -0
  163. package/src/dashboard/index.ts +3 -0
  164. package/src/dashboard/stats.ts +127 -0
  165. package/src/dashboard/types.ts +113 -0
  166. package/src/evolution/CONTEXT.md +22 -0
  167. package/src/evolution/__tests__/auto-evolve.test.ts +320 -0
  168. package/src/evolution/auto-evolve.ts +98 -0
  169. package/src/evolution/index.ts +1 -0
  170. package/src/failure/CONTEXT.md +24 -0
  171. package/src/failure/classifier.ts +156 -0
  172. package/src/failure/constraint-handler.ts +173 -0
  173. package/src/failure/index.ts +35 -0
  174. package/src/failure/recorder.ts +201 -0
  175. package/src/failure/types.ts +165 -0
  176. package/src/gates/CONTEXT.md +27 -0
  177. package/src/gates/__tests__/acceptance.test.ts +608 -0
  178. package/src/gates/__tests__/command.test.ts +206 -0
  179. package/src/gates/__tests__/performance.test.ts +381 -0
  180. package/src/gates/__tests__/review.test.ts +302 -0
  181. package/src/gates/__tests__/security.test.ts +332 -0
  182. package/src/gates/acceptance.ts +493 -0
  183. package/src/gates/command.ts +444 -0
  184. package/src/gates/contract.ts +260 -0
  185. package/src/gates/index.ts +67 -0
  186. package/src/gates/performance.ts +359 -0
  187. package/src/gates/review.ts +169 -0
  188. package/src/gates/security.ts +244 -0
  189. package/src/gates/types.ts +159 -0
  190. package/src/governance/CONTEXT.md +22 -0
  191. package/src/governance/__tests__/executor.test.ts +249 -0
  192. package/src/governance/executor.ts +229 -0
  193. package/src/governance/index.ts +13 -0
  194. package/src/governance/types.ts +53 -0
  195. package/src/hooks/CONTEXT.md +23 -0
  196. package/src/hooks/__tests__/bootstrap.test.ts +184 -0
  197. package/src/hooks/bootstrap.ts +144 -0
  198. package/src/hooks/index.ts +15 -0
  199. package/src/hooks/pipeline.ts +157 -0
  200. package/src/hooks/registry.ts +88 -0
  201. package/src/hooks/types.ts +80 -0
  202. package/src/index.ts +198 -0
  203. package/src/knowledge/CONTEXT.md +29 -0
  204. package/src/knowledge/__tests__/doctor.test.ts +272 -0
  205. package/src/knowledge/__tests__/import.test.ts +376 -0
  206. package/src/knowledge/__tests__/ingest.test.ts +125 -0
  207. package/src/knowledge/__tests__/lifecycle-hooks.test.ts +137 -0
  208. package/src/knowledge/__tests__/lifecycle.test.ts +248 -0
  209. package/src/knowledge/__tests__/lint.test.ts +401 -0
  210. package/src/knowledge/__tests__/query.test.ts +185 -0
  211. package/src/knowledge/__tests__/reference-tracker.test.ts +129 -0
  212. package/src/knowledge/__tests__/store.test.ts +238 -0
  213. package/src/knowledge/doctor.ts +104 -0
  214. package/src/knowledge/import.ts +505 -0
  215. package/src/knowledge/index.ts +16 -0
  216. package/src/knowledge/ingest.ts +126 -0
  217. package/src/knowledge/lifecycle-hooks.ts +199 -0
  218. package/src/knowledge/lifecycle.ts +175 -0
  219. package/src/knowledge/lint.ts +360 -0
  220. package/src/knowledge/query.ts +150 -0
  221. package/src/knowledge/reference-tracker.ts +99 -0
  222. package/src/knowledge/store.ts +264 -0
  223. package/src/knowledge/types.ts +139 -0
  224. package/src/llm/CONTEXT.md +21 -0
  225. package/src/llm/__tests__/adapter.test.ts +172 -0
  226. package/src/llm/adapter.ts +149 -0
  227. package/src/llm/index.ts +2 -0
  228. package/src/llm/types.ts +81 -0
  229. package/src/monitoring/CONTEXT.md +29 -0
  230. package/src/monitoring/__tests__/context-tracker.test.ts +172 -0
  231. package/src/monitoring/__tests__/knowledge-doctor.test.ts +276 -0
  232. package/src/monitoring/__tests__/knowledge-evolver.test.ts +365 -0
  233. package/src/monitoring/__tests__/performance-analyzer.test.ts +137 -0
  234. package/src/monitoring/__tests__/performance-collector.test.ts +332 -0
  235. package/src/monitoring/__tests__/traces.test.ts +190 -0
  236. package/src/monitoring/constraint-doctor.ts +499 -0
  237. package/src/monitoring/constraint-evolver.ts +573 -0
  238. package/src/monitoring/context-tracker.ts +148 -0
  239. package/src/monitoring/index.ts +23 -0
  240. package/src/monitoring/knowledge-doctor.ts +323 -0
  241. package/src/monitoring/knowledge-evolver.ts +289 -0
  242. package/src/monitoring/performance-analyzer.ts +450 -0
  243. package/src/monitoring/performance-collector.ts +348 -0
  244. package/src/monitoring/trace-analyzer.ts +470 -0
  245. package/src/monitoring/traces.ts +339 -0
  246. package/src/presets/__tests__/standard.test.ts +104 -0
  247. package/src/presets/index.ts +16 -0
  248. package/src/presets/standard.ts +163 -0
  249. package/src/safety/CONTEXT.md +23 -0
  250. package/src/safety/__tests__/input-guardrail.test.ts +105 -0
  251. package/src/safety/__tests__/output-guardrail.test.ts +108 -0
  252. package/src/safety/__tests__/sandbox.test.ts +158 -0
  253. package/src/safety/__tests__/tool-guardrail.test.ts +127 -0
  254. package/src/safety/index.ts +5 -0
  255. package/src/safety/input-guardrail.ts +133 -0
  256. package/src/safety/output-guardrail.ts +174 -0
  257. package/src/safety/sandbox.ts +148 -0
  258. package/src/safety/tool-guardrail.ts +176 -0
  259. package/src/safety/types.ts +124 -0
  260. package/src/spec/CONTEXT.md +19 -0
  261. package/src/spec/__tests__/annotation-checker.test.ts +289 -0
  262. package/src/spec/annotation-checker.ts +342 -0
  263. package/src/tools/CONTEXT.md +25 -0
  264. package/src/tools/__tests__/loader.test.ts +252 -0
  265. package/src/tools/__tests__/registry.test.ts +157 -0
  266. package/src/tools/core/__tests__/core.test.ts +122 -0
  267. package/src/tools/core/index.ts +201 -0
  268. package/src/tools/core/package.json +7 -0
  269. package/src/tools/core/pnpm-lock.yaml +232 -0
  270. package/src/tools/definitions/core/code/fingerprint.sh +273 -0
  271. package/src/tools/definitions/core/code/fingerprint.yml +72 -0
  272. package/src/tools/definitions/core/code/parse.yml +68 -0
  273. package/src/tools/definitions/core/code/register-language.sh +475 -0
  274. package/src/tools/definitions/core/code/register-language.yml +74 -0
  275. package/src/tools/definitions/core/docker/build.yml +73 -0
  276. package/src/tools/definitions/core/docker/run.yml +81 -0
  277. package/src/tools/definitions/core/file/copy.yml +88 -0
  278. package/src/tools/definitions/core/file/read.yml +69 -0
  279. package/src/tools/definitions/core/file/write.yml +75 -0
  280. package/src/tools/definitions/core/git/branch.yml +61 -0
  281. package/src/tools/definitions/core/git/cleanup-worktree.yml +50 -0
  282. package/src/tools/definitions/core/git/clone.yml +69 -0
  283. package/src/tools/definitions/core/git/commit.yml +65 -0
  284. package/src/tools/definitions/core/git/push.yml +79 -0
  285. package/src/tools/definitions/core/git/worktree.yml +96 -0
  286. package/src/tools/definitions/core/notification/notify.sh +152 -0
  287. package/src/tools/definitions/core/notification/notify.yml +60 -0
  288. package/src/tools/definitions/core/npm/build.yml +75 -0
  289. package/src/tools/definitions/core/npm/install.yml +58 -0
  290. package/src/tools/definitions/core/npm/test.yml +75 -0
  291. package/src/tools/definitions/core/validation/check-reuse.yml +170 -0
  292. package/src/tools/definitions/core/validation/validate-handlers.yml +118 -0
  293. package/src/tools/definitions/core/validation/validate-readme-stats.yml +155 -0
  294. package/src/tools/definitions/core/validation/validate-yaml-syntax.yml +134 -0
  295. package/src/tools/definitions/ext/browser/browser-automate.sh +255 -0
  296. package/src/tools/definitions/ext/browser/browser-automate.yml +166 -0
  297. package/src/tools/definitions/ext/browser/browser-close.sh +104 -0
  298. package/src/tools/definitions/ext/browser/browser-close.yml +55 -0
  299. package/src/tools/definitions/ext/browser/browser-mcp-debug.sh +682 -0
  300. package/src/tools/definitions/ext/browser/browser-mcp-debug.yml +167 -0
  301. package/src/tools/definitions/ext/browser/browser-start.sh +101 -0
  302. package/src/tools/definitions/ext/browser/browser-start.yml +62 -0
  303. package/src/tools/definitions/registry.json +795 -0
  304. package/src/tools/definitions/std/README.md +350 -0
  305. package/src/tools/definitions/std/analysis/analyze-codebase.yml +72 -0
  306. package/src/tools/definitions/std/analysis/analyze-diff.yml +182 -0
  307. package/src/tools/definitions/std/analysis/analyze-git-diff.yml +70 -0
  308. package/src/tools/definitions/std/analysis/analyze-impact.yml +78 -0
  309. package/src/tools/definitions/std/analysis/analyze-requirements.yml +105 -0
  310. package/src/tools/definitions/std/analysis/brainstorm-options.yml +106 -0
  311. package/src/tools/definitions/std/analysis/build-graph.yml +154 -0
  312. package/src/tools/definitions/std/analysis/clarify-requirements.yml +90 -0
  313. package/src/tools/definitions/std/analysis/detect-context.yml +109 -0
  314. package/src/tools/definitions/std/analysis/detect-layers.yml +125 -0
  315. package/src/tools/definitions/std/analysis/generate-tour.yml +102 -0
  316. package/src/tools/definitions/std/analysis/search-enhance.yml +105 -0
  317. package/src/tools/definitions/std/backlog/add.yml +51 -0
  318. package/src/tools/definitions/std/backlog/decide.yml +39 -0
  319. package/src/tools/definitions/std/backlog/github-sync.yml +161 -0
  320. package/src/tools/definitions/std/backlog/list.yml +53 -0
  321. package/src/tools/definitions/std/backlog/load.yml +46 -0
  322. package/src/tools/definitions/std/backlog/resolve.yml +37 -0
  323. package/src/tools/definitions/std/backlog/update.yml +42 -0
  324. package/src/tools/definitions/std/bugfix/diagnose.yml +68 -0
  325. package/src/tools/definitions/std/bugfix/fix.yml +66 -0
  326. package/src/tools/definitions/std/bugfix/verify.yml +69 -0
  327. package/src/tools/definitions/std/constraint/check-decomposition.yml +103 -0
  328. package/src/tools/definitions/std/constraint/check-feature-list.yml +77 -0
  329. package/src/tools/definitions/std/constraint/check-progress.yml +97 -0
  330. package/src/tools/definitions/std/constraint/generate-report.yml +147 -0
  331. package/src/tools/definitions/std/deploy/commit-push.yml +33 -0
  332. package/src/tools/definitions/std/deploy/deploy-backend.yml +37 -0
  333. package/src/tools/definitions/std/deploy/deploy-frontend.yml +37 -0
  334. package/src/tools/definitions/std/deploy/rollback.yml +148 -0
  335. package/src/tools/definitions/std/design/analyze-architecture-impact.yml +113 -0
  336. package/src/tools/definitions/std/design/design-api.yml +55 -0
  337. package/src/tools/definitions/std/design/design-architecture.yml +97 -0
  338. package/src/tools/definitions/std/design/design-db.yml +81 -0
  339. package/src/tools/definitions/std/design/generate-spec.yml +182 -0
  340. package/src/tools/definitions/std/development/develop-api.yml +85 -0
  341. package/src/tools/definitions/std/development/develop-backend.yml +88 -0
  342. package/src/tools/definitions/std/development/develop-frontend.yml +87 -0
  343. package/src/tools/definitions/std/development/develop-shared-types.yml +74 -0
  344. package/src/tools/definitions/std/development/develop-task.yml +122 -0
  345. package/src/tools/definitions/std/development/develop-tests.yml +76 -0
  346. package/src/tools/definitions/std/development/execute-batch.yml +152 -0
  347. package/src/tools/definitions/std/development/fix-issues.yml +100 -0
  348. package/src/tools/definitions/std/development/implement-task.yml +124 -0
  349. package/src/tools/definitions/std/development/review-fix-cycle.yml +232 -0
  350. package/src/tools/definitions/std/evolution/implement.yml +125 -0
  351. package/src/tools/definitions/std/evolution/prioritize.yml +112 -0
  352. package/src/tools/definitions/std/evolution/report-gap.yml +166 -0
  353. package/src/tools/definitions/std/file/read.yml +21 -0
  354. package/src/tools/definitions/std/governance/aggregate-opinions.sh +201 -0
  355. package/src/tools/definitions/std/governance/aggregate-opinions.yml +79 -0
  356. package/src/tools/definitions/std/governance/audit-task.yml +178 -0
  357. package/src/tools/definitions/std/governance/cast-vote.yml +129 -0
  358. package/src/tools/definitions/std/governance/collect-issues.yml +16 -0
  359. package/src/tools/definitions/std/governance/create-signed-document.yml +23 -0
  360. package/src/tools/definitions/std/governance/create-voting-session.yml +101 -0
  361. package/src/tools/definitions/std/governance/define-stance.sh +243 -0
  362. package/src/tools/definitions/std/governance/define-stance.yml +82 -0
  363. package/src/tools/definitions/std/governance/generate-review-report.yml +23 -0
  364. package/src/tools/definitions/std/governance/impeach.yml +179 -0
  365. package/src/tools/definitions/std/governance/multi-stance-review.yml +154 -0
  366. package/src/tools/definitions/std/governance/prepare-artifact.yml +20 -0
  367. package/src/tools/definitions/std/governance/review-spec-approval.yml +262 -0
  368. package/src/tools/definitions/std/governance/rollback.yml +186 -0
  369. package/src/tools/definitions/std/governance/stance-review.yml +149 -0
  370. package/src/tools/definitions/std/governance/track-effect.yml +199 -0
  371. package/src/tools/definitions/std/governance/vote-tally.yml +144 -0
  372. package/src/tools/definitions/std/patch/execute.yml +51 -0
  373. package/src/tools/definitions/std/planning/generate-tasks.yml +36 -0
  374. package/src/tools/definitions/std/planning/load-tasks.yml +44 -0
  375. package/src/tools/definitions/std/planning/split-batch.yml +481 -0
  376. package/src/tools/definitions/std/planning/split-tasks.yml +359 -0
  377. package/src/tools/definitions/std/planning/update-tasks.yml +51 -0
  378. package/src/tools/definitions/std/planning/validate-tasks.yml +46 -0
  379. package/src/tools/definitions/std/project/decide-next-workflow.yml +38 -0
  380. package/src/tools/definitions/std/project/load-state.yml +31 -0
  381. package/src/tools/definitions/std/project/save-state.yml +32 -0
  382. package/src/tools/definitions/std/quality/check-quality.yml +241 -0
  383. package/src/tools/definitions/std/quality/debug-systematic.yml +163 -0
  384. package/src/tools/definitions/std/quality/handle-feedback.yml +108 -0
  385. package/src/tools/definitions/std/quality/review-code.yml +128 -0
  386. package/src/tools/definitions/std/quality/review-spec.yml +140 -0
  387. package/src/tools/definitions/std/quality/review-task.yml +190 -0
  388. package/src/tools/definitions/std/quality/run-tests.yml +80 -0
  389. package/src/tools/definitions/std/quick/analyze.yml +56 -0
  390. package/src/tools/definitions/std/quick/implement.yml +67 -0
  391. package/src/tools/definitions/std/quick/verify.yml +71 -0
  392. package/src/tools/definitions/std/verification/verify_completion.yml +113 -0
  393. package/src/tools/definitions/std/verification/wait-condition.yml +107 -0
  394. package/src/tools/index.ts +5 -0
  395. package/src/tools/loader.ts +216 -0
  396. package/src/tools/paths.ts +15 -0
  397. package/src/tools/registry.ts +128 -0
  398. package/src/tools/types.ts +46 -0
  399. package/src/types/__tests__/types.test.ts +86 -0
  400. package/src/types/checkpoint.ts +174 -0
  401. package/src/types/constraint.ts +335 -0
  402. package/src/types/cso.ts +37 -0
  403. package/src/types/enforcement.ts +48 -0
  404. package/src/types/index.ts +59 -0
  405. package/src/types/iron-law.ts +50 -0
  406. package/src/types/passes-gate.ts +185 -0
  407. package/src/types/performance.ts +295 -0
  408. package/src/types/project-config.ts +251 -0
  409. package/src/types/session.ts +132 -0
  410. package/src/types/spec.ts +91 -0
  411. package/src/types/trace.ts +228 -0
  412. package/src/utils/detect-source-roots.ts +114 -0
  413. package/src/utils/exec.ts +61 -0
  414. package/src/verification/CONTEXT.md +23 -0
  415. package/src/verification/__tests__/loop.test.ts +303 -0
  416. package/src/verification/__tests__/rules-based.test.ts +240 -0
  417. package/src/verification/index.ts +3 -0
  418. package/src/verification/loop.ts +137 -0
  419. package/src/verification/rules-based.ts +153 -0
  420. package/src/verification/types.ts +81 -0
@@ -0,0 +1,350 @@
1
+ # Skills - 能力单元层
2
+
3
+ Skills 是工作流引擎的**能力单元层**,定义可复用的可调用能力(原名为 Steps,v0.8 重命名为 Skills)。
4
+
5
+ ---
6
+
7
+ ## 核心定义
8
+
9
+ **Skill = 能力单元,可调用 Agent / Tools / 脚本,用户可直接触发**
10
+
11
+ | 特征 | 说明 |
12
+ |------|------|
13
+ | 执行方式 | Agent / Tool / Script / Builtin |
14
+ | Agent 调用 | ✅ 可选 |
15
+ | 复用范围 | 跨项目复用 |
16
+ | 用户可直接调用 | ✅ 支持(通过命令)|
17
+
18
+ ---
19
+
20
+ ## 命名说明
21
+
22
+ - **v0.7 及之前**: 叫 `Step` - 执行单元
23
+ - **v0.8 及之后**: 叫 `Skill` - 能力单元(用户可直接调用)
24
+ - 工作流内部的执行步骤仍叫 `Step`,概念不变
25
+
26
+ | 特征 | 说明 |
27
+ |------|------|
28
+ | 执行方式 | Agent / Tool / Script / Builtin |
29
+ | Agent 调用 | ✅ 可选 |
30
+ | 复用范围 | 项目内复用 |
31
+ | 创建文件 | ✅ 可选(可内联定义) |
32
+
33
+ ---
34
+
35
+ ## Step 类型
36
+
37
+ ### 1. Agent Step(智能决策)
38
+
39
+ 调用 Agent 进行智能决策和代码生成。
40
+
41
+ ```yaml
42
+ # steps/quality/run-tests.yml
43
+ name: run-tests
44
+ agent: codex # 调用 Agent
45
+ temperature: 0.2
46
+
47
+ prompt: |
48
+ 运行项目测试并报告结果...
49
+ ```
50
+
51
+ **适用场景**:
52
+ - 需要 AI 理解上下文
53
+ - 需要智能决策
54
+ - 代码生成/修改
55
+
56
+ ---
57
+
58
+ ### 2. Tool Step(复用能力)
59
+
60
+ 引用 Tools 层定义的能力。
61
+
62
+ ```yaml
63
+ # Workflow 中引用
64
+ steps:
65
+ - id: start-container
66
+ tool: docker/run # 引用 tools/docker/run.yml
67
+ input:
68
+ image_name: "myapp"
69
+ ```
70
+
71
+ **适用场景**:
72
+ - 复用已定义的 Tool
73
+ - 跨项目共享能力
74
+
75
+ ---
76
+
77
+ ### 3. Script Step(一次性脚本)
78
+
79
+ 在 Workflow 中内联脚本。
80
+
81
+ ```yaml
82
+ steps:
83
+ - id: check-files
84
+ script: |
85
+ #!/bin/bash
86
+ ls -la
87
+ echo "Done"
88
+ ```
89
+
90
+ **适用场景**:
91
+ - 一次性脚本
92
+ - 无需复用
93
+ - 简单操作
94
+
95
+ ---
96
+
97
+ ### 4. Builtin Step(内置处理器)
98
+
99
+ 调用运行时内置处理器。
100
+
101
+ ```yaml
102
+ steps:
103
+ - id: generate-report
104
+ step: evolution/report-gap # 内置处理器
105
+ input:
106
+ execution_id: "xxx"
107
+ ```
108
+
109
+ **适用场景**:
110
+ - 高频调用
111
+ - 需要高性能
112
+ - 核心功能
113
+
114
+ ---
115
+
116
+ ## 目录结构
117
+
118
+ ```
119
+ skills/
120
+ ├── quality/ # 质量相关
121
+ │ ├── run-tests.yml # 运行测试(agent)
122
+ │ └── lint.yml # 代码检查
123
+ │
124
+ ├── evolution/ # 进化相关
125
+ │ ├── report-gap.yml # 生成 Gap Report(builtin)
126
+ │ ├── prioritize.yml # 优先级排序(builtin)
127
+ │ └── implement.yml # 实现建议(agent)
128
+ │
129
+ ├── governance/ # 治理相关
130
+ │ ├── multi-stance-review.yml
131
+ │ └── audit.yml
132
+ │
133
+ ├── analysis/ # 分析相关
134
+ │ ├── detect-context.yml
135
+ │ └── parse-code.yml
136
+ │
137
+ ├── design/ # 设计相关
138
+ │ ├── generate-spec.yml # 生成 Spec 约束文档
139
+ │
140
+ └── ...
141
+ ```
142
+
143
+ ---
144
+
145
+ ## Skill 文件格式
146
+
147
+ ```yaml
148
+ # skills/<category>/<name>.yml
149
+ id: unique-id # 唯一标识 (可选,默认从路径生成)
150
+ name: Skill 名称 # 人类可读名称
151
+ description: 详细描述 # Skill 做什么
152
+ category: category-name # 分类
153
+ version: 1.0.0
154
+
155
+ # 开放调用配置(用户可直接调用)
156
+ openclaw:
157
+ userInvocable: true # 是否允许用户直接调用
158
+ command: "!command" # 触发命令
159
+ emoji: "🔍" # 显示 emoji
160
+
161
+ # 关键词(用于意图匹配)
162
+ keywords: ["分析", "架构", "关键词"]
163
+
164
+ # 默认工作流(用户调用时自动执行)
165
+ defaultWorkflow: wf-analyze
166
+
167
+ # Agent 配置(可选)
168
+ agent: codex
169
+ temperature: 0.3
170
+
171
+ # 可用工具(agent 类型时)
172
+ tools:
173
+ - file-read
174
+ - file-write
175
+ - bash
176
+
177
+ # 输入定义
178
+ inputs:
179
+ - name: param1
180
+ type: string
181
+ required: true
182
+ description: 参数说明
183
+
184
+ # 输出定义
185
+ outputs:
186
+ - name: result1
187
+ type: string
188
+ description: 输出说明
189
+
190
+ # Prompt(agent 类型时)
191
+ prompt: |
192
+ 执行任务...
193
+
194
+ ## 输入
195
+ {{param1}}
196
+
197
+ # 或执行配置(builtin 类型时)
198
+ execute:
199
+ type: builtin
200
+ handler: category/handler-name
201
+ ```
202
+
203
+ ---
204
+
205
+ ## 与 Tools 的边界
206
+
207
+ ### 判断标准
208
+
209
+ ```
210
+ 需要跨项目复用?
211
+ │
212
+ ├── 是 → 创建 Tool 文件(tools/xxx.yml)
213
+ │
214
+ └── 否 → 在 Workflow 中用 script step
215
+
216
+ 需要 Agent 智能决策?
217
+ │
218
+ ├── 是 → 创建 Step 文件(agent 类型)
219
+ │
220
+ └── 否 → 用 Tool 或 script step
221
+ ```
222
+
223
+ ### 示例对比
224
+
225
+ | 场景 | 用 Tool | 用 Step |
226
+ |------|:-------:|:-------:|
227
+ | 运行 Docker 容器 | ✅ docker/run | - |
228
+ | 浏览器操作 | ✅ browser/automate | - |
229
+ | 运行测试(需 AI 判断) | - | ✅ quality/run-tests |
230
+ | 分析代码(需 AI 理解) | - | ✅ analysis/parse-code |
231
+ | 简单脚本(一次性) | - | script step |
232
+
233
+ ---
234
+
235
+ ## 在 Workflow 中使用
236
+
237
+ ### 引用 Step 文件
238
+
239
+ ```yaml
240
+ # workflows/wf-evolution.yml
241
+ steps:
242
+ - id: prioritize
243
+ step: evolution/prioritize # 引用 steps/evolution/prioritize.yml
244
+ input:
245
+ project_path: "/path/to/project"
246
+ ```
247
+
248
+ ### 内联定义
249
+
250
+ ```yaml
251
+ # workflows/xxx.yml
252
+ steps:
253
+ # 引用 Tool
254
+ - id: start
255
+ tool: docker/run
256
+ input:
257
+ image_name: "myapp"
258
+
259
+ # 内联脚本
260
+ - id: check
261
+ script: |
262
+ curl http://localhost:3000/health
263
+
264
+ # 引用 Step 文件
265
+ - id: test
266
+ step: quality/run-tests
267
+ input:
268
+ project_path: "${inputs.project_path}"
269
+
270
+ # 调用 Agent
271
+ - id: fix
272
+ agent: codex
273
+ prompt: |
274
+ 修复发现的错误...
275
+ ```
276
+
277
+ ---
278
+
279
+ ## 设计原则
280
+
281
+ ### 1. 可复用性
282
+
283
+ Step 文件应该是可复用的执行单元,不绑定特定项目。
284
+
285
+ ```yaml
286
+ # ✅ 好的设计:参数化
287
+ inputs:
288
+ - name: project_path
289
+ type: path
290
+ required: true
291
+
292
+ # ❌ 坏的设计:硬编码
293
+ script: |
294
+ cd /fixed/path/to/project
295
+ ```
296
+
297
+ ### 2. 单一职责
298
+
299
+ 每个 Step 文件只做一件事。
300
+
301
+ ### 3. 明确输入输出
302
+
303
+ ```yaml
304
+ inputs:
305
+ - name: project_path
306
+ type: path
307
+ required: true
308
+
309
+ outputs:
310
+ - name: test_results
311
+ type: object
312
+ ```
313
+
314
+ ---
315
+
316
+ ## Skill vs Tool vs Workflow vs Step
317
+
318
+ | 概念 | 职责 | Agent | 用户可调用 | 文件 |
319
+ |------|------|:-----:|:---------:|------|
320
+ | **Tool** | 纯脚本能力 | ❌ | - | tools/xxx.yml |
321
+ | **Skill** | 可调用能力单元 | ✅ 可选 | ✅ | skills/xxx.yml |
322
+ | **Workflow** | 流程编排 | - | ✅ | workflows/xxx.yml |
323
+ | **Step** | 工作流内部执行步骤 | - | - | 内联在 Workflow 中 |
324
+
325
+ **层级关系:**
326
+
327
+ ```
328
+ Skill(能力单元层)
329
+ │
330
+ ├── 可被用户直接调用
331
+ │ ↓
332
+ └── 触发 Workflow(编排层)
333
+ │
334
+ ├── Step 执行(执行单元)
335
+ │ ├── agent 类型 → 调用 Agent
336
+ │ ├── tool 引用 → 调用 Tool
337
+ │ └── builtin → 内置处理器
338
+ │
339
+ ├── Tool 引用(复用能力)
340
+ │
341
+ └── script step(一次性脚本)
342
+ ```
343
+
344
+ ---
345
+
346
+ ## 相关文档
347
+
348
+ - [Tools 能力层](../tools/README.md)
349
+ - [Workflow 编排](../workflows/README.md)
350
+ - [Skill 开发指南](../docs/skill-development-guide.md)
@@ -0,0 +1,72 @@
1
+ # analyze-codebase.yml
2
+ name: analyze-codebase
3
+ stage: plan
4
+ description: 分析代码库,生成知识图谱
5
+ agent: codex
6
+ temperature: 0.3
7
+
8
+ tools:
9
+ - file-read
10
+ - file-write
11
+
12
+ prompt: |
13
+ 你是代码分析专家。分析代码库并生成知识图谱。
14
+
15
+ {{input}}
16
+
17
+ ## 任务
18
+
19
+ ### 1. 扫描代码文件
20
+
21
+ ```bash
22
+ find . -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.jsx" | grep -v node_modules | grep -v dist | head -100
23
+ ```
24
+
25
+ ### 2. 分析代码结构
26
+
27
+ 识别:
28
+ - 入口文件
29
+ - 核心模块
30
+ - 依赖关系
31
+ - 配置文件
32
+
33
+ ### 3. 生成知识图谱
34
+
35
+ 创建 `knowledge-graph.json`:
36
+ ```json
37
+ {
38
+ "nodes": [
39
+ {"id": "src/index.ts", "type": "entry", "label": "主入口"},
40
+ {"id": "src/api", "type": "module", "label": "API 模块"}
41
+ ],
42
+ "edges": [
43
+ {"from": "src/index.ts", "to": "src/api", "type": "imports"}
44
+ ],
45
+ "summary": {
46
+ "language": "TypeScript",
47
+ "framework": "Express",
48
+ "totalFiles": 42,
49
+ "totalDeps": 15
50
+ }
51
+ }
52
+ ```
53
+
54
+ ## 原则
55
+
56
+ - 关注核心文件,忽略琐碎
57
+ - 识别关键依赖
58
+ - 总结项目架构
59
+
60
+ inputs:
61
+ - name: scope
62
+ type: string
63
+ default: "."
64
+ description: 分析范围
65
+
66
+ - name: exclude
67
+ type: array
68
+ default: ["node_modules", "dist", "coverage", ".git", "build"]
69
+ description: 排除目录
70
+
71
+ outputs:
72
+ - knowledge-graph.json
@@ -0,0 +1,182 @@
1
+ name: analyze-diff
2
+ stage: plan
3
+ description: |
4
+ 分析 Git diff 影响范围(智能版本)。
5
+
6
+ 通过 fingerprint 工具区分变更级别:
7
+ - STRUCTURAL: 结构性变更(函数签名、类结构、导入变化)
8
+ - COSMETIC: 表面变更(注释、格式化)
9
+ - NONE: 无变更
10
+
11
+ 核心功能:
12
+ - 智能跳过表面变更分析
13
+ - 变更的组件识别
14
+ - 受影响的下游组件
15
+ - 架构层级影响
16
+ - 风险评估
17
+
18
+ 用途:
19
+ - 代码审查前置分析(节省 30-50% 时间)
20
+ - 测试范围确定
21
+ - 发布影响评估
22
+
23
+ agent: codex
24
+ timeout: 300 # 5 分钟
25
+
26
+ # 集成的工具
27
+ tools:
28
+ - code/fingerprint
29
+
30
+ inputs:
31
+ - name: project_path
32
+ type: string
33
+ required: true
34
+ description: 项目根路径
35
+
36
+ - name: base_ref
37
+ type: string
38
+ required: false
39
+ default: "main"
40
+ description: 基准分支或 commit
41
+
42
+ - name: head_ref
43
+ type: string
44
+ required: false
45
+ default: "HEAD"
46
+ description: 目标分支或 commit
47
+
48
+ - name: knowledge_graph_path
49
+ type: string
50
+ required: false
51
+ description: 知识图谱文件路径(默认 .agent/knowledge-graph.json)
52
+
53
+ outputs:
54
+ - name: changed_files
55
+ type: array
56
+ description: 变更文件列表
57
+
58
+ - name: changed_nodes
59
+ type: array
60
+ description: 变更的知识图谱节点
61
+
62
+ - name: affected_nodes
63
+ type: array
64
+ description: 受影响的下游节点
65
+
66
+ - name: affected_layers
67
+ type: array
68
+ description: 涉及的架构层级
69
+
70
+ - name: risk_assessment
71
+ type: object
72
+ description: 风险评估结果
73
+
74
+ - name: report
75
+ type: string
76
+ description: Markdown 格式的分析报告
77
+
78
+ prompt: |
79
+ 分析项目 {{project_path}} 的 Git diff 影响范围。
80
+
81
+ ## Step 0: 智能变更检测(fingerprint)
82
+
83
+ 对每个变更文件执行结构指纹分析:
84
+ ```bash
85
+ # 获取变更文件
86
+ CHANGED_FILES=$(git diff --name-only {{base_ref}}...{{head_ref}})
87
+
88
+ # 对每个文件检测变更级别
89
+ for FILE in $CHANGED_FILES; do
90
+ fingerprint.sh "$FILE" "{{project_path}}" "{{base_ref}}"
91
+ done
92
+ ```
93
+
94
+ 根据变更级别决定分析策略:
95
+ - **STRUCTURAL**: 执行完整影响分析
96
+ - **COSMETIC**: 跳过深度分析,仅记录格式变更
97
+ - **NONE**: 跳过该文件
98
+
99
+ ## Step 1: 获取变更文件列表
100
+
101
+ ```bash
102
+ # 只分析 STRUCTURAL 变更
103
+ git diff --name-only {{base_ref}}...{{head_ref}}
104
+ ```
105
+
106
+ ## Step 2: 加载知识图谱
107
+
108
+ - 路径:{{knowledge_graph_path}} 或 .agent/knowledge-graph.json
109
+ - 如果不存在,需要先运行 wf-analyze 生成
110
+
111
+ ## Step 3: 映射变更文件到知识图谱节点
112
+
113
+ - 识别变更的组件(函数、类、模块)
114
+ - 追踪下游依赖关系
115
+ - 确定受影响范围
116
+
117
+ ## Step 4: 架构层级分析
118
+
119
+ - 识别涉及的层级(如:presentation、business、data)
120
+ - 判断是否跨层变更
121
+
122
+ ## Step 5: 风险评估
123
+
124
+ - 高复杂度组件变更
125
+ - 跨层级影响
126
+ - 大范围下游影响
127
+ - 新增/未映射文件
128
+
129
+ ## 输出格式
130
+
131
+ 生成结构化的影响分析报告,包含:
132
+ - 变更级别统计(STRUCTURAL/COSMETIC/NONE)
133
+ - 变更组件清单
134
+ - 受影响组件清单
135
+ - 架构层级影响
136
+ - 风险等级和建议
137
+
138
+ ## 示例输出
139
+
140
+ ```markdown
141
+ # Diff Analysis: my-project
142
+
143
+ ## Change Level Summary
144
+
145
+ | Level | Count | Files |
146
+ |-------|-------|-------|
147
+ | STRUCTURAL | 3 | auth.ts, user.ts, api.ts |
148
+ | COSMETIC | 2 | utils.ts (格式), config.ts (注释) |
149
+ | NONE | 0 | - |
150
+
151
+ ## Changed Components (STRUCTURAL only)
152
+
153
+ - **UserService** (class) — 用户认证服务
154
+ - File: `src/services/auth.ts`
155
+ - Complexity: complex
156
+ - Change: 新增 logout 方法
157
+
158
+ ## Affected Components
159
+
160
+ 这些组件连接到变更代码,可能需要注意:
161
+
162
+ - **LoginComponent** (function) — 登录表单
163
+ - **AuthMiddleware** (function) — 认证中间件
164
+
165
+ ## Affected Layers
166
+
167
+ - **presentation**: 前端展示层
168
+ - **business**: 业务逻辑层
169
+
170
+ ## Risk Assessment
171
+
172
+ - **High complexity**: 1 个复杂组件变更: UserService
173
+ - **Cross-layer impact**: 变更跨越 2 个架构层级
174
+ - **Wide blast radius**: 5 个组件受下游影响
175
+ ```
176
+
177
+ retry:
178
+ max_attempts: 2
179
+ backoff: exponential
180
+ initial_delay: 5000
181
+
182
+ version: "1.0.0"
@@ -0,0 +1,70 @@
1
+ # analyze-git-diff.yml
2
+ name: analyze-git-diff
3
+ stage: plan
4
+ description: 分析 Git 变更
5
+ agent: codex
6
+ temperature: 0.2
7
+
8
+ tools:
9
+ - file-read
10
+ - git-diff
11
+
12
+ prompt: |
13
+ 你是 Git 分析专家。分析代码变更内容。
14
+
15
+ {{input}}
16
+
17
+ ## 任务
18
+
19
+ ### 1. 获取变更
20
+
21
+ ```bash
22
+ git diff --name-only HEAD~1 2>/dev/null || echo "no git"
23
+ git diff HEAD~1 2>/dev/null | head -200
24
+ ```
25
+
26
+ ### 2. 分析变更类型
27
+
28
+ 分类变更:
29
+ - **功能新增**:新文件、新函数
30
+ - **Bug 修复**:小范围修改
31
+ - **重构**:文件移动、重命名
32
+ - **文档**:*.md 文件
33
+ - **配置**:*.json, *.yml
34
+
35
+ ### 3. 输出变更报告
36
+
37
+ 创建 `git-diff-report.json`:
38
+ ```json
39
+ {
40
+ "files": ["src/api.ts", "src/utils.ts"],
41
+ "changes": [
42
+ {"file": "src/api.ts", "type": "modified", "lines": 15}
43
+ ],
44
+ "summary": {
45
+ "added": 20,
46
+ "removed": 5,
47
+ "files": 2
48
+ }
49
+ }
50
+ ```
51
+
52
+ ## 原则
53
+
54
+ - 关注有意义的变化
55
+ - 识别潜在的破坏性变更
56
+ - 生成简洁摘要
57
+
58
+ inputs:
59
+ - name: baseRef
60
+ type: string
61
+ default: "HEAD~1"
62
+ description: Git 基准引用
63
+
64
+ - name: headRef
65
+ type: string
66
+ default: "HEAD"
67
+ description: Git 目标引用
68
+
69
+ outputs:
70
+ - git-diff-report.json