@dommaker/harness 1.2.3 → 1.4.0

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 (550) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +0 -2
  3. package/bin/harness.js +86 -32
  4. package/dist/cli/command-contract.d.ts +83 -0
  5. package/dist/cli/command-contract.d.ts.map +1 -0
  6. package/dist/cli/command-contract.js +66 -0
  7. package/dist/cli/command-contract.js.map +1 -0
  8. package/dist/cli/commands/acceptance.d.ts +3 -2
  9. package/dist/cli/commands/acceptance.d.ts.map +1 -1
  10. package/dist/cli/commands/acceptance.js +28 -24
  11. package/dist/cli/commands/acceptance.js.map +1 -1
  12. package/dist/cli/commands/analyze-sessions.d.ts +2 -1
  13. package/dist/cli/commands/analyze-sessions.d.ts.map +1 -1
  14. package/dist/cli/commands/analyze-sessions.js +25 -24
  15. package/dist/cli/commands/analyze-sessions.js.map +1 -1
  16. package/dist/cli/commands/check.d.ts +14 -2
  17. package/dist/cli/commands/check.d.ts.map +1 -1
  18. package/dist/cli/commands/check.js +76 -61
  19. package/dist/cli/commands/check.js.map +1 -1
  20. package/dist/cli/commands/command.d.ts +5 -1
  21. package/dist/cli/commands/command.d.ts.map +1 -1
  22. package/dist/cli/commands/command.js +26 -17
  23. package/dist/cli/commands/command.js.map +1 -1
  24. package/dist/cli/commands/constraints-report.d.ts +2 -1
  25. package/dist/cli/commands/constraints-report.d.ts.map +1 -1
  26. package/dist/cli/commands/constraints-report.js +37 -33
  27. package/dist/cli/commands/constraints-report.js.map +1 -1
  28. package/dist/cli/commands/constraints-retire.d.ts +6 -5
  29. package/dist/cli/commands/constraints-retire.d.ts.map +1 -1
  30. package/dist/cli/commands/constraints-retire.js +50 -52
  31. package/dist/cli/commands/constraints-retire.js.map +1 -1
  32. package/dist/cli/commands/constraints.d.ts +2 -1
  33. package/dist/cli/commands/constraints.d.ts.map +1 -1
  34. package/dist/cli/commands/constraints.js +10 -27
  35. package/dist/cli/commands/constraints.js.map +1 -1
  36. package/dist/cli/commands/contract.d.ts +3 -2
  37. package/dist/cli/commands/contract.d.ts.map +1 -1
  38. package/dist/cli/commands/contract.js +45 -42
  39. package/dist/cli/commands/contract.js.map +1 -1
  40. package/dist/cli/commands/definitions.d.ts +11 -11
  41. package/dist/cli/commands/definitions.d.ts.map +1 -1
  42. package/dist/cli/commands/definitions.js +30 -215
  43. package/dist/cli/commands/definitions.js.map +1 -1
  44. package/dist/cli/commands/failure.d.ts +5 -4
  45. package/dist/cli/commands/failure.d.ts.map +1 -1
  46. package/dist/cli/commands/failure.js +33 -26
  47. package/dist/cli/commands/failure.js.map +1 -1
  48. package/dist/cli/commands/init.d.ts +7 -5
  49. package/dist/cli/commands/init.d.ts.map +1 -1
  50. package/dist/cli/commands/init.js +147 -211
  51. package/dist/cli/commands/init.js.map +1 -1
  52. package/dist/cli/commands/knowledge.d.ts +21 -15
  53. package/dist/cli/commands/knowledge.d.ts.map +1 -1
  54. package/dist/cli/commands/knowledge.js +237 -199
  55. package/dist/cli/commands/knowledge.js.map +1 -1
  56. package/dist/cli/commands/passes-gate.d.ts +8 -2
  57. package/dist/cli/commands/passes-gate.d.ts.map +1 -1
  58. package/dist/cli/commands/passes-gate.js +44 -66
  59. package/dist/cli/commands/passes-gate.js.map +1 -1
  60. package/dist/cli/commands/performance.d.ts +2 -1
  61. package/dist/cli/commands/performance.d.ts.map +1 -1
  62. package/dist/cli/commands/performance.js +20 -18
  63. package/dist/cli/commands/performance.js.map +1 -1
  64. package/dist/cli/commands/posteval-plan.d.ts +5 -1
  65. package/dist/cli/commands/posteval-plan.d.ts.map +1 -1
  66. package/dist/cli/commands/posteval-plan.js +26 -15
  67. package/dist/cli/commands/posteval-plan.js.map +1 -1
  68. package/dist/cli/commands/release.d.ts +6 -1
  69. package/dist/cli/commands/release.d.ts.map +1 -1
  70. package/dist/cli/commands/release.js +73 -77
  71. package/dist/cli/commands/release.js.map +1 -1
  72. package/dist/cli/commands/report.d.ts +2 -1
  73. package/dist/cli/commands/report.d.ts.map +1 -1
  74. package/dist/cli/commands/report.js +9 -5
  75. package/dist/cli/commands/report.js.map +1 -1
  76. package/dist/cli/commands/review.d.ts +3 -2
  77. package/dist/cli/commands/review.d.ts.map +1 -1
  78. package/dist/cli/commands/review.js +33 -29
  79. package/dist/cli/commands/review.js.map +1 -1
  80. package/dist/cli/commands/sdd.d.ts +2 -1
  81. package/dist/cli/commands/sdd.d.ts.map +1 -1
  82. package/dist/cli/commands/sdd.js +7 -5
  83. package/dist/cli/commands/sdd.js.map +1 -1
  84. package/dist/cli/commands/security.d.ts +3 -2
  85. package/dist/cli/commands/security.d.ts.map +1 -1
  86. package/dist/cli/commands/security.js +29 -26
  87. package/dist/cli/commands/security.js.map +1 -1
  88. package/dist/cli/commands/spec-baseline-check.d.ts +2 -1
  89. package/dist/cli/commands/spec-baseline-check.d.ts.map +1 -1
  90. package/dist/cli/commands/spec-baseline-check.js +15 -11
  91. package/dist/cli/commands/spec-baseline-check.js.map +1 -1
  92. package/dist/cli/commands/spec.d.ts +7 -2
  93. package/dist/cli/commands/spec.d.ts.map +1 -1
  94. package/dist/cli/commands/spec.js +61 -51
  95. package/dist/cli/commands/spec.js.map +1 -1
  96. package/dist/cli/commands/status.d.ts +2 -1
  97. package/dist/cli/commands/status.d.ts.map +1 -1
  98. package/dist/cli/commands/status.js +57 -53
  99. package/dist/cli/commands/status.js.map +1 -1
  100. package/dist/cli/commands/sync-docs/agents-syncer.d.ts.map +1 -1
  101. package/dist/cli/commands/sync-docs/agents-syncer.js +31 -16
  102. package/dist/cli/commands/sync-docs/agents-syncer.js.map +1 -1
  103. package/dist/cli/commands/sync-docs/context-syncer.d.ts.map +1 -1
  104. package/dist/cli/commands/sync-docs/context-syncer.js +3 -2
  105. package/dist/cli/commands/sync-docs/context-syncer.js.map +1 -1
  106. package/dist/cli/commands/sync-docs/index.d.ts +2 -1
  107. package/dist/cli/commands/sync-docs/index.d.ts.map +1 -1
  108. package/dist/cli/commands/sync-docs/index.js +68 -88
  109. package/dist/cli/commands/sync-docs/index.js.map +1 -1
  110. package/dist/cli/commands/sync-docs/project-reader.d.ts +6 -1
  111. package/dist/cli/commands/sync-docs/project-reader.d.ts.map +1 -1
  112. package/dist/cli/commands/sync-docs/project-reader.js +14 -16
  113. package/dist/cli/commands/sync-docs/project-reader.js.map +1 -1
  114. package/dist/cli/commands/update-user-model.d.ts +2 -1
  115. package/dist/cli/commands/update-user-model.d.ts.map +1 -1
  116. package/dist/cli/commands/update-user-model.js +31 -45
  117. package/dist/cli/commands/update-user-model.js.map +1 -1
  118. package/dist/cli/commands/validate.d.ts +4 -3
  119. package/dist/cli/commands/validate.d.ts.map +1 -1
  120. package/dist/cli/commands/validate.js +28 -26
  121. package/dist/cli/commands/validate.js.map +1 -1
  122. package/dist/cli/session-mining/transcript.d.ts +7 -1
  123. package/dist/cli/session-mining/transcript.d.ts.map +1 -1
  124. package/dist/cli/session-mining/transcript.js +21 -14
  125. package/dist/cli/session-mining/transcript.js.map +1 -1
  126. package/dist/completion-checkers/index.d.ts +3 -3
  127. package/dist/completion-checkers/index.js +3 -3
  128. package/dist/completion-checkers/phase-format.d.ts +1 -1
  129. package/dist/completion-checkers/phase-format.js +2 -2
  130. package/dist/completion-checkers/phase-format.js.map +1 -1
  131. package/dist/completion-checkers/tdd-chain.d.ts +1 -1
  132. package/dist/completion-checkers/tdd-chain.js +2 -2
  133. package/dist/completion-checkers/tdd-chain.js.map +1 -1
  134. package/dist/completion-checkers/types.d.ts +5 -5
  135. package/dist/completion-checkers/types.d.ts.map +1 -1
  136. package/dist/completion-checkers/types.js +2 -2
  137. package/dist/context/session-manager.d.ts.map +1 -1
  138. package/dist/context/session-manager.js +19 -32
  139. package/dist/context/session-manager.js.map +1 -1
  140. package/dist/core/constraints/agent-prompt-renderer.d.ts.map +1 -1
  141. package/dist/core/constraints/agent-prompt-renderer.js +1 -4
  142. package/dist/core/constraints/agent-prompt-renderer.js.map +1 -1
  143. package/dist/core/constraints/capabilities-parser.d.ts +24 -7
  144. package/dist/core/constraints/capabilities-parser.d.ts.map +1 -1
  145. package/dist/core/constraints/capabilities-parser.js +32 -28
  146. package/dist/core/constraints/capabilities-parser.js.map +1 -1
  147. package/dist/core/constraints/capabilities-reconcile.d.ts +67 -0
  148. package/dist/core/constraints/capabilities-reconcile.d.ts.map +1 -0
  149. package/dist/core/constraints/capabilities-reconcile.js +105 -0
  150. package/dist/core/constraints/capabilities-reconcile.js.map +1 -0
  151. package/dist/core/constraints/checker.d.ts +21 -43
  152. package/dist/core/constraints/checker.d.ts.map +1 -1
  153. package/dist/core/constraints/checker.js +64 -115
  154. package/dist/core/constraints/checker.js.map +1 -1
  155. package/dist/core/constraints/checkers/capability-sync.d.ts +4 -3
  156. package/dist/core/constraints/checkers/capability-sync.d.ts.map +1 -1
  157. package/dist/core/constraints/checkers/capability-sync.js +29 -69
  158. package/dist/core/constraints/checkers/capability-sync.js.map +1 -1
  159. package/dist/core/constraints/checkers/context-doc-sync.d.ts +4 -2
  160. package/dist/core/constraints/checkers/context-doc-sync.d.ts.map +1 -1
  161. package/dist/core/constraints/checkers/context-doc-sync.js +13 -22
  162. package/dist/core/constraints/checkers/context-doc-sync.js.map +1 -1
  163. package/dist/core/constraints/checkers/docs-freshness.d.ts.map +1 -1
  164. package/dist/core/constraints/checkers/docs-freshness.js +37 -63
  165. package/dist/core/constraints/checkers/docs-freshness.js.map +1 -1
  166. package/dist/core/constraints/checkers/governance-presence.d.ts +2 -2
  167. package/dist/core/constraints/checkers/governance-presence.d.ts.map +1 -1
  168. package/dist/core/constraints/checkers/governance-presence.js +7 -28
  169. package/dist/core/constraints/checkers/governance-presence.js.map +1 -1
  170. package/dist/core/constraints/checkers/no-test-simplification.d.ts.map +1 -1
  171. package/dist/core/constraints/checkers/no-test-simplification.js +4 -3
  172. package/dist/core/constraints/checkers/no-test-simplification.js.map +1 -1
  173. package/dist/core/constraints/checkers/types.d.ts +2 -2
  174. package/dist/core/constraints/context-builder.d.ts +15 -14
  175. package/dist/core/constraints/context-builder.d.ts.map +1 -1
  176. package/dist/core/constraints/context-builder.js +32 -96
  177. package/dist/core/constraints/context-builder.js.map +1 -1
  178. package/dist/core/constraints/doc-freshness/runner.d.ts.map +1 -1
  179. package/dist/core/constraints/doc-freshness/runner.js +2 -1
  180. package/dist/core/constraints/doc-freshness/runner.js.map +1 -1
  181. package/dist/core/constraints/git-evidence.d.ts +60 -0
  182. package/dist/core/constraints/git-evidence.d.ts.map +1 -0
  183. package/dist/core/constraints/git-evidence.js +88 -0
  184. package/dist/core/constraints/git-evidence.js.map +1 -0
  185. package/dist/core/constraints/injection-drift.d.ts +3 -20
  186. package/dist/core/constraints/injection-drift.d.ts.map +1 -1
  187. package/dist/core/constraints/injection-drift.js +10 -57
  188. package/dist/core/constraints/injection-drift.js.map +1 -1
  189. package/dist/core/constraints/injection-writer.d.ts +113 -0
  190. package/dist/core/constraints/injection-writer.d.ts.map +1 -0
  191. package/dist/core/constraints/injection-writer.js +228 -0
  192. package/dist/core/constraints/injection-writer.js.map +1 -0
  193. package/dist/core/constraints/usage-report.d.ts +22 -1
  194. package/dist/core/constraints/usage-report.d.ts.map +1 -1
  195. package/dist/core/constraints/usage-report.js +27 -20
  196. package/dist/core/constraints/usage-report.js.map +1 -1
  197. package/dist/core/index.d.ts +2 -2
  198. package/dist/core/index.d.ts.map +1 -1
  199. package/dist/core/index.js +4 -2
  200. package/dist/core/index.js.map +1 -1
  201. package/dist/core/project-config-loader.d.ts +32 -1
  202. package/dist/core/project-config-loader.d.ts.map +1 -1
  203. package/dist/core/project-config-loader.js +39 -9
  204. package/dist/core/project-config-loader.js.map +1 -1
  205. package/dist/core/validators/passes-gate.d.ts +15 -64
  206. package/dist/core/validators/passes-gate.d.ts.map +1 -1
  207. package/dist/core/validators/passes-gate.js +84 -222
  208. package/dist/core/validators/passes-gate.js.map +1 -1
  209. package/dist/core/validators/test-output.d.ts +58 -0
  210. package/dist/core/validators/test-output.d.ts.map +1 -0
  211. package/dist/core/validators/test-output.js +109 -0
  212. package/dist/core/validators/test-output.js.map +1 -0
  213. package/dist/failure/recorder.d.ts +7 -1
  214. package/dist/failure/recorder.d.ts.map +1 -1
  215. package/dist/failure/recorder.js +13 -9
  216. package/dist/failure/recorder.js.map +1 -1
  217. package/dist/gates/acceptance.d.ts +1 -48
  218. package/dist/gates/acceptance.d.ts.map +1 -1
  219. package/dist/gates/acceptance.js +6 -38
  220. package/dist/gates/acceptance.js.map +1 -1
  221. package/dist/gates/checker-gate.d.ts.map +1 -1
  222. package/dist/gates/checker-gate.js +6 -11
  223. package/dist/gates/checker-gate.js.map +1 -1
  224. package/dist/gates/command.d.ts.map +1 -1
  225. package/dist/gates/command.js +10 -22
  226. package/dist/gates/command.js.map +1 -1
  227. package/dist/gates/contract.d.ts.map +1 -1
  228. package/dist/gates/contract.js +22 -61
  229. package/dist/gates/contract.js.map +1 -1
  230. package/dist/gates/performance.d.ts.map +1 -1
  231. package/dist/gates/performance.js +13 -31
  232. package/dist/gates/performance.js.map +1 -1
  233. package/dist/gates/review.d.ts.map +1 -1
  234. package/dist/gates/review.js +21 -53
  235. package/dist/gates/review.js.map +1 -1
  236. package/dist/gates/security.d.ts.map +1 -1
  237. package/dist/gates/security.js +14 -32
  238. package/dist/gates/security.js.map +1 -1
  239. package/dist/gates/types.d.ts +28 -5
  240. package/dist/gates/types.d.ts.map +1 -1
  241. package/dist/gates/types.js +38 -1
  242. package/dist/gates/types.js.map +1 -1
  243. package/dist/hooks/bootstrap.d.ts +2 -0
  244. package/dist/hooks/bootstrap.d.ts.map +1 -1
  245. package/dist/hooks/bootstrap.js +5 -2
  246. package/dist/hooks/bootstrap.js.map +1 -1
  247. package/dist/index.d.ts +4 -3
  248. package/dist/index.d.ts.map +1 -1
  249. package/dist/index.js +13 -4
  250. package/dist/index.js.map +1 -1
  251. package/dist/knowledge/audit.d.ts +7 -2
  252. package/dist/knowledge/audit.d.ts.map +1 -1
  253. package/dist/knowledge/audit.js +59 -79
  254. package/dist/knowledge/audit.js.map +1 -1
  255. package/dist/knowledge/flywheel-metrics.d.ts +39 -0
  256. package/dist/knowledge/flywheel-metrics.d.ts.map +1 -0
  257. package/dist/knowledge/flywheel-metrics.js +47 -0
  258. package/dist/knowledge/flywheel-metrics.js.map +1 -0
  259. package/dist/knowledge/import.d.ts.map +1 -1
  260. package/dist/knowledge/import.js +4 -14
  261. package/dist/knowledge/import.js.map +1 -1
  262. package/dist/knowledge/index-generator.d.ts.map +1 -1
  263. package/dist/knowledge/index-generator.js +18 -15
  264. package/dist/knowledge/index-generator.js.map +1 -1
  265. package/dist/knowledge/ingest.d.ts.map +1 -1
  266. package/dist/knowledge/ingest.js +9 -4
  267. package/dist/knowledge/ingest.js.map +1 -1
  268. package/dist/knowledge/migration.d.ts.map +1 -1
  269. package/dist/knowledge/migration.js +11 -8
  270. package/dist/knowledge/migration.js.map +1 -1
  271. package/dist/knowledge/reference-tracker.d.ts.map +1 -1
  272. package/dist/knowledge/reference-tracker.js +12 -9
  273. package/dist/knowledge/reference-tracker.js.map +1 -1
  274. package/dist/knowledge/store.d.ts +15 -0
  275. package/dist/knowledge/store.d.ts.map +1 -1
  276. package/dist/knowledge/store.js +59 -10
  277. package/dist/knowledge/store.js.map +1 -1
  278. package/dist/monitoring/context-tracker.d.ts.map +1 -1
  279. package/dist/monitoring/context-tracker.js +11 -20
  280. package/dist/monitoring/context-tracker.js.map +1 -1
  281. package/dist/monitoring/index.d.ts +1 -1
  282. package/dist/monitoring/index.d.ts.map +1 -1
  283. package/dist/monitoring/index.js +1 -2
  284. package/dist/monitoring/index.js.map +1 -1
  285. package/dist/monitoring/trace-analyzer.d.ts +15 -0
  286. package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
  287. package/dist/monitoring/trace-analyzer.js +19 -2
  288. package/dist/monitoring/trace-analyzer.js.map +1 -1
  289. package/dist/monitoring/traces.d.ts +21 -2
  290. package/dist/monitoring/traces.d.ts.map +1 -1
  291. package/dist/monitoring/traces.js +38 -29
  292. package/dist/monitoring/traces.js.map +1 -1
  293. package/dist/release/index.d.ts +3 -0
  294. package/dist/release/index.d.ts.map +1 -0
  295. package/dist/release/index.js +7 -0
  296. package/dist/release/index.js.map +1 -0
  297. package/dist/release/integrity.d.ts +65 -0
  298. package/dist/release/integrity.d.ts.map +1 -0
  299. package/dist/release/integrity.js +151 -0
  300. package/dist/release/integrity.js.map +1 -0
  301. package/dist/sdd/index-generator.js +10 -11
  302. package/dist/sdd/index-generator.js.map +1 -1
  303. package/dist/test-setup/project-fixture.d.ts +48 -0
  304. package/dist/test-setup/project-fixture.d.ts.map +1 -0
  305. package/dist/test-setup/project-fixture.js +106 -0
  306. package/dist/test-setup/project-fixture.js.map +1 -0
  307. package/dist/types/constraint.d.ts +0 -18
  308. package/dist/types/constraint.d.ts.map +1 -1
  309. package/dist/types/constraint.js.map +1 -1
  310. package/dist/types/failure.d.ts +7 -0
  311. package/dist/types/failure.d.ts.map +1 -1
  312. package/dist/types/failure.js +8 -1
  313. package/dist/types/failure.js.map +1 -1
  314. package/dist/types/passes-gate.d.ts +10 -25
  315. package/dist/types/passes-gate.d.ts.map +1 -1
  316. package/dist/types/project-config.d.ts +1 -1
  317. package/dist/types/session.d.ts +6 -5
  318. package/dist/types/session.d.ts.map +1 -1
  319. package/dist/utils/exec.d.ts +10 -0
  320. package/dist/utils/exec.d.ts.map +1 -1
  321. package/dist/utils/exec.js +12 -0
  322. package/dist/utils/exec.js.map +1 -1
  323. package/dist/utils/file-walk.d.ts +9 -1
  324. package/dist/utils/file-walk.d.ts.map +1 -1
  325. package/dist/utils/file-walk.js +10 -1
  326. package/dist/utils/file-walk.js.map +1 -1
  327. package/dist/utils/frontmatter.d.ts +73 -0
  328. package/dist/utils/frontmatter.d.ts.map +1 -0
  329. package/dist/utils/frontmatter.js +141 -0
  330. package/dist/utils/frontmatter.js.map +1 -0
  331. package/dist/utils/jsonl.d.ts +92 -0
  332. package/dist/utils/jsonl.d.ts.map +1 -0
  333. package/dist/utils/jsonl.js +166 -0
  334. package/dist/utils/jsonl.js.map +1 -0
  335. package/dist/utils/package-version.d.ts +16 -0
  336. package/dist/utils/package-version.d.ts.map +1 -0
  337. package/dist/utils/package-version.js +63 -0
  338. package/dist/utils/package-version.js.map +1 -0
  339. package/package.json +1 -1
  340. package/src/CONTEXT.md +7 -2
  341. package/src/__tests__/acceptance-gate.test.ts +3 -1
  342. package/src/__tests__/checker-extra.test.ts +7 -1218
  343. package/src/__tests__/context-files-resolution.test.ts +116 -0
  344. package/src/__tests__/effective-constraints.test.ts +10 -13
  345. package/src/__tests__/exec.test.ts +35 -1
  346. package/src/__tests__/failure-recorder.test.ts +9 -0
  347. package/src/__tests__/layering.test.ts +152 -0
  348. package/src/__tests__/passes-gate-extra.test.ts +0 -145
  349. package/src/__tests__/passes-gate.test.ts +142 -106
  350. package/src/__tests__/public-exports.test.ts +3 -0
  351. package/src/__tests__/skip-semantics.test.ts +5 -9
  352. package/src/cli/__tests__/command-contract.test.ts +170 -0
  353. package/src/cli/command-contract.ts +108 -0
  354. package/src/cli/commands/CONTEXT.md +22 -7
  355. package/src/cli/commands/__tests__/acceptance.test.ts +40 -33
  356. package/src/cli/commands/__tests__/analyze-sessions.test.ts +35 -29
  357. package/src/cli/commands/__tests__/bin-exit-mapping.test.ts +101 -0
  358. package/src/cli/commands/__tests__/check-drift.test.ts +27 -34
  359. package/src/cli/commands/__tests__/check-skip-output.test.ts +21 -24
  360. package/src/cli/commands/__tests__/check.test.ts +378 -382
  361. package/src/cli/commands/__tests__/command.test.ts +85 -70
  362. package/src/cli/commands/__tests__/constraints-report.test.ts +100 -71
  363. package/src/cli/commands/__tests__/constraints-retire.test.ts +152 -95
  364. package/src/cli/commands/__tests__/contract.test.ts +27 -34
  365. package/src/cli/commands/__tests__/failure.test.ts +31 -34
  366. package/src/cli/commands/__tests__/init-injection.test.ts +58 -28
  367. package/src/cli/commands/__tests__/init.test.ts +77 -48
  368. package/src/cli/commands/__tests__/knowledge-flywheel-consistency.test.ts +108 -0
  369. package/src/cli/commands/__tests__/knowledge.test.ts +96 -38
  370. package/src/cli/commands/__tests__/passes-gate.test.ts +43 -45
  371. package/src/cli/commands/__tests__/performance.test.ts +22 -23
  372. package/src/cli/commands/__tests__/posteval-plan.test.ts +39 -38
  373. package/src/cli/commands/__tests__/project-path-anchoring.test.ts +157 -0
  374. package/src/cli/commands/__tests__/project-path-convention.test.ts +169 -0
  375. package/src/cli/commands/__tests__/registry.test.ts +69 -35
  376. package/src/cli/commands/__tests__/release.test.ts +224 -74
  377. package/src/cli/commands/__tests__/report-extra.test.ts +16 -16
  378. package/src/cli/commands/__tests__/report.test.ts +25 -25
  379. package/src/cli/commands/__tests__/review.test.ts +33 -31
  380. package/src/cli/commands/__tests__/security.test.ts +23 -27
  381. package/src/cli/commands/__tests__/spec-baseline-check.test.ts +20 -20
  382. package/src/cli/commands/__tests__/spec.test.ts +41 -29
  383. package/src/cli/commands/__tests__/status-extra.test.ts +18 -18
  384. package/src/cli/commands/__tests__/status-skipped-lines.test.ts +72 -0
  385. package/src/cli/commands/__tests__/status.test.ts +34 -34
  386. package/src/cli/commands/__tests__/sync-docs-agents.test.ts +108 -86
  387. package/src/cli/commands/__tests__/sync-docs.test.ts +72 -74
  388. package/src/cli/commands/__tests__/update-user-model.test.ts +62 -33
  389. package/src/cli/commands/__tests__/validate.test.ts +27 -29
  390. package/src/cli/commands/acceptance.ts +35 -24
  391. package/src/cli/commands/analyze-sessions.ts +25 -24
  392. package/src/cli/commands/check.ts +88 -65
  393. package/src/cli/commands/command.ts +30 -17
  394. package/src/cli/commands/constraints-report.ts +37 -34
  395. package/src/cli/commands/constraints-retire.ts +58 -55
  396. package/src/cli/commands/constraints.ts +10 -27
  397. package/src/cli/commands/contract.ts +51 -42
  398. package/src/cli/commands/definitions.ts +37 -223
  399. package/src/cli/commands/failure.ts +35 -27
  400. package/src/cli/commands/init.ts +166 -220
  401. package/src/cli/commands/knowledge.ts +250 -203
  402. package/src/cli/commands/passes-gate.ts +58 -68
  403. package/src/cli/commands/performance.ts +23 -18
  404. package/src/cli/commands/posteval-plan.ts +29 -15
  405. package/src/cli/commands/release.ts +75 -78
  406. package/src/cli/commands/report.ts +9 -5
  407. package/src/cli/commands/review.ts +39 -29
  408. package/src/cli/commands/sdd.ts +7 -5
  409. package/src/cli/commands/security.ts +35 -26
  410. package/src/cli/commands/spec-baseline-check.ts +16 -11
  411. package/src/cli/commands/spec.ts +66 -53
  412. package/src/cli/commands/status.ts +59 -53
  413. package/src/cli/commands/sync-docs/agents-syncer.ts +31 -15
  414. package/src/cli/commands/sync-docs/context-syncer.ts +3 -2
  415. package/src/cli/commands/sync-docs/index.ts +73 -100
  416. package/src/cli/commands/sync-docs/project-reader.ts +17 -18
  417. package/src/cli/commands/update-user-model.ts +33 -45
  418. package/src/cli/commands/validate.ts +31 -25
  419. package/src/cli/session-mining/__tests__/transcript.test.ts +118 -0
  420. package/src/cli/session-mining/transcript.ts +26 -8
  421. package/src/completion-checkers/CONTEXT.md +1 -1
  422. package/src/completion-checkers/__tests__/contract-presence.test.ts +1 -1
  423. package/src/completion-checkers/__tests__/phase-format.test.ts +1 -1
  424. package/src/completion-checkers/__tests__/tdd-chain.test.ts +2 -2
  425. package/src/completion-checkers/index.ts +3 -3
  426. package/src/completion-checkers/phase-format.ts +2 -2
  427. package/src/completion-checkers/tdd-chain.ts +2 -2
  428. package/src/completion-checkers/types.ts +5 -5
  429. package/src/context/session-manager.ts +19 -33
  430. package/src/core/CONTEXT.md +9 -6
  431. package/src/core/constraints/__tests__/capabilities-reconcile.test.ts +200 -0
  432. package/src/core/constraints/__tests__/capability-counts.test.ts +94 -0
  433. package/src/core/constraints/__tests__/git-evidence.test.ts +208 -0
  434. package/src/core/constraints/__tests__/injection-drift.test.ts +3 -10
  435. package/src/core/constraints/__tests__/injection-writer.test.ts +231 -0
  436. package/src/core/constraints/__tests__/trace-injection.test.ts +71 -0
  437. package/src/core/constraints/__tests__/usage-report.test.ts +112 -0
  438. package/src/core/constraints/agent-prompt-renderer.ts +2 -6
  439. package/src/core/constraints/capabilities-parser.ts +53 -35
  440. package/src/core/constraints/capabilities-reconcile.ts +166 -0
  441. package/src/core/constraints/checker.ts +75 -130
  442. package/src/core/constraints/checkers/__tests__/capability-sync.test.ts +214 -0
  443. package/src/core/constraints/checkers/__tests__/context-doc-sync.test.ts +77 -0
  444. package/src/core/constraints/checkers/__tests__/docs-freshness.test.ts +117 -0
  445. package/src/{__tests__ → core/constraints/checkers/__tests__}/governance-presence.test.ts +83 -9
  446. package/src/core/constraints/checkers/__tests__/iron-flags.test.ts +50 -0
  447. package/src/core/constraints/checkers/__tests__/no-bypass-checkpoint.test.ts +76 -0
  448. package/src/{__tests__ → core/constraints/checkers/__tests__}/no-hardcoded-credentials.test.ts +4 -3
  449. package/src/core/constraints/checkers/__tests__/no-test-simplification.test.ts +58 -0
  450. package/src/core/constraints/checkers/__tests__/three-state-consistency.test.ts +145 -0
  451. package/src/core/constraints/checkers/capability-sync.ts +29 -88
  452. package/src/core/constraints/checkers/context-doc-sync.ts +15 -25
  453. package/src/core/constraints/checkers/docs-freshness.ts +40 -69
  454. package/src/core/constraints/checkers/governance-presence.ts +7 -25
  455. package/src/core/constraints/checkers/no-test-simplification.ts +4 -3
  456. package/src/core/constraints/checkers/types.ts +2 -2
  457. package/src/core/constraints/context-builder.ts +39 -91
  458. package/src/core/constraints/doc-freshness/runner.ts +2 -1
  459. package/src/core/constraints/git-evidence.ts +120 -0
  460. package/src/core/constraints/injection-drift.ts +13 -60
  461. package/src/core/constraints/injection-writer.ts +212 -0
  462. package/src/core/constraints/usage-report.ts +36 -17
  463. package/src/core/index.ts +4 -2
  464. package/src/core/project-config-loader.ts +49 -9
  465. package/src/core/validators/__tests__/passes-gate.test.ts +2 -56
  466. package/src/core/validators/__tests__/test-output.test.ts +372 -0
  467. package/src/core/validators/passes-gate.ts +86 -248
  468. package/src/core/validators/test-output.ts +128 -0
  469. package/src/failure/__tests__/recorder.test.ts +168 -0
  470. package/src/failure/recorder.ts +13 -11
  471. package/src/gates/CONTEXT.md +6 -3
  472. package/src/gates/__tests__/acceptance-types-single-source.test.ts +68 -0
  473. package/src/gates/__tests__/acceptance.test.ts +4 -86
  474. package/src/gates/__tests__/effective-gates.test.ts +3 -8
  475. package/src/gates/__tests__/test-verdict-consistency.test.ts +140 -0
  476. package/src/gates/acceptance.ts +19 -84
  477. package/src/gates/checker-gate.ts +8 -7
  478. package/src/gates/command.ts +10 -16
  479. package/src/gates/contract.ts +22 -61
  480. package/src/gates/performance.ts +10 -22
  481. package/src/gates/review.ts +21 -41
  482. package/src/gates/security.ts +10 -22
  483. package/src/gates/types.ts +70 -5
  484. package/src/hooks/CONTEXT.md +1 -1
  485. package/src/hooks/bootstrap.ts +5 -2
  486. package/src/index.ts +11 -6
  487. package/src/knowledge/CONTEXT.md +8 -3
  488. package/src/knowledge/__tests__/audit-labels.test.ts +44 -0
  489. package/src/knowledge/__tests__/flywheel-metrics.test.ts +135 -0
  490. package/src/knowledge/__tests__/import.test.ts +44 -0
  491. package/src/knowledge/__tests__/index-generator.test.ts +55 -2
  492. package/src/knowledge/__tests__/ingest.test.ts +85 -0
  493. package/src/knowledge/__tests__/migration.test.ts +47 -0
  494. package/src/knowledge/__tests__/reference-tracker.test.ts +16 -0
  495. package/src/knowledge/__tests__/store.test.ts +194 -0
  496. package/src/knowledge/audit.ts +67 -71
  497. package/src/knowledge/flywheel-metrics.ts +71 -0
  498. package/src/knowledge/import.ts +4 -18
  499. package/src/knowledge/index-generator.ts +20 -15
  500. package/src/knowledge/ingest.ts +9 -4
  501. package/src/knowledge/migration.ts +11 -8
  502. package/src/knowledge/reference-tracker.ts +12 -8
  503. package/src/knowledge/store.ts +64 -11
  504. package/src/monitoring/CONTEXT.md +8 -3
  505. package/src/monitoring/__tests__/skipped-lines-report.test.ts +178 -0
  506. package/src/monitoring/__tests__/traces.test.ts +57 -0
  507. package/src/monitoring/context-tracker.ts +11 -23
  508. package/src/monitoring/index.ts +1 -1
  509. package/src/monitoring/trace-analyzer.ts +21 -2
  510. package/src/monitoring/traces.ts +39 -36
  511. package/src/release/CONTEXT.md +24 -0
  512. package/src/release/__tests__/barrel.test.ts +60 -0
  513. package/src/release/__tests__/integrity.test.ts +157 -0
  514. package/src/release/index.ts +2 -0
  515. package/src/release/integrity.ts +141 -0
  516. package/src/sdd/__tests__/index-generator.test.ts +71 -0
  517. package/src/sdd/index-generator.ts +9 -9
  518. package/src/test-setup/__tests__/project-fixture.test.ts +178 -0
  519. package/src/test-setup/project-fixture.ts +87 -0
  520. package/src/tools/CONTEXT.md +6 -0
  521. package/src/tools/__tests__/registry.test.ts +221 -0
  522. package/src/types/__tests__/types.test.ts +4 -5
  523. package/src/types/constraint.ts +0 -25
  524. package/src/types/failure.ts +8 -0
  525. package/src/types/passes-gate.ts +10 -30
  526. package/src/types/project-config.ts +1 -1
  527. package/src/types/session.ts +5 -5
  528. package/src/utils/__tests__/frontmatter.test.ts +206 -0
  529. package/src/utils/__tests__/jsonl-skip-disposition.test.ts +175 -0
  530. package/src/utils/__tests__/jsonl.test.ts +187 -0
  531. package/src/utils/__tests__/package-version.test.ts +97 -0
  532. package/src/utils/exec.ts +15 -0
  533. package/src/utils/file-walk.ts +11 -2
  534. package/src/utils/frontmatter.ts +121 -0
  535. package/src/utils/jsonl.ts +167 -0
  536. package/src/utils/package-version.ts +27 -0
  537. package/dist/cli/commands/doc-freshness-check.d.ts +0 -53
  538. package/dist/cli/commands/doc-freshness-check.d.ts.map +0 -1
  539. package/dist/cli/commands/doc-freshness-check.js +0 -352
  540. package/dist/cli/commands/doc-freshness-check.js.map +0 -1
  541. package/dist/types/index.d.ts +0 -14
  542. package/dist/types/index.d.ts.map +0 -1
  543. package/dist/types/index.js +0 -39
  544. package/dist/types/index.js.map +0 -1
  545. package/src/__tests__/long-running.test.ts +0 -17
  546. package/src/__tests__/passes-gate-extension.test.ts +0 -151
  547. package/src/cli/commands/__tests__/doc-freshness-check.test.ts +0 -168
  548. package/src/cli/commands/doc-freshness-check.ts +0 -386
  549. package/src/spec/CONTEXT.md +0 -11
  550. package/src/types/index.ts +0 -47
@@ -15,10 +15,15 @@
15
15
  * 7. Check private flag
16
16
  * 8. npm publish (or skip if PR flow)
17
17
  * 9. GitHub Release
18
+ *
19
+ * 判定经返回值外溢(架构评审候选7):12 个前置闸门维持**首败即停**,每个闸门失败
20
+ * 返回 `gate <id>: <原因>`;退出码映射在 bin/harness.js 唯一一处。输出经注入 io
21
+ * 流式打印(分钟级子进程阶段不能静默)。
18
22
  */
23
+ import { type CommandIO, type CommandResult } from '../command-contract';
19
24
  export interface ReleaseOptions {
20
25
  bumpType?: 'patch' | 'minor' | 'major';
21
26
  dryRun?: string;
22
27
  }
23
- export declare function release(options: ReleaseOptions): Promise<void>;
28
+ export declare function release(options: ReleaseOptions, io?: CommandIO): Promise<CommandResult>;
24
29
  //# sourceMappingURL=release.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgMpE"}
1
+ {"version":3,"file":"release.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAOH,OAAO,EAA4B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEnG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkBD,wBAAsB,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,GAAE,SAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAkLxG"}
@@ -16,6 +16,10 @@
16
16
  * 7. Check private flag
17
17
  * 8. npm publish (or skip if PR flow)
18
18
  * 9. GitHub Release
19
+ *
20
+ * 判定经返回值外溢(架构评审候选7):12 个前置闸门维持**首败即停**,每个闸门失败
21
+ * 返回 `gate <id>: <原因>`;退出码映射在 bin/harness.js 唯一一处。输出经注入 io
22
+ * 流式打印(分钟级子进程阶段不能静默)。
19
23
  */
20
24
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
21
25
  if (k2 === undefined) k2 = k;
@@ -59,6 +63,8 @@ const child_process_1 = require("child_process");
59
63
  const fs = __importStar(require("fs"));
60
64
  const path = __importStar(require("path"));
61
65
  const chalk_1 = __importDefault(require("chalk"));
66
+ const release_1 = require("../../release");
67
+ const command_contract_1 = require("../command-contract");
62
68
  async function run(cmd, cwd, timeout = 60_000) {
63
69
  try {
64
70
  const stdout = (0, child_process_1.execSync)(cmd, { cwd, encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout });
@@ -70,76 +76,65 @@ async function run(cmd, cwd, timeout = 60_000) {
70
76
  return { stdout: stdout.trim(), stderr: stderr.trim() || e.message || String(e) };
71
77
  }
72
78
  }
73
- async function release(options) {
79
+ /** 闸门失败结果:reason 含闸门标识,可被调用方逐闸门断言 */
80
+ function gateFail(gate, detail) {
81
+ return { kind: 'fail', reason: `gate ${gate}: ${detail}` };
82
+ }
83
+ async function release(options, io = command_contract_1.processIO) {
74
84
  const pkgPath = process.cwd();
75
85
  const bumpType = options.bumpType || 'patch';
76
86
  const dryRun = options.dryRun === 'true';
77
87
  // ── 1. Verify package ──
78
88
  const pkgJsonPath = path.join(pkgPath, 'package.json');
79
89
  if (!fs.existsSync(pkgJsonPath)) {
80
- console.error(chalk_1.default.red(`❌ Not a package: ${pkgPath}`));
81
- process.exit(1);
90
+ (0, command_contract_1.logError)(io, chalk_1.default.red(`❌ Not a package: ${pkgPath}`));
91
+ return gateFail('package', `not a package: ${pkgPath}`);
82
92
  }
83
93
  const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf-8'));
84
94
  const pkgName = pkgJson.name;
85
95
  const oldVersion = pkgJson.version;
86
- console.log(chalk_1.default.cyan(`📦 ${pkgName}@${oldVersion}`));
87
- console.log(chalk_1.default.cyan(` bump: ${bumpType}${dryRun ? ' (dry-run)' : ''}`));
96
+ (0, command_contract_1.log)(io, chalk_1.default.cyan(`📦 ${pkgName}@${oldVersion}`));
97
+ (0, command_contract_1.log)(io, chalk_1.default.cyan(` bump: ${bumpType}${dryRun ? ' (dry-run)' : ''}`));
88
98
  // ── 2. Check branch (must be on master/main) ──
89
99
  const branchResult = await run('git rev-parse --abbrev-ref HEAD', pkgPath);
90
100
  const currentBranch = branchResult.stdout.trim();
91
101
  if (currentBranch !== 'master' && currentBranch !== 'main') {
92
- console.error(chalk_1.default.red(`❌ Must be on master or main branch to release. Currently on: ${currentBranch}`));
93
- console.error(chalk_1.default.gray(' Run: git checkout master && git merge ' + currentBranch));
94
- process.exit(1);
102
+ (0, command_contract_1.logError)(io, chalk_1.default.red(`❌ Must be on master or main branch to release. Currently on: ${currentBranch}`));
103
+ (0, command_contract_1.logError)(io, chalk_1.default.gray(' Run: git checkout master && git merge ' + currentBranch));
104
+ return gateFail('branch', `must be on master or main branch, currently on ${currentBranch}`);
95
105
  }
96
- console.log(chalk_1.default.green(`✅ git: on ${currentBranch}`));
106
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ git: on ${currentBranch}`));
97
107
  // ── 2b. Check remote sync ──
98
108
  await run('git fetch origin', pkgPath, 15_000);
99
109
  const behind = await run(`git rev-list --count HEAD..origin/${currentBranch}`, pkgPath);
100
110
  if (behind.stdout.trim() !== '0') {
101
- console.error(chalk_1.default.red(`❌ Local ${currentBranch} is ${behind.stdout.trim()} commits behind origin/${currentBranch}. Pull first.`));
102
- process.exit(1);
111
+ (0, command_contract_1.logError)(io, chalk_1.default.red(`❌ Local ${currentBranch} is ${behind.stdout.trim()} commits behind origin/${currentBranch}. Pull first.`));
112
+ return gateFail('remote-sync', `local ${currentBranch} is ${behind.stdout.trim()} commits behind origin/${currentBranch}`);
103
113
  }
104
- console.log(chalk_1.default.green('✅ git: synced with remote'));
114
+ (0, command_contract_1.log)(io, chalk_1.default.green('✅ git: synced with remote'));
105
115
  // ── 2c. Check clean working tree ──
106
116
  const stat = await run('git status --porcelain -uno', pkgPath);
107
117
  if (stat.stdout.length > 0) {
108
- console.error(chalk_1.default.red('❌ Uncommitted changes. Commit or stash before releasing.'));
109
- console.error(chalk_1.default.gray(stat.stdout.slice(0, 500)));
110
- process.exit(1);
118
+ (0, command_contract_1.logError)(io, chalk_1.default.red('❌ Uncommitted changes. Commit or stash before releasing.'));
119
+ (0, command_contract_1.logError)(io, chalk_1.default.gray(stat.stdout.slice(0, 500)));
120
+ return gateFail('clean-tree', 'working tree has uncommitted changes');
111
121
  }
112
- console.log(chalk_1.default.green('✅ git: clean'));
122
+ (0, command_contract_1.log)(io, chalk_1.default.green('✅ git: clean'));
113
123
  // ── 3. tsc build ──
114
- console.log(chalk_1.default.cyan('🔨 Building...'));
124
+ (0, command_contract_1.log)(io, chalk_1.default.cyan('🔨 Building...'));
115
125
  const build = await run('npx tsc', pkgPath, 60_000);
116
126
  if (build.stderr && !build.stdout) {
117
- console.error(chalk_1.default.red('❌ tsc failed:'), build.stderr.slice(0, 800));
118
- process.exit(1);
127
+ (0, command_contract_1.logError)(io, chalk_1.default.red('❌ tsc failed:'), build.stderr.slice(0, 800));
128
+ return gateFail('build', `tsc failed: ${build.stderr.slice(0, 200)}`);
119
129
  }
120
- console.log(chalk_1.default.green('✅ tsc: built'));
121
- // ── 4. Verify dist ──
122
- const criticalFiles = [
123
- 'dist/index.js',
124
- 'dist/knowledge/index.js',
125
- 'dist/knowledge/store.js',
126
- 'dist/knowledge/ingest.js',
127
- 'dist/knowledge/query.js',
128
- 'dist/knowledge/lifecycle.js',
129
- 'dist/knowledge/lint.js',
130
- 'dist/knowledge/types.js',
131
- 'dist/knowledge/import.js',
132
- 'dist/knowledge/reference-tracker.js',
133
- 'dist/knowledge/lifecycle-hooks.js',
134
- 'dist/knowledge/doctor.js',
135
- 'dist/core/constraints/prompt-injection.js',
136
- ];
137
- const missing = criticalFiles.filter(f => !fs.existsSync(path.join(pkgPath, f)));
138
- if (missing.length > 0) {
139
- console.error(chalk_1.default.red(`❌ dist missing critical files: ${missing.join(', ')}`));
140
- process.exit(1);
130
+ (0, command_contract_1.log)(io, chalk_1.default.green('✅ tsc: built'));
131
+ // ── 4. Verify dist(发布物完整性自检,harness#77:清单随源码维护,不再本文件硬编码)──
132
+ const integrity = (0, release_1.verifyReleaseArtifacts)(pkgPath);
133
+ if (!integrity.ok) {
134
+ (0, command_contract_1.logError)(io, chalk_1.default.red(`❌ dist missing critical artifacts (${integrity.missing.length}): ${integrity.missing.join(', ')}`));
135
+ return gateFail('dist-artifacts', `missing critical artifacts: ${integrity.missing.join(', ')}`);
141
136
  }
142
- console.log(chalk_1.default.green('✅ dist: verified'));
137
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ dist: verified (${integrity.checked.length} critical artifacts)`));
143
138
  if (dryRun) {
144
139
  const [major, minor, patch] = oldVersion.split('.').map(Number);
145
140
  let newVer;
@@ -149,11 +144,11 @@ async function release(options) {
149
144
  newVer = `${major}.${minor + 1}.0`;
150
145
  else
151
146
  newVer = `${major}.${minor}.${patch + 1}`;
152
- console.log(chalk_1.default.yellow(`🏁 Dry-run complete. Would publish: ${pkgName}@${newVer}`));
153
- process.exit(0);
147
+ (0, command_contract_1.log)(io, chalk_1.default.yellow(`🏁 Dry-run complete. Would publish: ${pkgName}@${newVer}`));
148
+ return { kind: 'ok' };
154
149
  }
155
150
  // ── 5. Bump version (npm version creates git commit + tag atomically) ──
156
- console.log(chalk_1.default.cyan('🔢 Bumping version...'));
151
+ (0, command_contract_1.log)(io, chalk_1.default.cyan('🔢 Bumping version...'));
157
152
  const [major, minor, patch] = oldVersion.split('.').map(Number);
158
153
  let expectedNew;
159
154
  if (bumpType === 'major')
@@ -165,81 +160,81 @@ async function release(options) {
165
160
  const expectedTag = `v${expectedNew}`;
166
161
  const tagExists = await run(`git tag -l "${expectedTag}"`, pkgPath);
167
162
  if (tagExists.stdout.trim() === expectedTag) {
168
- console.error(chalk_1.default.red(`❌ Tag ${expectedTag} already exists. Version may have been released already.`));
169
- process.exit(1);
163
+ (0, command_contract_1.logError)(io, chalk_1.default.red(`❌ Tag ${expectedTag} already exists. Version may have been released already.`));
164
+ return gateFail('tag-conflict', `tag ${expectedTag} already exists`);
170
165
  }
171
166
  const bump = await run(`npm version ${bumpType} -m "release: %s"`, pkgPath);
172
167
  if (bump.stderr && !bump.stdout) {
173
- console.error(chalk_1.default.red('❌ npm version failed:'), bump.stderr);
174
- process.exit(1);
168
+ (0, command_contract_1.logError)(io, chalk_1.default.red('❌ npm version failed:'), bump.stderr);
169
+ return gateFail('version-bump', `npm version ${bumpType} failed: ${bump.stderr.slice(0, 200)}`);
175
170
  }
176
171
  const newVersion = bump.stdout.trim().replace(/^v/, '');
177
172
  const tag = `v${newVersion}`;
178
- console.log(chalk_1.default.green(`✅ version: ${oldVersion} → ${newVersion} (committed + tagged)`));
173
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ version: ${oldVersion} → ${newVersion} (committed + tagged)`));
179
174
  // ── 6. Push (handle protected branch via PR) ──
180
- console.log(chalk_1.default.cyan('⬆️ Pushing...'));
175
+ (0, command_contract_1.log)(io, chalk_1.default.cyan('⬆️ Pushing...'));
181
176
  const push = await run(`git push origin ${currentBranch}`, pkgPath, 30_000);
182
177
  const isProtected = push.stderr.includes('GH006') || push.stderr.includes('protected branch');
183
178
  if (isProtected) {
184
179
  // Protected branch: create release branch + PR
185
180
  const releaseBranch = `release/v${newVersion}`;
186
- console.log(chalk_1.default.yellow(`⚠️ ${currentBranch} is protected. Creating PR via ${releaseBranch}...`));
181
+ (0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ ${currentBranch} is protected. Creating PR via ${releaseBranch}...`));
187
182
  await run(`git checkout -b ${releaseBranch}`, pkgPath);
188
183
  await run(`git push origin ${releaseBranch}`, pkgPath, 30_000);
189
184
  // Create PR
190
185
  const prBody = `## Release ${pkgName}@${newVersion}\n\n- Bump version: ${oldVersion} → ${newVersion}\n- Changelog updated\n\nAfter merge, push tag to trigger npm publish:\n\`\`\`\ngit push origin ${tag}\n\`\`\``;
191
186
  const pr = await run(`gh pr create --title "release: ${pkgName}@${newVersion}" --body "${prBody}" --base ${currentBranch}`, pkgPath, 30_000);
192
187
  if (pr.stdout) {
193
- console.log(chalk_1.default.green(`✅ PR created: ${pr.stdout.trim()}`));
188
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ PR created: ${pr.stdout.trim()}`));
194
189
  }
195
190
  else {
196
- console.error(chalk_1.default.red('❌ PR creation failed:'), pr.stderr.slice(0, 500));
197
- process.exit(1);
191
+ (0, command_contract_1.logError)(io, chalk_1.default.red('❌ PR creation failed:'), pr.stderr.slice(0, 500));
192
+ return gateFail('pr-create', `gh pr create failed: ${pr.stderr.slice(0, 200)}`);
198
193
  }
199
194
  // Switch back to original branch
200
195
  await run(`git checkout ${currentBranch}`, pkgPath);
201
- console.log(chalk_1.default.cyan('\n📋 Next steps:'));
202
- console.log(chalk_1.default.gray(` 1. Merge the PR: ${pr.stdout.trim()}`));
203
- console.log(chalk_1.default.gray(` 2. After merge, push tag to trigger npm publish:`));
204
- console.log(chalk_1.default.gray(` git push origin ${tag}`));
205
- console.log(chalk_1.default.gray(` 3. Or run: gh release create ${tag} --generate-notes`));
206
- return;
196
+ (0, command_contract_1.log)(io, chalk_1.default.cyan('\n📋 Next steps:'));
197
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` 1. Merge the PR: ${pr.stdout.trim()}`));
198
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` 2. After merge, push tag to trigger npm publish:`));
199
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` git push origin ${tag}`));
200
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` 3. Or run: gh release create ${tag} --generate-notes`));
201
+ return { kind: 'ok' };
207
202
  }
208
203
  if (push.stderr && push.stderr.includes('error')) {
209
- console.error(chalk_1.default.red('❌ git push failed:'), push.stderr.slice(0, 500));
210
- process.exit(1);
204
+ (0, command_contract_1.logError)(io, chalk_1.default.red('❌ git push failed:'), push.stderr.slice(0, 500));
205
+ return gateFail('git-push', `git push origin ${currentBranch} failed: ${push.stderr.slice(0, 200)}`);
211
206
  }
212
207
  await run(`git push origin ${tag}`, pkgPath, 30_000);
213
- console.log(chalk_1.default.green('✅ git: pushed'));
208
+ (0, command_contract_1.log)(io, chalk_1.default.green('✅ git: pushed'));
214
209
  // ── 7. Check private flag ──
215
210
  if (pkgJson.private) {
216
- console.error(chalk_1.default.red('❌ package.json has "private": true. Remove it before publishing.'));
217
- console.error(chalk_1.default.gray(' The release tool will NOT auto-remove private flag.'));
218
- process.exit(1);
211
+ (0, command_contract_1.logError)(io, chalk_1.default.red('❌ package.json has "private": true. Remove it before publishing.'));
212
+ (0, command_contract_1.logError)(io, chalk_1.default.gray(' The release tool will NOT auto-remove private flag.'));
213
+ return gateFail('private-flag', 'package.json has "private": true');
219
214
  }
220
- console.log(chalk_1.default.green('✅ package: not private'));
215
+ (0, command_contract_1.log)(io, chalk_1.default.green('✅ package: not private'));
221
216
  // ── 8. npm publish ──
222
217
  const origRegistry = await run('npm config get registry', pkgPath);
223
218
  await run('npm config set registry https://registry.npmjs.org/', pkgPath);
224
- console.log(chalk_1.default.cyan('📤 Publishing to npm...'));
219
+ (0, command_contract_1.log)(io, chalk_1.default.cyan('📤 Publishing to npm...'));
225
220
  await run('npm publish --registry https://registry.npmjs.org/', pkgPath, 180_000);
226
221
  await run(`npm config set registry ${origRegistry.stdout}`, pkgPath);
227
222
  const verify = await run(`npm view ${pkgName} version --registry https://registry.npmjs.org/`, pkgPath);
228
223
  if (verify.stdout.trim() === newVersion) {
229
- console.log(chalk_1.default.green(`✅ npm: published ${pkgName}@${newVersion}`));
224
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ npm: published ${pkgName}@${newVersion}`));
230
225
  }
231
226
  else {
232
- console.error(chalk_1.default.red(`❌ npm publish verification failed. Expected ${newVersion}, registry has ${verify.stdout.trim() || '???'}`));
233
- process.exit(1);
227
+ (0, command_contract_1.logError)(io, chalk_1.default.red(`❌ npm publish verification failed. Expected ${newVersion}, registry has ${verify.stdout.trim() || '???'}`));
228
+ return gateFail('npm-publish-verify', `expected ${newVersion}, registry has ${verify.stdout.trim() || '???'}`);
234
229
  }
235
230
  // ── 9. GitHub Release ──
236
- console.log(chalk_1.default.cyan('🐙 Creating GitHub Release...'));
231
+ (0, command_contract_1.log)(io, chalk_1.default.cyan('🐙 Creating GitHub Release...'));
237
232
  const gh = await run(`gh release create ${tag} --generate-notes`, pkgPath, 30_000);
238
233
  if (gh.stderr && gh.stderr.includes('already exists')) {
239
- console.log(chalk_1.default.yellow(`⚠️ gh: release ${tag} already exists`));
234
+ (0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ gh: release ${tag} already exists`));
240
235
  }
241
236
  else if (gh.stderr) {
242
- console.log(chalk_1.default.yellow(`⚠️ gh: release may have failed (non-fatal): ${gh.stderr.slice(0, 200)}`));
237
+ (0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ gh: release may have failed (non-fatal): ${gh.stderr.slice(0, 200)}`));
243
238
  }
244
239
  else {
245
240
  let repoUrl = '';
@@ -250,9 +245,10 @@ async function release(options) {
250
245
  repoUrl = `https://github.com/${m[1]}/${m[2]}/releases/tag/${tag}`;
251
246
  }
252
247
  catch { /* no remote */ }
253
- console.log(chalk_1.default.green(`✅ GitHub Release: ${repoUrl || tag}`));
248
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ GitHub Release: ${repoUrl || tag}`));
254
249
  }
255
- console.log(chalk_1.default.green(`\n🎉 Released ${pkgName}@${newVersion}`));
256
- console.log(chalk_1.default.gray(` npm: https://www.npmjs.com/package/${pkgName}/v/${newVersion}`));
250
+ (0, command_contract_1.log)(io, chalk_1.default.green(`\n🎉 Released ${pkgName}@${newVersion}`));
251
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` npm: https://www.npmjs.com/package/${pkgName}/v/${newVersion}`));
252
+ return { kind: 'ok' };
257
253
  }
258
254
  //# sourceMappingURL=release.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"release.js","sourceRoot":"","sources":["../../../src/cli/commands/release.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * 生成检查报告(接入真实约束检查数据)
5
5
  */
6
+ import { type CommandIO, type CommandResult } from '../command-contract';
6
7
  export interface ReportOptions {
7
8
  /** 输出文件路径 */
8
9
  output?: string;
@@ -14,5 +15,5 @@ export interface ReportOptions {
14
15
  /**
15
16
  * 生成检查报告
16
17
  */
17
- export declare function report(options: ReportOptions): Promise<void>;
18
+ export declare function report(options: ReportOptions, io?: CommandIO): Promise<CommandResult>;
18
19
  //# sourceMappingURL=report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqBD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAmElE"}
1
+ {"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,aAAa;IAC5B,aAAa;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW;IACX,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,CAAC;IACrC,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAqBD;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,GAAE,SAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqEtG"}
@@ -47,13 +47,16 @@ const fs = __importStar(require("fs/promises"));
47
47
  const checker_1 = require("../../core/constraints/checker");
48
48
  const definitions_1 = require("../../core/constraints/definitions");
49
49
  const constraint_handler_1 = require("../../failure/constraint-handler");
50
+ const traces_1 = require("../../monitoring/traces");
51
+ const command_contract_1 = require("../command-contract");
50
52
  /**
51
53
  * 生成检查报告
52
54
  */
53
- async function report(options) {
54
- console.log(chalk_1.default.blue('📊 生成检查报告...'));
55
+ async function report(options, io = command_contract_1.processIO) {
56
+ (0, command_contract_1.log)(io, chalk_1.default.blue('📊 生成检查报告...'));
55
57
  const projectPath = options.projectPath || process.cwd();
56
- const checker = checker_1.ConstraintChecker.getInstance();
58
+ // trace 记录器经构造参数接线(harness#88):本命令是组合根
59
+ const checker = new checker_1.ConstraintChecker((0, traces_1.getTraceCollector)());
57
60
  const allConstraints = { ...definitions_1.IRON_LAWS, ...definitions_1.GUIDELINES, ...definitions_1.PROMPTS };
58
61
  const totalConstraints = Object.keys(allConstraints).length;
59
62
  const context = {
@@ -101,11 +104,12 @@ async function report(options) {
101
104
  }
102
105
  if (options.output) {
103
106
  await fs.writeFile(options.output, content, 'utf-8');
104
- console.log(chalk_1.default.green(`✅ 报告已保存到: ${options.output}`));
107
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ 报告已保存到: ${options.output}`));
105
108
  }
106
109
  else {
107
- console.log(content);
110
+ (0, command_contract_1.log)(io, content);
108
111
  }
112
+ return { kind: 'ok' };
109
113
  }
110
114
  function generateMarkdownReport(data) {
111
115
  const lines = [
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/cli/commands/report.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0CH,wBAqEC;AA7GD,kDAA0B;AAC1B,gDAAkC;AAClC,4DAAmE;AACnE,oEAAoF;AACpF,yEAAsE;AACtE,oDAA4D;AAE5D,0DAAyF;AA8BzF;;GAEG;AACI,KAAK,UAAU,MAAM,CAAC,OAAsB,EAAE,KAAgB,4BAAS;IAC5E,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAEpC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACzD,uCAAuC;IACvC,MAAM,OAAO,GAAG,IAAI,2BAAiB,CAAC,IAAA,0BAAiB,GAAE,CAAC,CAAC;IAE3D,MAAM,cAAc,GAAG,EAAE,GAAG,uBAAS,EAAE,GAAG,wBAAU,EAAE,GAAG,qBAAO,EAAE,CAAC;IACnE,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC;IAE5D,MAAM,OAAO,GAAsB;QACjC,SAAS,EAAE,mBAAmB;QAC9B,WAAW;KACZ,CAAC;IAEF,6CAA6C;IAC7C,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,uCAAkB,EAAC,GAAG,EAAE,CACpD,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAClC,CAAC;IACF,6BAA6B;IAC7B,MAAM,MAAM,GAAG,WAAY,CAAC;IAE5B,MAAM,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,gBAAgB,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAErE,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,EAAE,GAAG,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpE,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE;KACzB,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAe;QAC7B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,WAAW;QACX,WAAW,EAAE;YACX,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,uBAAS,CAAC,CAAC,MAAM;YACvC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,wBAAU,CAAC,CAAC,MAAM;YAC1C,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAO,CAAC,CAAC,MAAM;YACpC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAM;YAC/E,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,QAAQ,EAAE,gBAAgB,CAAC,MAAM;YACjC,UAAU;SACX;KACF,CAAC;IAEF,IAAI,OAAe,CAAC;IAEpB,QAAQ,OAAO,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9C,MAAM;QACR,KAAK,UAAU;YACb,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAC7C,MAAM;QACR,KAAK,MAAM;YACT,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM;QACR;YACE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACrD,IAAA,sBAAG,EAAC,EAAE,EAAE,eAAK,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,IAAA,sBAAG,EAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAgB;IAC9C,MAAM,KAAK,GAAa;QACtB,gBAAgB;QAChB,EAAE;QACF,WAAW,IAAI,CAAC,SAAS,EAAE;QAC3B,WAAW,IAAI,CAAC,WAAW,EAAE;QAC7B,EAAE;QACF,KAAK;QACL,EAAE;QACF,SAAS;QACT,EAAE;QACF,aAAa;QACb,iBAAiB;QACjB,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI;QACrC,iBAAiB,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI;QAC9C,kBAAkB,IAAI,CAAC,WAAW,CAAC,UAAU,IAAI;QACjD,eAAe,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI;QAC3C,UAAU,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI;QACrC,kBAAkB,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI;QAC7C,oBAAoB,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI;QACjD,EAAE;KACH,CAAC;IAEF,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACtC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,4BAA4B,EAAE,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAgB;IAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;QAC3D,CAAC,CAAC,mBAAmB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CACrD,eAAe,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,OAAO,OAAO,CAC/D,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO;QACnB,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;;;;;;;;;;;;;;0BAqBiB,IAAI,CAAC,SAAS,aAAa,IAAI,CAAC,WAAW;;;;;0BAK3C,IAAI,CAAC,WAAW,CAAC,KAAK;gCAChB,IAAI,CAAC,WAAW,CAAC,QAAQ;iCACxB,IAAI,CAAC,WAAW,CAAC,UAAU;8BAC9B,IAAI,CAAC,WAAW,CAAC,OAAO;wCACd,IAAI,CAAC,WAAW,CAAC,MAAM;wCACvB,IAAI,CAAC,WAAW,CAAC,MAAM;yBACtC,IAAI,CAAC,WAAW,CAAC,QAAQ;;;IAG9C,cAAc;;;;;;QAMV,CAAC;AACT,CAAC"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * 代码审查门控,检查审查状态
5
5
  */
6
+ import { type CommandIO, type CommandResult } from '../command-contract';
6
7
  export interface ReviewOptions {
7
8
  /** 项目路径 */
8
9
  projectPath?: string;
@@ -18,9 +19,9 @@ export interface ReviewOptions {
18
19
  /**
19
20
  * 执行审查门控
20
21
  */
21
- export declare function review(options: ReviewOptions): Promise<void>;
22
+ export declare function review(options: ReviewOptions, io?: CommandIO): Promise<CommandResult>;
22
23
  /**
23
24
  * 显示审查状态详情
24
25
  */
25
- export declare function reviewStatus(options: ReviewOptions): Promise<void>;
26
+ export declare function reviewStatus(options: ReviewOptions, io?: CommandIO): Promise<CommandResult>;
26
27
  //# sourceMappingURL=review.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe;IACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ClE;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCxE"}
1
+ {"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa;IACb,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe;IACf,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mBAAmB;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAsB,MAAM,CAC1B,OAAO,EAAE,aAAa,EACtB,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA+CxB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA0CxB"}
@@ -13,11 +13,12 @@ exports.reviewStatus = reviewStatus;
13
13
  const chalk_1 = __importDefault(require("chalk"));
14
14
  const exec_1 = require("../../utils/exec");
15
15
  const review_1 = require("../../gates/review");
16
+ const command_contract_1 = require("../command-contract");
16
17
  /**
17
18
  * 执行审查门控
18
19
  */
19
- async function review(options) {
20
- console.log(chalk_1.default.blue('👀 代码审查门控检查...'));
20
+ async function review(options, io = command_contract_1.processIO) {
21
+ (0, command_contract_1.log)(io, chalk_1.default.blue('👀 代码审查门控检查...'));
21
22
  const projectPath = options.projectPath || process.cwd();
22
23
  const gate = new review_1.ReviewGate({
23
24
  minReviewers: options.minReviewers ?? 1,
@@ -29,73 +30,76 @@ async function review(options) {
29
30
  });
30
31
  try {
31
32
  const { stdout: branch } = await (0, exec_1.execAsync)('git rev-parse --abbrev-ref HEAD', { cwd: projectPath });
32
- console.log(chalk_1.default.gray(`当前分支: ${branch.trim()}`));
33
+ (0, command_contract_1.log)(io, chalk_1.default.gray(`当前分支: ${branch.trim()}`));
33
34
  const result = await gate.check({ projectPath, projectId: 'default' });
34
- console.log();
35
+ (0, command_contract_1.log)(io);
35
36
  if (result.passed) {
36
- console.log(chalk_1.default.green('✅ 代码审查门控检查通过'));
37
+ (0, command_contract_1.log)(io, chalk_1.default.green('✅ 代码审查门控检查通过'));
37
38
  if (result.details) {
38
- console.log(chalk_1.default.gray(` 审批: ${result.details.approvals ?? 0}, 变更请求: ${result.details.changesRequested ?? 0}`));
39
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` 审批: ${result.details.approvals ?? 0}, 变更请求: ${result.details.changesRequested ?? 0}`));
39
40
  }
40
41
  }
41
42
  else {
42
- console.log(chalk_1.default.red('❌ 代码审查门控检查失败'));
43
- console.log(chalk_1.default.red(` ${result.message}`));
43
+ (0, command_contract_1.log)(io, chalk_1.default.red('❌ 代码审查门控检查失败'));
44
+ (0, command_contract_1.log)(io, chalk_1.default.red(` ${result.message}`));
44
45
  if (result.details?.suggestion) {
45
- console.log(chalk_1.default.gray(` ${result.details.suggestion}`));
46
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` ${result.details.suggestion}`));
46
47
  }
47
- process.exit(1);
48
+ return { kind: 'fail', reason: `review gate denied: ${result.message}` };
48
49
  }
50
+ return { kind: 'ok' };
49
51
  }
50
52
  catch (error) {
51
- console.log();
52
- console.log(chalk_1.default.red('❌ 代码审查门控检查出错'));
53
- console.log(chalk_1.default.red(` ${error.message}`));
53
+ (0, command_contract_1.log)(io);
54
+ (0, command_contract_1.log)(io, chalk_1.default.red('❌ 代码审查门控检查出错'));
55
+ (0, command_contract_1.log)(io, chalk_1.default.red(` ${error.message}`));
54
56
  if (error.message.includes('not a git repository')) {
55
- console.log();
56
- console.log(chalk_1.default.gray('提示: 此命令需要在 Git 仓库中运行'));
57
+ (0, command_contract_1.log)(io);
58
+ (0, command_contract_1.log)(io, chalk_1.default.gray('提示: 此命令需要在 Git 仓库中运行'));
57
59
  }
58
- process.exit(1);
60
+ return { kind: 'fail', reason: `review gate error: ${error.message}` };
59
61
  }
60
62
  }
61
63
  /**
62
64
  * 显示审查状态详情
63
65
  */
64
- async function reviewStatus(options) {
65
- console.log(chalk_1.default.blue('👀 代码审查状态...\n'));
66
+ async function reviewStatus(options, io = command_contract_1.processIO) {
67
+ (0, command_contract_1.log)(io, chalk_1.default.blue('👀 代码审查状态...\n'));
66
68
  const projectPath = options.projectPath || process.cwd();
67
69
  try {
68
70
  const { stdout: branch } = await (0, exec_1.execAsync)('git rev-parse --abbrev-ref HEAD', { cwd: projectPath });
69
- console.log(chalk_1.default.gray(`当前分支: ${branch.trim()}`));
71
+ (0, command_contract_1.log)(io, chalk_1.default.gray(`当前分支: ${branch.trim()}`));
70
72
  try {
71
73
  const { stdout: prInfo } = await (0, exec_1.execAsync)('gh pr view --json number,title,state,reviewDecision,reviews', {
72
74
  cwd: projectPath,
73
75
  });
74
76
  const pr = JSON.parse(prInfo);
75
- console.log();
76
- console.log(chalk_1.default.cyan(`PR #${pr.number}: ${pr.title}`));
77
- console.log(chalk_1.default.gray(`状态: ${pr.state}`));
77
+ (0, command_contract_1.log)(io);
78
+ (0, command_contract_1.log)(io, chalk_1.default.cyan(`PR #${pr.number}: ${pr.title}`));
79
+ (0, command_contract_1.log)(io, chalk_1.default.gray(`状态: ${pr.state}`));
78
80
  if (pr.reviewDecision) {
79
81
  const decisionColor = pr.reviewDecision === 'APPROVED' ? chalk_1.default.green : chalk_1.default.yellow;
80
- console.log(decisionColor(`审查决策: ${pr.reviewDecision}`));
82
+ (0, command_contract_1.log)(io, decisionColor(`审查决策: ${pr.reviewDecision}`));
81
83
  }
82
84
  if (pr.reviews && pr.reviews.length > 0) {
83
- console.log();
84
- console.log(chalk_1.default.gray('审查历史:'));
85
+ (0, command_contract_1.log)(io);
86
+ (0, command_contract_1.log)(io, chalk_1.default.gray('审查历史:'));
85
87
  pr.reviews.forEach((r) => {
86
88
  const statusColor = r.state === 'APPROVED' ? chalk_1.default.green :
87
89
  r.state === 'CHANGES_REQUESTED' ? chalk_1.default.red : chalk_1.default.gray;
88
- console.log(statusColor(` - ${r.author?.login || 'unknown'}: ${r.state}`));
90
+ (0, command_contract_1.log)(io, statusColor(` - ${r.author?.login || 'unknown'}: ${r.state}`));
89
91
  });
90
92
  }
91
93
  }
92
94
  catch {
93
- console.log(chalk_1.default.yellow('\n⚠️ 未找到关联的 PR'));
94
- console.log(chalk_1.default.gray(' 使用 gh pr create 创建 PR'));
95
+ (0, command_contract_1.log)(io, chalk_1.default.yellow('\n⚠️ 未找到关联的 PR'));
96
+ (0, command_contract_1.log)(io, chalk_1.default.gray(' 使用 gh pr create 创建 PR'));
95
97
  }
98
+ return { kind: 'ok' };
96
99
  }
97
100
  catch (error) {
98
- console.log(chalk_1.default.red(`❌ 获取审查状态失败: ${error.message}`));
101
+ (0, command_contract_1.log)(io, chalk_1.default.red(`❌ 获取审查状态失败: ${error.message}`));
102
+ return { kind: 'skip', reason: `获取审查状态失败: ${error.message}` };
99
103
  }
100
104
  }
101
105
  //# sourceMappingURL=review.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/cli/commands/review.ts"],"names":[],"mappings":"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"}