@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,37 @@
1
+ # backlog/resolve - 解决待办项
2
+ #
3
+ # 输入:
4
+ # - project_path: 项目路径
5
+ # - item_id: 待办项 ID
6
+ # - resolution: 解决说明(可选)
7
+ #
8
+ # 输出:
9
+ # - item: 解决后的待办项
10
+
11
+ id: backlog/resolve
12
+ stage: plan
13
+ name: 解决待办项
14
+ description: 标记待办项为已解决
15
+ category: backlog
16
+ execute:
17
+ type: builtin
18
+ handler: backlog/resolve
19
+
20
+ inputs:
21
+ project_path:
22
+ type: string
23
+ description: 项目路径
24
+ required: true
25
+ item_id:
26
+ type: string
27
+ description: 待办项 ID(如 BUG-001)
28
+ required: true
29
+ resolution:
30
+ type: string
31
+ description: 解决说明
32
+ required: false
33
+
34
+ outputs:
35
+ - name: item
36
+ type: object
37
+ description: 解决后的待办项
@@ -0,0 +1,42 @@
1
+ # backlog/update - 更新待办项
2
+ #
3
+ # 输入:
4
+ # - project_path: 项目路径
5
+ # - item_id: 待办项 ID
6
+ # - status: 新状态(可选)
7
+ # - priority: 新优先级(可选)
8
+ #
9
+ # 输出:
10
+ # - item: 更新后的待办项
11
+
12
+ id: backlog/update
13
+ stage: plan
14
+ name: 更新待办项
15
+ description: 更新待办项状态或优先级
16
+ category: backlog
17
+ execute:
18
+ type: builtin
19
+ handler: backlog/update
20
+
21
+ inputs:
22
+ project_path:
23
+ type: string
24
+ description: 项目路径
25
+ required: true
26
+ item_id:
27
+ type: string
28
+ description: 待办项 ID(如 BUG-001)
29
+ required: true
30
+ status:
31
+ type: string
32
+ enum: [open, in_progress, resolved, closed]
33
+ required: false
34
+ priority:
35
+ type: string
36
+ enum: [critical, high, medium, low]
37
+ required: false
38
+
39
+ outputs:
40
+ - name: item
41
+ type: object
42
+ description: 更新后的待办项
@@ -0,0 +1,68 @@
1
+ # bugfix/diagnose - 诊断 Bug
2
+ #
3
+ # 输入:
4
+ # - project_path: 项目路径
5
+ # - bug_description: Bug 描述
6
+ # - error_log: 可选的错误日志
7
+ #
8
+ # 输出:
9
+ # - diagnosis: 诊断结果
10
+
11
+ id: bugfix/diagnose
12
+ stage: fix
13
+ name: 诊断 Bug
14
+ description: 分析代码和错误信息,定位 Bug 根因
15
+ category: bugfix
16
+ agent: codex
17
+
18
+ inputs:
19
+ project_path:
20
+ type: string
21
+ description: 项目路径
22
+ required: true
23
+ bug_description:
24
+ type: string
25
+ description: Bug 描述
26
+ required: true
27
+ error_log:
28
+ type: string
29
+ description: 错误日志(可选)
30
+ required: false
31
+
32
+ outputs:
33
+ - name: diagnosis
34
+ type: object
35
+ description: 诊断结果
36
+
37
+ prompt: |
38
+ 你是一个专业的 Bug 诊断专家。请分析以下 Bug 并找出根因。
39
+
40
+ **Bug 描述**: {{bug_description}}
41
+
42
+ {{#if error_log}}
43
+ **错误日志**:
44
+ ```
45
+ {{error_log}}
46
+ ```
47
+ {{/if}}
48
+
49
+ **项目路径**: {{project_path}}
50
+
51
+ **任务**:
52
+ 1. 分析相关代码文件
53
+ 2. 找出 Bug 根因
54
+ 3. 提出修复方案
55
+
56
+ **输出格式**(JSON):
57
+ ```json
58
+ {
59
+ "root_cause": "根本原因描述",
60
+ "affected_files": ["file1.ts", "file2.ts"],
61
+ "fix_suggestion": "修复建议",
62
+ "estimated_complexity": "low/medium/high",
63
+ "related_tests": ["test1.test.ts"]
64
+ }
65
+ ```
66
+
67
+ temperature: 0.2
68
+ timeout: 180 # 3 分钟
@@ -0,0 +1,66 @@
1
+ # bugfix/fix - 修复 Bug
2
+ #
3
+ # 输入:
4
+ # - project_path: 项目路径
5
+ # - diagnosis: 诊断结果
6
+ # - bug_description: Bug 描述
7
+ #
8
+ # 输出:
9
+ # - fix_result: 修复结果
10
+
11
+ id: bugfix/fix
12
+ stage: fix
13
+ name: 修复 Bug
14
+ description: 根据诊断结果修复 Bug
15
+ category: bugfix
16
+ agent: codex
17
+
18
+ inputs:
19
+ project_path:
20
+ type: string
21
+ description: 项目路径
22
+ required: true
23
+ diagnosis:
24
+ type: object
25
+ description: 诊断结果
26
+ required: true
27
+ bug_description:
28
+ type: string
29
+ description: Bug 描述
30
+ required: true
31
+
32
+ outputs:
33
+ - name: fix_result
34
+ type: object
35
+ description: 修复结果
36
+
37
+ prompt: |
38
+ 你是一个专业的 Bug 修复工程师。请根据诊断结果修复 Bug。
39
+
40
+ **Bug 描述**: {{bug_description}}
41
+
42
+ **诊断结果**:
43
+ ```json
44
+ {{diagnosis}}
45
+ ```
46
+
47
+ **项目路径**: {{project_path}}
48
+
49
+ **要求**:
50
+ 1. 只修改必要的代码
51
+ 2. 保持代码风格一致
52
+ 3. 添加必要的注释说明修复原因
53
+ 4. 不引入新问题
54
+
55
+ **输出格式**(JSON):
56
+ ```json
57
+ {
58
+ "files_modified": ["file1.ts"],
59
+ "changes_summary": "修改摘要",
60
+ "potential_side_effects": ["可能的副作用"],
61
+ "needs_test_update": true/false
62
+ }
63
+ ```
64
+
65
+ temperature: 0.1
66
+ timeout: 180 # 3 分钟
@@ -0,0 +1,69 @@
1
+ # bugfix/verify - 验证 Bug 修复
2
+ #
3
+ # 输入:
4
+ # - project_path: 项目路径
5
+ # - diagnosis: 诊断结果
6
+ # - fix_result: 修复结果
7
+ #
8
+ # 输出:
9
+ # - verify_result: 验证结果
10
+
11
+ id: bugfix/verify
12
+ stage: fix
13
+ name: 验证修复
14
+ description: 验证 Bug 是否已正确修复
15
+ category: bugfix
16
+ agent: codex
17
+
18
+ inputs:
19
+ project_path:
20
+ type: string
21
+ description: 项目路径
22
+ required: true
23
+ diagnosis:
24
+ type: object
25
+ description: 诊断结果
26
+ required: true
27
+ fix_result:
28
+ type: object
29
+ description: 修复结果
30
+ required: true
31
+
32
+ outputs:
33
+ - name: verify_result
34
+ type: object
35
+ description: 验证结果
36
+
37
+ prompt: |
38
+ 你是一个质量保证工程师。请验证 Bug 修复是否正确。
39
+
40
+ **诊断结果**:
41
+ ```json
42
+ {{diagnosis}}
43
+ ```
44
+
45
+ **修复结果**:
46
+ ```json
47
+ {{fix_result}}
48
+ ```
49
+
50
+ **项目路径**: {{project_path}}
51
+
52
+ **验证任务**:
53
+ 1. 运行相关测试(如果有)
54
+ 2. 检查修复是否解决了根本原因
55
+ 3. 确认没有引入新问题
56
+
57
+ **输出格式**(JSON):
58
+ ```json
59
+ {
60
+ "tests_passed": true/false,
61
+ "test_output": "测试输出摘要",
62
+ "bug_fixed": true/false,
63
+ "side_effects_detected": [],
64
+ "recommendation": "可以提交/需要进一步修复"
65
+ }
66
+ ```
67
+
68
+ temperature: 0.1
69
+ timeout: 120 # 2 分钟
@@ -0,0 +1,103 @@
1
+ # check-decomposition.yml - 检查功能拆解
2
+ # ============================================================================
3
+ # 类型: 验证步骤
4
+ # 用途: 检查每个功能是否都有可验证的 passes 子任务
5
+ # Long-Running Agents 铁律: 功能实现前必须拆解为可验证的子任务
6
+ # ============================================================================
7
+
8
+ name: check-decomposition
9
+ stage: govern
10
+ description: 检查功能是否已拆解为可验证的 passes 子任务
11
+ category: validation
12
+ version: 1.0.0
13
+
14
+ inputs:
15
+ - name: project_path
16
+ type: path
17
+ required: true
18
+ description: 项目路径
19
+
20
+ - name: constraint_level
21
+ type: string
22
+ default: guideline
23
+ enum: [iron_law, guideline, tip]
24
+ description: |
25
+ 约束级别:
26
+ - iron_law: 违反时必须停止
27
+ - guideline: 违反时警告
28
+ - tip: 仅提示
29
+
30
+ - name: exceptions
31
+ type: array
32
+ default: [trivial_change, bug_fix_only, internal_refactor]
33
+ description: 允许例外的情况
34
+
35
+ outputs:
36
+ - name: passed
37
+ type: boolean
38
+ description: 是否通过检查
39
+
40
+ - name: violations
41
+ type: array
42
+ description: 违规的功能 ID 列表
43
+
44
+ - name: warning_count
45
+ type: number
46
+ description: 警告数量
47
+
48
+ - name: error_count
49
+ type: number
50
+ description: 错误数量(iron_law 级别)
51
+
52
+ # Prompt
53
+ prompt: |
54
+ 你是 Long-Running Agents 约束检查器。请检查功能拆解约束。
55
+
56
+ ## 项目路径
57
+
58
+ {{project_path}}
59
+
60
+ ## 约束级别
61
+
62
+ {{constraint_level}}
63
+
64
+ ## 铁律定义
65
+
66
+ **no_feature_without_decomposition**:
67
+ 实现功能前必须先拆解为可验证的子任务(passes)
68
+
69
+ ## 检查流程
70
+
71
+ 1. 加载 feature_list.json:
72
+ ```bash
73
+ cat {{project_path}}/feature_list.json
74
+ ```
75
+
76
+ 2. 对每个 feature 检查:
77
+ - 是否有 `passes` 字段
78
+ - `passes` 数组是否非空
79
+ - 每个 pass 是否有 `description` 和 `verification`
80
+
81
+ 3. 识别例外情况(跳过检查):
82
+ {{exceptions}}
83
+
84
+ 4. 输出结果:
85
+ ```json
86
+ {
87
+ "passed": true/false,
88
+ "violations": ["feature-id-1", "feature-id-2"],
89
+ "warning_count": N,
90
+ "error_count": N // 只在 iron_law 级别
91
+ }
92
+ ```
93
+
94
+ ## 约束级别处理
95
+
96
+ - **iron_law**: 违规必须返回 passed=false, error_count>0
97
+ - **guideline**: 违规返回 passed=true, warning_count>0
98
+ - **tip**: 违规返回 passed=true,仅提示
99
+
100
+ ## 注意
101
+
102
+ - 如果 feature_list.json 不存在,返回 passed=true(跳过检查)
103
+ - 只检查 `status` 不是 `completed` 的功能
@@ -0,0 +1,77 @@
1
+ # check-feature-list.yml - 检查 feature_list.json
2
+ # ============================================================================
3
+ # 类型: 验证步骤
4
+ # 用途: 检查项目是否存在 feature_list.json 并验证格式
5
+ # ============================================================================
6
+
7
+ name: check-feature-list
8
+ stage: govern
9
+ description: 检查 feature_list.json 存在性和格式
10
+ category: validation
11
+ version: 1.0.0
12
+
13
+ inputs:
14
+ - name: project_path
15
+ type: path
16
+ required: true
17
+ description: 项目路径
18
+
19
+ - name: strict
20
+ type: boolean
21
+ default: false
22
+ description: 是否严格模式(缺失时报错)
23
+
24
+ outputs:
25
+ - name: exists
26
+ type: boolean
27
+ description: feature_list.json 是否存在
28
+
29
+ - name: valid
30
+ type: boolean
31
+ description: 格式是否正确
32
+
33
+ - name: feature_count
34
+ type: number
35
+ description: 功能数量
36
+
37
+ - name: features_with_passes
38
+ type: number
39
+ description: 有 passes 字段的功能数量
40
+
41
+ - name: errors
42
+ type: array
43
+ description: 错误列表
44
+
45
+ # Prompt(用于 Agent 执行)
46
+ prompt: |
47
+ 你是项目约束检查器。请检查项目的 feature_list.json 文件。
48
+
49
+ ## 项目路径
50
+
51
+ {{project_path}}
52
+
53
+ ## 检查流程
54
+
55
+ 1. 检查文件是否存在: `{{project_path}}/feature_list.json`
56
+
57
+ 2. 如果存在,检查格式:
58
+ - 是否是有效的 JSON
59
+ - 是否有 `features` 数组字段
60
+ - 每个 feature 是否有 `id`, `name`, `description` 字段
61
+ - 检查有多少 feature 有 `passes` 字段
62
+
63
+ 3. 输出检查结果:
64
+ ```json
65
+ {
66
+ "exists": true/false,
67
+ "valid": true/false,
68
+ "feature_count": N,
69
+ "features_with_passes": N,
70
+ "errors": ["错误1", "错误2", ...]
71
+ }
72
+ ```
73
+
74
+ ## 注意
75
+
76
+ - 如果 strict=true 且文件不存在,返回错误
77
+ - 如果 strict=false 且文件不存在,返回 exists=false, valid=false(不报错)
@@ -0,0 +1,97 @@
1
+ # check-progress.yml - 检查 progress.json
2
+ # ============================================================================
3
+ # 类型: 验证步骤
4
+ # 用途: 检查跨 session 进度追踪文件
5
+ # Long-Running Agents: progress.json 用于追踪跨 session 的功能完成进度
6
+ # ============================================================================
7
+
8
+ name: check-progress
9
+ stage: govern
10
+ description: 检查 progress.json 跨 session 进度追踪
11
+ category: validation
12
+ version: 1.0.0
13
+
14
+ inputs:
15
+ - name: project_path
16
+ type: path
17
+ required: true
18
+ description: 项目路径
19
+
20
+ - name: require_passes_evidence
21
+ type: boolean
22
+ default: true
23
+ description: 是否要求 passes 有证据(截图/测试结果)
24
+
25
+ outputs:
26
+ - name: exists
27
+ type: boolean
28
+ description: progress.json 是否存在
29
+
30
+ - name: valid
31
+ type: boolean
32
+ description: 格式是否正确
33
+
34
+ - name: completed_features
35
+ type: number
36
+ description: 已完成的功能数量
37
+
38
+ - name: in_progress_features
39
+ type: number
40
+ description: 进行中的功能数量
41
+
42
+ - name: passes_with_evidence
43
+ type: number
44
+ description: 有证据的 passes 数量
45
+
46
+ - name: passes_without_evidence
47
+ type: number
48
+ description: 缺失证据的 passes 数量
49
+
50
+ - name: errors
51
+ type: array
52
+ description: 错误列表
53
+
54
+ # Prompt
55
+ prompt: |
56
+ 你是 Long-Running Agents 进度检查器。请检查 progress.json。
57
+
58
+ ## 项目路径
59
+
60
+ {{project_path}}
61
+
62
+ ## 检查流程
63
+
64
+ 1. 检查文件是否存在: `{{project_path}}/progress.json`
65
+
66
+ 2. 如果存在,检查格式:
67
+ - 是否是有效的 JSON
68
+ - 是否有 `features` 字段
69
+ - 每个 feature 是否有 `id`, `status`, `passes` 字段
70
+ - `status` 是否是有效值: pending, in_progress, completed
71
+
72
+ 3. 统计:
73
+ - 已完成功能数量(status=completed)
74
+ - 进行中功能数量(status=in_progress)
75
+ - 有证据的 passes 数量(有 screenshot 或 test_result)
76
+ - 缺失证据的 passes 数量
77
+
78
+ 4. 如果 require_passes_evidence=true:
79
+ - 检查每个 completed 的 feature 的 passes 是否有证据
80
+
81
+ 5. 输出结果:
82
+ ```json
83
+ {
84
+ "exists": true/false,
85
+ "valid": true/false,
86
+ "completed_features": N,
87
+ "in_progress_features": N,
88
+ "passes_with_evidence": N,
89
+ "passes_without_evidence": N,
90
+ "errors": ["错误1", ...]
91
+ }
92
+ ```
93
+
94
+ ## 注意
95
+
96
+ - progress.json 是可选的(不存在时不报错)
97
+ - 如果不存在,返回 exists=false, valid=false
@@ -0,0 +1,147 @@
1
+ # generate-report.yml - 生成约束检查报告
2
+ # ============================================================================
3
+ # 类型: 汇总步骤
4
+ # 用途: 汇总所有约束检查结果,生成报告
5
+ # ============================================================================
6
+
7
+ name: generate-report
8
+ stage: govern
9
+ description: 生成约束检查汇总报告
10
+ category: reporting
11
+ version: 1.0.0
12
+
13
+ inputs:
14
+ - name: project_path
15
+ type: path
16
+ required: true
17
+ description: 项目路径
18
+
19
+ - name: constraint_level
20
+ type: string
21
+ required: true
22
+ description: 约束级别
23
+
24
+ - name: feature_list_result
25
+ type: object
26
+ required: true
27
+ description: feature_list 检查结果
28
+
29
+ - name: decomposition_result
30
+ type: object
31
+ required: true
32
+ description: 功能拆解检查结果
33
+
34
+ - name: progress_result
35
+ type: object
36
+ required: true
37
+ description: progress 检查结果
38
+
39
+ - name: output_format
40
+ type: string
41
+ default: summary
42
+ enum: [summary, detailed, json]
43
+ description: 输出格式
44
+
45
+ outputs:
46
+ - name: passed
47
+ type: boolean
48
+ description: 是否通过所有约束
49
+
50
+ - name: total_checks
51
+ type: number
52
+ description: 总检查项数
53
+
54
+ - name: passed_checks
55
+ type: number
56
+ description: 通过的检查项数
57
+
58
+ - name: violations
59
+ type: array
60
+ description: 所有违规项
61
+
62
+ - name: report
63
+ type: object
64
+ description: 详细报告
65
+
66
+ - name: report_file
67
+ type: path
68
+ description: 报告文件路径
69
+
70
+ # Prompt
71
+ prompt: |
72
+ 你是约束检查报告生成器。请汇总所有检查结果生成报告。
73
+
74
+ ## 项目信息
75
+
76
+ 项目路径: {{project_path}}
77
+ 约束级别: {{constraint_level}}
78
+
79
+ ## 检查结果
80
+
81
+ ### feature_list.json 检查
82
+ ```json
83
+ {{feature_list_result}}
84
+ ```
85
+
86
+ ### 功能拆解检查
87
+ ```json
88
+ {{decomposition_result}}
89
+ ```
90
+
91
+ ### progress.json 检查
92
+ ```json
93
+ {{progress_result}}
94
+ ```
95
+
96
+ ## 报告生成
97
+
98
+ 根据 output_format 生成报告:
99
+
100
+ ### summary 格式(默认)
101
+
102
+ ```
103
+ 🔍 Long-Running Agents 约束检查
104
+
105
+ 项目路径: {{project_path}}
106
+ 约束级别: {{constraint_level}}
107
+
108
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
109
+
110
+ 检查项 状态 说明
111
+ ────────────────────────────────────────────
112
+ feature_list.json ✅/⚠️/❌ ...
113
+ 功能拆解 ✅/⚠️/❌ ...
114
+ progress.json ✅/⚠️/❌ ...
115
+
116
+ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
117
+
118
+ 结果: ✅ 通过 / ❌ 失败 (N/M)
119
+
120
+ 违规项: [列表]
121
+ ```
122
+
123
+ ### detailed 格式
124
+
125
+ 包含每个检查项的详细信息、错误列表、建议修复
126
+
127
+ ### json 格式
128
+
129
+ ```json
130
+ {
131
+ "passed": true/false,
132
+ "total_checks": N,
133
+ "passed_checks": N,
134
+ "violations": [...],
135
+ "checks": {
136
+ "feature_list": {...},
137
+ "decomposition": {...},
138
+ "progress": {...}
139
+ }
140
+ }
141
+ ```
142
+
143
+ ## 输出
144
+
145
+ 将报告保存到: {{project_path}}/.constraint-report.json
146
+
147
+ 同时输出 JSON 格式的 passed/total_checks/passed_checks/violations/report