@dommaker/harness 1.9.0 → 1.11.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 (285) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +9 -12
  3. package/dist/cli/commands/check.d.ts +3 -3
  4. package/dist/cli/commands/check.d.ts.map +1 -1
  5. package/dist/cli/commands/check.js +41 -78
  6. package/dist/cli/commands/check.js.map +1 -1
  7. package/dist/cli/commands/constraints-report.d.ts +2 -10
  8. package/dist/cli/commands/constraints-report.d.ts.map +1 -1
  9. package/dist/cli/commands/constraints-report.js +4 -57
  10. package/dist/cli/commands/constraints-report.js.map +1 -1
  11. package/dist/cli/commands/constraints-retire.d.ts +9 -23
  12. package/dist/cli/commands/constraints-retire.d.ts.map +1 -1
  13. package/dist/cli/commands/constraints-retire.js +39 -121
  14. package/dist/cli/commands/constraints-retire.js.map +1 -1
  15. package/dist/cli/commands/constraints.d.ts +3 -8
  16. package/dist/cli/commands/constraints.d.ts.map +1 -1
  17. package/dist/cli/commands/constraints.js +8 -23
  18. package/dist/cli/commands/constraints.js.map +1 -1
  19. package/dist/cli/commands/definitions.d.ts.map +1 -1
  20. package/dist/cli/commands/definitions.js +7 -12
  21. package/dist/cli/commands/definitions.js.map +1 -1
  22. package/dist/cli/commands/init.d.ts +0 -32
  23. package/dist/cli/commands/init.d.ts.map +1 -1
  24. package/dist/cli/commands/init.js +7 -149
  25. package/dist/cli/commands/init.js.map +1 -1
  26. package/dist/cli/commands/report.d.ts.map +1 -1
  27. package/dist/cli/commands/report.js +14 -17
  28. package/dist/cli/commands/report.js.map +1 -1
  29. package/dist/cli/commands/scaffold-templates.d.ts +1 -3
  30. package/dist/cli/commands/scaffold-templates.d.ts.map +1 -1
  31. package/dist/cli/commands/scaffold-templates.js +2 -53
  32. package/dist/cli/commands/scaffold-templates.js.map +1 -1
  33. package/dist/cli/commands/scaffold.d.ts +0 -2
  34. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  35. package/dist/cli/commands/scaffold.js +0 -10
  36. package/dist/cli/commands/scaffold.js.map +1 -1
  37. package/dist/cli/commands/status.js +10 -10
  38. package/dist/cli/commands/status.js.map +1 -1
  39. package/dist/cli/commands/sync-docs/agents-syncer.d.ts +0 -2
  40. package/dist/cli/commands/sync-docs/agents-syncer.d.ts.map +1 -1
  41. package/dist/cli/commands/sync-docs/agents-syncer.js +4 -23
  42. package/dist/cli/commands/sync-docs/agents-syncer.js.map +1 -1
  43. package/dist/core/constraints/capabilities-parser.d.ts.map +1 -1
  44. package/dist/core/constraints/capabilities-parser.js +16 -4
  45. package/dist/core/constraints/capabilities-parser.js.map +1 -1
  46. package/dist/core/constraints/checker.d.ts +15 -24
  47. package/dist/core/constraints/checker.d.ts.map +1 -1
  48. package/dist/core/constraints/checker.js +33 -72
  49. package/dist/core/constraints/checker.js.map +1 -1
  50. package/dist/core/constraints/checkers/docs-freshness.js +1 -1
  51. package/dist/core/constraints/checkers/docs-freshness.js.map +1 -1
  52. package/dist/core/constraints/checkers/governance-presence.d.ts +2 -1
  53. package/dist/core/constraints/checkers/governance-presence.d.ts.map +1 -1
  54. package/dist/core/constraints/checkers/governance-presence.js +4 -3
  55. package/dist/core/constraints/checkers/governance-presence.js.map +1 -1
  56. package/dist/core/constraints/checkers/index.d.ts +1 -1
  57. package/dist/core/constraints/checkers/index.d.ts.map +1 -1
  58. package/dist/core/constraints/checkers/index.js +4 -8
  59. package/dist/core/constraints/checkers/index.js.map +1 -1
  60. package/dist/core/constraints/checkers/iron-flags.d.ts +3 -4
  61. package/dist/core/constraints/checkers/iron-flags.d.ts.map +1 -1
  62. package/dist/core/constraints/checkers/iron-flags.js +4 -5
  63. package/dist/core/constraints/checkers/iron-flags.js.map +1 -1
  64. package/dist/core/constraints/checkers/no-test-simplification.js +1 -1
  65. package/dist/core/constraints/checkers/no-test-simplification.js.map +1 -1
  66. package/dist/core/constraints/checkers/types.d.ts +1 -1
  67. package/dist/core/constraints/checkers/types.js +1 -1
  68. package/dist/core/constraints/definitions/guidelines.d.ts +4 -4
  69. package/dist/core/constraints/definitions/guidelines.d.ts.map +1 -1
  70. package/dist/core/constraints/definitions/guidelines.js +9 -25
  71. package/dist/core/constraints/definitions/guidelines.js.map +1 -1
  72. package/dist/core/constraints/definitions/iron-laws.d.ts +4 -4
  73. package/dist/core/constraints/definitions/iron-laws.d.ts.map +1 -1
  74. package/dist/core/constraints/definitions/iron-laws.js +10 -81
  75. package/dist/core/constraints/definitions/iron-laws.js.map +1 -1
  76. package/dist/core/constraints/definitions.d.ts +7 -9
  77. package/dist/core/constraints/definitions.d.ts.map +1 -1
  78. package/dist/core/constraints/definitions.js +13 -16
  79. package/dist/core/constraints/definitions.js.map +1 -1
  80. package/dist/core/constraints/index.d.ts +2 -5
  81. package/dist/core/constraints/index.d.ts.map +1 -1
  82. package/dist/core/constraints/index.js +3 -13
  83. package/dist/core/constraints/index.js.map +1 -1
  84. package/dist/core/constraints/injection-writer.d.ts +10 -38
  85. package/dist/core/constraints/injection-writer.d.ts.map +1 -1
  86. package/dist/core/constraints/injection-writer.js +17 -54
  87. package/dist/core/constraints/injection-writer.js.map +1 -1
  88. package/dist/core/constraints/run-env.d.ts +1 -10
  89. package/dist/core/constraints/run-env.d.ts.map +1 -1
  90. package/dist/core/constraints/run-env.js +1 -22
  91. package/dist/core/constraints/run-env.js.map +1 -1
  92. package/dist/core/constraints/usage-report.d.ts +6 -8
  93. package/dist/core/constraints/usage-report.d.ts.map +1 -1
  94. package/dist/core/constraints/usage-report.js +6 -11
  95. package/dist/core/constraints/usage-report.js.map +1 -1
  96. package/dist/core/effective-constraints.d.ts +12 -22
  97. package/dist/core/effective-constraints.d.ts.map +1 -1
  98. package/dist/core/effective-constraints.js +13 -30
  99. package/dist/core/effective-constraints.js.map +1 -1
  100. package/dist/core/index.d.ts +2 -2
  101. package/dist/core/index.d.ts.map +1 -1
  102. package/dist/core/index.js +3 -9
  103. package/dist/core/index.js.map +1 -1
  104. package/dist/core/project-config-loader.d.ts +4 -42
  105. package/dist/core/project-config-loader.d.ts.map +1 -1
  106. package/dist/core/project-config-loader.js +16 -125
  107. package/dist/core/project-config-loader.js.map +1 -1
  108. package/dist/core/validators/passes-gate.d.ts +2 -2
  109. package/dist/core/validators/passes-gate.js +6 -6
  110. package/dist/core/validators/passes-gate.js.map +1 -1
  111. package/dist/index.d.ts +9 -10
  112. package/dist/index.d.ts.map +1 -1
  113. package/dist/index.js +21 -18
  114. package/dist/index.js.map +1 -1
  115. package/dist/knowledge/lint.d.ts +17 -0
  116. package/dist/knowledge/lint.d.ts.map +1 -1
  117. package/dist/knowledge/lint.js +52 -0
  118. package/dist/knowledge/lint.js.map +1 -1
  119. package/dist/knowledge/store.d.ts +7 -0
  120. package/dist/knowledge/store.d.ts.map +1 -1
  121. package/dist/knowledge/store.js +48 -13
  122. package/dist/knowledge/store.js.map +1 -1
  123. package/dist/knowledge/types.d.ts +5 -1
  124. package/dist/knowledge/types.d.ts.map +1 -1
  125. package/dist/knowledge/types.js +5 -1
  126. package/dist/knowledge/types.js.map +1 -1
  127. package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
  128. package/dist/monitoring/trace-analyzer.js +11 -12
  129. package/dist/monitoring/trace-analyzer.js.map +1 -1
  130. package/dist/monitoring/traces.d.ts +4 -4
  131. package/dist/monitoring/traces.d.ts.map +1 -1
  132. package/dist/monitoring/traces.js +8 -8
  133. package/dist/monitoring/traces.js.map +1 -1
  134. package/dist/presets/standard.d.ts +8 -10
  135. package/dist/presets/standard.d.ts.map +1 -1
  136. package/dist/presets/standard.js +10 -16
  137. package/dist/presets/standard.js.map +1 -1
  138. package/dist/types/constraint.d.ts +24 -35
  139. package/dist/types/constraint.d.ts.map +1 -1
  140. package/dist/types/constraint.js +8 -7
  141. package/dist/types/constraint.js.map +1 -1
  142. package/dist/types/passes-gate.d.ts +5 -5
  143. package/dist/types/passes-gate.d.ts.map +1 -1
  144. package/dist/types/project-config.d.ts +8 -66
  145. package/dist/types/project-config.d.ts.map +1 -1
  146. package/dist/types/project-config.js +3 -2
  147. package/dist/types/project-config.js.map +1 -1
  148. package/dist/types/trace.d.ts +8 -10
  149. package/dist/types/trace.d.ts.map +1 -1
  150. package/package.json +2 -2
  151. package/src/CONTEXT.md +2 -2
  152. package/src/__tests__/checker-extra.test.ts +37 -61
  153. package/src/__tests__/checker.test.ts +10 -115
  154. package/src/__tests__/effective-constraints.test.ts +18 -83
  155. package/src/__tests__/iron-laws.test.ts +71 -90
  156. package/src/__tests__/passes-gate-check.test.ts +2 -2
  157. package/src/__tests__/project-config-loader-extra.test.ts +22 -123
  158. package/src/__tests__/project-config-loader.test.ts +5 -33
  159. package/src/__tests__/public-exports.test.ts +8 -7
  160. package/src/__tests__/public-type-surface.test.ts +7 -5
  161. package/src/__tests__/public-value-surface.test.ts +1 -7
  162. package/src/__tests__/skip-semantics.test.ts +21 -37
  163. package/src/__tests__/trace-analyzer-extra.test.ts +14 -14
  164. package/src/__tests__/trace-analyzer.test.ts +21 -21
  165. package/src/__tests__/trace-collector.test.ts +22 -22
  166. package/src/__tests__/traces.test.ts +27 -28
  167. package/src/__tests__/usage-report-public-export.test.ts +21 -0
  168. package/src/cli/commands/CONTEXT.md +12 -12
  169. package/src/cli/commands/__tests__/check-read-count.test.ts +4 -15
  170. package/src/cli/commands/__tests__/check-skip-output.test.ts +14 -14
  171. package/src/cli/commands/__tests__/check.test.ts +14 -31
  172. package/src/cli/commands/__tests__/constraints-report-json-flag.test.ts +101 -0
  173. package/src/cli/commands/__tests__/constraints-report.test.ts +12 -80
  174. package/src/cli/commands/__tests__/constraints-retire.test.ts +42 -231
  175. package/src/cli/commands/__tests__/init-governance-io.test.ts +12 -58
  176. package/src/cli/commands/__tests__/init-ondisk.test.ts +13 -21
  177. package/src/cli/commands/__tests__/init.test.ts +1 -16
  178. package/src/cli/commands/__tests__/numeric-flag-assembly.test.ts +1 -1
  179. package/src/cli/commands/__tests__/passes-gate-dead-options.test.ts +1 -1
  180. package/src/cli/commands/__tests__/project-path-anchoring.test.ts +2 -2
  181. package/src/cli/commands/__tests__/registry.test.ts +1 -1
  182. package/src/cli/commands/__tests__/report-extra.test.ts +4 -4
  183. package/src/cli/commands/__tests__/report.test.ts +1 -1
  184. package/src/cli/commands/__tests__/scaffold.test.ts +4 -14
  185. package/src/cli/commands/__tests__/status-analysis-wiring.test.ts +3 -3
  186. package/src/cli/commands/__tests__/status-extra.test.ts +14 -14
  187. package/src/cli/commands/__tests__/status.test.ts +12 -12
  188. package/src/cli/commands/__tests__/sync-docs-agents.test.ts +1 -1
  189. package/src/cli/commands/check.ts +43 -82
  190. package/src/cli/commands/constraints-report.ts +4 -59
  191. package/src/cli/commands/constraints-retire.ts +49 -154
  192. package/src/cli/commands/constraints.ts +11 -26
  193. package/src/cli/commands/definitions.ts +7 -12
  194. package/src/cli/commands/init.ts +8 -179
  195. package/src/cli/commands/report.ts +19 -23
  196. package/src/cli/commands/scaffold-templates.ts +1 -53
  197. package/src/cli/commands/scaffold.ts +0 -11
  198. package/src/cli/commands/status.ts +10 -10
  199. package/src/cli/commands/sync-docs/agents-syncer.ts +4 -25
  200. package/src/core/CONTEXT.md +9 -9
  201. package/src/core/constraints/__tests__/capability-counts.test.ts +5 -5
  202. package/src/core/constraints/__tests__/collect-constraints.test.ts +13 -8
  203. package/src/core/constraints/__tests__/git-evidence.test.ts +4 -7
  204. package/src/core/constraints/__tests__/injection-writer.test.ts +8 -61
  205. package/src/core/constraints/__tests__/run-env.test.ts +5 -34
  206. package/src/core/constraints/__tests__/trace-injection.test.ts +1 -1
  207. package/src/core/constraints/capabilities-parser.ts +17 -5
  208. package/src/core/constraints/checker.ts +39 -88
  209. package/src/core/constraints/checkers/__tests__/check-outcome.test.ts +5 -8
  210. package/src/core/constraints/checkers/__tests__/governance-presence.test.ts +1 -53
  211. package/src/core/constraints/checkers/__tests__/iron-flags.test.ts +5 -25
  212. package/src/core/constraints/checkers/docs-freshness.ts +1 -1
  213. package/src/core/constraints/checkers/governance-presence.ts +4 -3
  214. package/src/core/constraints/checkers/index.ts +4 -10
  215. package/src/core/constraints/checkers/iron-flags.ts +3 -12
  216. package/src/core/constraints/checkers/no-test-simplification.ts +1 -1
  217. package/src/core/constraints/checkers/types.ts +1 -1
  218. package/src/core/constraints/definitions/guidelines.ts +8 -25
  219. package/src/core/constraints/definitions/iron-laws.ts +9 -82
  220. package/src/core/constraints/definitions.ts +14 -15
  221. package/src/core/constraints/index.ts +4 -19
  222. package/src/core/constraints/injection-writer.ts +16 -61
  223. package/src/core/constraints/run-env.ts +1 -33
  224. package/src/core/constraints/usage-report.ts +9 -16
  225. package/src/core/effective-constraints.ts +14 -45
  226. package/src/core/index.ts +3 -10
  227. package/src/core/project-config-loader.ts +20 -145
  228. package/src/core/validators/passes-gate.ts +6 -6
  229. package/src/failure/CONTEXT.md +1 -1
  230. package/src/hooks/__tests__/bootstrap.test.ts +3 -5
  231. package/src/index.ts +28 -18
  232. package/src/knowledge/CONTEXT.md +4 -3
  233. package/src/knowledge/__tests__/lint.test.ts +84 -0
  234. package/src/knowledge/__tests__/store.test.ts +70 -0
  235. package/src/knowledge/lint.ts +60 -1
  236. package/src/knowledge/store.ts +48 -11
  237. package/src/knowledge/types.ts +7 -1
  238. package/src/monitoring/CONTEXT.md +1 -1
  239. package/src/monitoring/__tests__/trace-file-anchoring.test.ts +1 -1
  240. package/src/monitoring/__tests__/traces.test.ts +22 -22
  241. package/src/monitoring/trace-analyzer.ts +12 -13
  242. package/src/monitoring/traces.ts +8 -8
  243. package/src/presets/__tests__/standard.test.ts +12 -16
  244. package/src/presets/standard.ts +14 -23
  245. package/src/types/__tests__/types.test.ts +3 -3
  246. package/src/types/constraint.ts +26 -40
  247. package/src/types/passes-gate.ts +5 -5
  248. package/src/types/project-config.ts +8 -77
  249. package/src/types/trace.ts +8 -11
  250. package/dist/cli/commands/posteval-plan.d.ts +0 -15
  251. package/dist/cli/commands/posteval-plan.d.ts.map +0 -1
  252. package/dist/cli/commands/posteval-plan.js +0 -86
  253. package/dist/cli/commands/posteval-plan.js.map +0 -1
  254. package/dist/core/constraints/agent-prompt-renderer.d.ts +0 -32
  255. package/dist/core/constraints/agent-prompt-renderer.d.ts.map +0 -1
  256. package/dist/core/constraints/agent-prompt-renderer.js +0 -55
  257. package/dist/core/constraints/agent-prompt-renderer.js.map +0 -1
  258. package/dist/core/constraints/checkers/no-bypass-checkpoint.d.ts +0 -6
  259. package/dist/core/constraints/checkers/no-bypass-checkpoint.d.ts.map +0 -1
  260. package/dist/core/constraints/checkers/no-bypass-checkpoint.js +0 -40
  261. package/dist/core/constraints/checkers/no-bypass-checkpoint.js.map +0 -1
  262. package/dist/core/constraints/definitions/prompts.d.ts +0 -12
  263. package/dist/core/constraints/definitions/prompts.d.ts.map +0 -1
  264. package/dist/core/constraints/definitions/prompts.js +0 -400
  265. package/dist/core/constraints/definitions/prompts.js.map +0 -1
  266. package/dist/core/constraints/injection-drift.d.ts +0 -61
  267. package/dist/core/constraints/injection-drift.d.ts.map +0 -1
  268. package/dist/core/constraints/injection-drift.js +0 -131
  269. package/dist/core/constraints/injection-drift.js.map +0 -1
  270. package/dist/core/constraints/injection-renderer.d.ts +0 -23
  271. package/dist/core/constraints/injection-renderer.d.ts.map +0 -1
  272. package/dist/core/constraints/injection-renderer.js +0 -44
  273. package/dist/core/constraints/injection-renderer.js.map +0 -1
  274. package/src/cli/commands/__tests__/check-drift.test.ts +0 -158
  275. package/src/cli/commands/__tests__/init-injection.test.ts +0 -466
  276. package/src/cli/commands/__tests__/posteval-plan.test.ts +0 -204
  277. package/src/cli/commands/posteval-plan.ts +0 -98
  278. package/src/core/constraints/__tests__/agent-prompt-renderer.test.ts +0 -129
  279. package/src/core/constraints/__tests__/injection-drift.test.ts +0 -247
  280. package/src/core/constraints/agent-prompt-renderer.ts +0 -67
  281. package/src/core/constraints/checkers/__tests__/no-bypass-checkpoint.test.ts +0 -76
  282. package/src/core/constraints/checkers/no-bypass-checkpoint.ts +0 -40
  283. package/src/core/constraints/definitions/prompts.ts +0 -414
  284. package/src/core/constraints/injection-drift.ts +0 -142
  285. package/src/core/constraints/injection-renderer.ts +0 -44
package/CHANGELOG.md CHANGED
@@ -6,6 +6,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.11.0] - 2026-09-21
10
+
11
+ ### Changes
12
+ - fix(knowledge): lint run() 接存量枚举校验 + CONTEXT 值域改正本指针(M1 复审收口)
13
+ - test(constraints): usage-report 包根导出补冻结清单 + ADR-0030 记名(E1 复盘修正 M3.4)
14
+ - fix(cli): constraints report JSON 分支不可达——子命令 --json 换名 --json-output(E1 复盘修正 M3.1)
15
+ - feat(knowledge): maturity/layer 枚举写入闸 + lint 校验(E1 复盘修正 M1)
16
+ - docs(core): CONTEXT.md 补 usage-report 公共导出说明(#602)
17
+ - feat(constraints): usage-report 数据层加入包根公共导出(studio#602 E1 (a) 链路)
18
+ - chore(cli): 移除 posteval-plan 死命令及脚手架 plan coverage 段(#173)
19
+
20
+ ## [1.10.0] - 2026-09-20
21
+
22
+ ### Changes
23
+ - refactor(constraints)!: 删 kind=prompt/promptInjection 面,severity 显式化,文本注入层关停(studio#605)
24
+ - chore(constraints): 内置注入规则瘦身——删除 11 条冗余/矛盾/不可执行文本规则
25
+
9
26
  ## [1.9.0] - 2026-09-20
10
27
 
11
28
  ### BREAKING
package/README.md CHANGED
@@ -42,26 +42,23 @@ await checkBeforeExecution({
42
42
  const meta = await import('child_process').then(cp =>
43
43
  JSON.parse(cp.execSync('npx @dommaker/harness constraints --json', { encoding: 'utf-8' }))
44
44
  );
45
- // { version, hash, counts: { ironLaws, guidelines, prompts }, textSize }
45
+ // { version, hash, counts: { errors, warnings } }
46
46
  ```
47
47
 
48
- > Agent prompt 注入约束由 `@dommaker/studio-shared` 提供(`formatConstraintsForPrompt(role)`)。
49
-
50
48
  ---
51
49
 
52
- ## 约束体系:check / prompt 二元模型
50
+ ## 约束体系:severity 显式模型(ADR-0029)
53
51
 
54
- | 类别 | 数量 | 行为 |
52
+ | severity | 数量 | 行为 |
55
53
  |------|:--:|------|
56
- | **check · Iron Law** | 5 | 代码级检查,违规 throw `ConstraintViolationError` 阻断执行 |
57
- | **check · Guideline** | 4 | 代码级检查,违规记录 warning 放行 |
58
- | **prompt** | 16 | 纯文本行为约束,注入 Agent context,不占检查位、不产生 trace 统计 |
54
+ | **error** | 3 | 代码级检查,违规 throw `ConstraintViolationError` 阻断执行 |
55
+ | **warning** | 4 | 代码级检查,违规记录 warning 放行 |
59
56
 
60
- - check 层每条必须带真实 checker(注册表闭环,引用未注册 checker 构建报错);`capability_sync`/`docs_freshness`/`context_doc_sync` 为存在性探测——项目未采用对应约定文件时 skip(不阻断、不计 pass/fail)。
61
- - prompt 层带角色路由与适用性标签;场景专属条目仅在 config.yml `scenes` 命中时进入生效集。
62
- - 生效集由 `getEffectiveConstraints(projectRoot)` 统一计算:内置 → preset 裁剪 → config.yml 禁用 → custom 追加 → scenes 过滤。init 注入、`harness check`、外部消费者全部走它。
57
+ - 全部约束 kind='check',每条必须带真实 checker(注册表闭环,引用未注册 checker 构建报错);`capability_sync`/`docs_freshness`/`context_doc_sync` 为存在性探测——项目未采用对应约定文件时 skip(不阻断、不计 pass/fail)。
58
+ - ADR-0029:三层命名(Iron Laws / Guidelines / Prompts)废弃,纯文本提示层(prompt 类约束 + promptInjection 注入 + HARNESS_CONSTRAINTS 注入段与漂移校验)整体关停,文本规则由消费方手写治理段承接;项目自定义纯文本约束(custom-constraints / scenes)随之一并退役。
59
+ - 生效集由 `getEffectiveConstraints(projectRoot)` 统一计算:内置 → preset 裁剪 → config.yml 禁用。`harness check` 与外部消费者全部走它。
63
60
 
64
- 约束定义按类别维护在数据文件中(`src/core/constraints/definitions/{iron-laws,guidelines,prompts}.ts`),检查逻辑在 `checkers/` 目录按规则独立实现。完整约束列表见 [CAPABILITIES.md](CAPABILITIES.md)。
61
+ 约束定义按 severity 分组维护在数据文件中(`src/core/constraints/definitions/{iron-laws,guidelines}.ts`),检查逻辑在 `checkers/` 目录按规则独立实现。完整约束列表见 [CAPABILITIES.md](CAPABILITIES.md)。
65
62
 
66
63
  ---
67
64
 
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * harness check 命令
3
3
  *
4
- * 检查约束是否满足(check 层:Iron Laws / Guidelines;prompt 层仅注入不检查)
4
+ * 检查约束是否满足(severity='error' 阻断 / severity='warning' 告警)
5
5
  * 工单 23:触发条件与证据检测迁至 core/constraints/context-builder
6
- * ADR-0001:约束集统一走 getMergedConstraintsConfig 生效集链路(preset/config 禁用/custom/scenes)
6
+ * 约束集统一走 getMergedConstraintsConfig 生效集链路(preset/config 禁用)
7
7
  * harness#88:本命令是 trace 记录器的组合根——core 不上行依赖 monitoring,
8
8
  * 真实收集器在此经构造参数接线;#139:收集器锚根构造,trace 落点跟 --project-path 走
9
9
  */
@@ -48,7 +48,7 @@ export interface CheckOptions {
48
48
  */
49
49
  export declare function check(options: CheckOptions, io?: CommandIO): Promise<CommandResult>;
50
50
  /**
51
- * 列出所有约束
51
+ * 列出所有约束(按 severity 分组)
52
52
  */
53
53
  /** optionRoutes 一律以 (options) 调用;--list 不消费检查选项,形参仅占位 */
54
54
  export declare function listLaws(_options?: Partial<CheckOptions>, io?: CommandIO): CommandResult;
@@ -1 +1 @@
1
- {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAM3E,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AA4BxD,MAAM,WAAW,YAAY;IAC3B,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW;IACX,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,YAAY,EACrB,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CAyJxB;AA6CD;;GAEG;AACH,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,QAAQ,GAAE,OAAO,CAAC,YAAY,CAAM,EAAE,EAAE,GAAE,SAAqB,GAAG,aAAa,CA8BvG"}
1
+ {"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAI3E,OAAO,KAAK,EAAoB,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzF,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AA4BxD,MAAM,WAAW,YAAY;IAC3B,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW;IACX,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,wBAAsB,KAAK,CACzB,OAAO,EAAE,YAAY,EACrB,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA+HxB;AA6CD;;GAEG;AACH,yDAAyD;AACzD,wBAAgB,QAAQ,CAAC,QAAQ,GAAE,OAAO,CAAC,YAAY,CAAM,EAAE,EAAE,GAAE,SAAqB,GAAG,aAAa,CAmBvG"}
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * harness check 命令
4
4
  *
5
- * 检查约束是否满足(check 层:Iron Laws / Guidelines;prompt 层仅注入不检查)
5
+ * 检查约束是否满足(severity='error' 阻断 / severity='warning' 告警)
6
6
  * 工单 23:触发条件与证据检测迁至 core/constraints/context-builder
7
- * ADR-0001:约束集统一走 getMergedConstraintsConfig 生效集链路(preset/config 禁用/custom/scenes)
7
+ * 约束集统一走 getMergedConstraintsConfig 生效集链路(preset/config 禁用)
8
8
  * harness#88:本命令是 trace 记录器的组合根——core 不上行依赖 monitoring,
9
9
  * 真实收集器在此经构造参数接线;#139:收集器锚根构造,trace 落点跟 --project-path 走
10
10
  */
@@ -55,8 +55,6 @@ const effective_constraints_1 = require("../../core/effective-constraints");
55
55
  const context_builder_1 = require("../../core/constraints/context-builder");
56
56
  const git_evidence_1 = require("../../core/constraints/git-evidence");
57
57
  const run_env_1 = require("../../core/constraints/run-env");
58
- const injection_drift_1 = require("../../core/constraints/injection-drift");
59
- const injection_writer_1 = require("../../core/constraints/injection-writer");
60
58
  const traces_1 = require("../../monitoring/traces");
61
59
  const jsonl_1 = require("../../utils/jsonl");
62
60
  const trace_1 = require("../../types/trace");
@@ -93,14 +91,11 @@ async function check(options, io = command_contract_1.processIO) {
93
91
  const evidence = options.evidence ?? (0, git_evidence_1.createGitEvidence)(projectPath);
94
92
  const runEnv = options.runEnv ?? (0, run_env_1.createRunEnv)(projectPath);
95
93
  const stateIO = options.stateIO ?? (0, state_io_1.fileStateIO)(projectPath);
96
- // 生效约束集(ADR-0001):内置 → preset → config.yml 禁用 → custom 追加 → scenes 过滤。
94
+ // 生效约束集:内置 → preset → config.yml 禁用。
97
95
  // --preset 仅在没有项目自定义配置时覆盖 config.yml 的 preset(工单 23 语义:
98
96
  // 项目自定义配置优先于 CLI 预设),优先级规则收在 getMergedConstraintsConfig 一处。
99
97
  // CLI 不给 -p 缺省值:没传 = 尊重 config.yml(ADR-0023 步骤 4.5,缺省值曾让两者不可区分)
100
98
  const merged = (0, effective_constraints_1.getMergedConstraintsConfig)(runEnv, { preset: options.preset });
101
- if (merged.custom.length > 0) {
102
- (0, command_contract_1.log)(io, chalk_1.default.gray(`自定义约束: ${merged.custom.length} 条`));
103
- }
104
99
  if (merged.disabled.length > 0) {
105
100
  (0, command_contract_1.log)(io, chalk_1.default.gray(`已禁用约束: ${merged.disabled.join(', ')}`));
106
101
  }
@@ -123,27 +118,27 @@ async function check(options, io = command_contract_1.processIO) {
123
118
  (0, command_contract_1.log)(io, chalk_1.default.gray(`变更文件: ${changedFiles.length} 个`));
124
119
  }
125
120
  (0, command_contract_1.log)(io, chalk_1.default.gray(`触发条件: ${[context.operation, ...(context.extraTriggers ?? [])].join(', ')}`));
126
- // 执行三层检查(per-request 传 customConfig,避免单例状态污染;证据同 run 同源)
121
+ // 执行约束检查(per-request 传 customConfig,避免单例状态污染;证据同 run 同源)
127
122
  // trace 记录器经构造参数接线(harness#88):一次命令一个 checker 实例
128
123
  // #139:收集器锚根构造——不传 projectPath 时 trace 会落进调用方 cwd,B 侧读不到
129
124
  const checker = new checker_1.ConstraintChecker(new traces_1.TraceCollector({ projectPath }));
130
125
  const result = await checker.checkConstraints(context, merged, evidence, runEnv);
131
126
  // 输出结果
132
127
  (0, command_contract_1.log)(io);
133
- // skipped(约定未采用/证据未接线)单独列示,不进 pass/fail 统计(ADR-0001)
128
+ // skipped(约定未采用/证据未接线)单独列示,不进 pass/fail 统计
134
129
  const skippedResults = [
135
- ...result.ironLaws,
136
- ...result.guidelines,
130
+ ...result.errors,
131
+ ...result.warnings,
137
132
  ].filter(r => r.skipped);
138
- // Iron Laws
139
- const evaluatedIronLaws = result.ironLaws.filter(r => !r.skipped);
140
- const ironLawViolations = evaluatedIronLaws.filter(r => !r.satisfied);
141
- if (ironLawViolations.length === 0 && evaluatedIronLaws.length > 0) {
142
- (0, command_contract_1.log)(io, chalk_1.default.green(`✅ 铁律: 全部通过 (${evaluatedIronLaws.length} 条)`));
133
+ // severity='error'(违规即阻断)
134
+ const evaluatedErrors = result.errors.filter(r => !r.skipped);
135
+ const errorViolations = evaluatedErrors.filter(r => !r.satisfied);
136
+ if (errorViolations.length === 0 && evaluatedErrors.length > 0) {
137
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ error 级约束: 全部通过 (${evaluatedErrors.length} 条)`));
143
138
  }
144
- else if (ironLawViolations.length > 0) {
145
- (0, command_contract_1.log)(io, chalk_1.default.red(`❌ 铁律违规: ${ironLawViolations.length} 条`));
146
- ironLawViolations.forEach(r => {
139
+ else if (errorViolations.length > 0) {
140
+ (0, command_contract_1.log)(io, chalk_1.default.red(`❌ error 级约束违规: ${errorViolations.length} 条`));
141
+ errorViolations.forEach(r => {
147
142
  if (r.constraint) {
148
143
  (0, command_contract_1.log)(io, chalk_1.default.red(` - ${r.constraint.id}: ${r.constraint.message}`));
149
144
  (0, command_contract_1.log)(io, chalk_1.default.red(` ${r.constraint.rule}`));
@@ -151,30 +146,30 @@ async function check(options, io = command_contract_1.processIO) {
151
146
  }
152
147
  });
153
148
  (0, command_contract_1.log)(io);
154
- (0, command_contract_1.log)(io, chalk_1.default.red('🛑 铁律检查失败,请修复后再提交'));
149
+ (0, command_contract_1.log)(io, chalk_1.default.red('🛑 error 级约束检查失败,请修复后再提交'));
155
150
  return {
156
151
  kind: 'fail',
157
- reason: `iron law violated: ${ironLawViolations.map(r => r.constraint?.id ?? 'unknown').join(', ')}`,
152
+ reason: `error-severity constraint violated: ${errorViolations.map(r => r.constraint?.id ?? 'unknown').join(', ')}`,
158
153
  };
159
154
  }
160
- // Guidelines
155
+ // severity='warning'(告警不阻断)
161
156
  if (result.warningCount > 0) {
162
- (0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ 指导原则警告: ${result.warningCount} 条`));
163
- result.guidelines.filter(r => !r.satisfied).forEach(r => {
157
+ (0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ warning 级约束警告: ${result.warningCount} 条`));
158
+ result.warnings.filter(r => !r.satisfied).forEach(r => {
164
159
  if (r.constraint) {
165
160
  (0, command_contract_1.log)(io, chalk_1.default.yellow(` - ${r.constraint.id}: ${r.constraint.message}`));
166
161
  logEvidence(io, r, 'yellow');
167
162
  }
168
163
  });
169
164
  }
170
- else if (result.guidelines.length > 0) {
171
- const evaluatedGuidelines = result.guidelines.filter(r => !r.skipped);
172
- const passedGuidelines = evaluatedGuidelines.filter(r => r.satisfied).length;
173
- (0, command_contract_1.log)(io, chalk_1.default.green(`✅ 指导原则: ${passedGuidelines}/${evaluatedGuidelines.length} 通过`));
165
+ else if (result.warnings.length > 0) {
166
+ const evaluatedWarnings = result.warnings.filter(r => !r.skipped);
167
+ const passedWarnings = evaluatedWarnings.filter(r => r.satisfied).length;
168
+ (0, command_contract_1.log)(io, chalk_1.default.green(`✅ warning 级约束: ${passedWarnings}/${evaluatedWarnings.length} 通过`));
174
169
  }
175
170
  // 提示:通过但带证据(harness#119)——与本次变更无因果的仓库级漂移在此露出,
176
171
  // 不判违规、不改 exit code,只保证「看得见且能自己修」
177
- const hints = [...result.ironLaws, ...result.guidelines].filter(r => !r.skipped && r.satisfied && (r.evidence?.length ?? 0) > 0);
172
+ const hints = [...result.errors, ...result.warnings].filter(r => !r.skipped && r.satisfied && (r.evidence?.length ?? 0) > 0);
178
173
  if (hints.length > 0) {
179
174
  (0, command_contract_1.log)(io, chalk_1.default.gray(`💡 提示: ${hints.length} 条(不判违规,供参考)`));
180
175
  hints.forEach(r => logEvidence(io, r, 'gray', r.id));
@@ -186,29 +181,6 @@ async function check(options, io = command_contract_1.processIO) {
186
181
  (0, command_contract_1.log)(io, chalk_1.default.gray(` - ${r.id}`));
187
182
  });
188
183
  }
189
- // 注入漂移校验(ADR-0001 决策 7):黄色警告块,不改 exit code、不影响门禁结果。
190
- // 无漂移/未注入零输出;漂移检测自身异常静默吞掉,绝不影响 check。
191
- try {
192
- // 生效集直接用本 run 那一份:一遍算完,且比对对象就是本次实际执法的规则集(ADR-0023 步骤 4.5)
193
- const drift = (0, injection_drift_1.detectInjectionDrift)(runEnv, undefined, (0, effective_constraints_1.constraintsFromMerged)(merged));
194
- if (drift.hasDrift) {
195
- (0, command_contract_1.log)(io);
196
- (0, command_contract_1.log)(io, chalk_1.default.yellow(`⚠️ 检测到 ${drift.injectionFile ?? '治理文档'} 约束注入漂移(仅警告,不阻断):`));
197
- if (drift.versionDrift) {
198
- (0, command_contract_1.log)(io, chalk_1.default.yellow(` ⚠️⚠️ 注入段版本 (${drift.versionDrift.actual}) ≠ 已安装 harness 版本 (${drift.versionDrift.expected}):agent 上下文中的规则与已安装 harness 版本不一致`));
199
- }
200
- if (drift.contentDrift) {
201
- (0, command_contract_1.log)(io, chalk_1.default.yellow(` 内容漂移: 缺失 ${drift.contentDrift.missing.length} 条 / 多余 ${drift.contentDrift.extra.length} 条(条目级差异见 harness constraints report)`));
202
- }
203
- if (drift.duplicateHeading) {
204
- (0, command_contract_1.log)(io, chalk_1.default.yellow(` 检测到重复的 "${injection_writer_1.GOVERNANCE_HEADING}" 章节`));
205
- }
206
- (0, command_contract_1.log)(io, chalk_1.default.yellow(` 修复: ${drift.fixHint}`));
207
- }
208
- }
209
- catch {
210
- // 漂移检测失败不影响 check 结果
211
- }
212
184
  (0, command_contract_1.log)(io);
213
185
  (0, command_contract_1.log)(io, chalk_1.default.green('✅ 约束检查通过'));
214
186
  // 智能提示
@@ -264,35 +236,26 @@ async function getSmartHint(projectPath, stateIO) {
264
236
  return null;
265
237
  }
266
238
  /**
267
- * 列出所有约束
239
+ * 列出所有约束(按 severity 分组)
268
240
  */
269
241
  /** optionRoutes 一律以 (options) 调用;--list 不消费检查选项,形参仅占位 */
270
242
  function listLaws(_options = {}, io = command_contract_1.processIO) {
271
243
  (0, command_contract_1.log)(io, chalk_1.default.blue('\n📜 所有约束:\n'));
272
- // Iron Laws
273
- (0, command_contract_1.log)(io, chalk_1.default.red('🔴 铁律 (Iron Laws) - 绝对禁止,无例外:\n'));
274
- Object.values(definitions_1.IRON_LAWS).forEach(constraint => {
275
- (0, command_contract_1.log)(io, chalk_1.default.red(` ${constraint.id}`));
276
- (0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.rule}`));
277
- (0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.message}`));
278
- (0, command_contract_1.log)(io);
279
- });
280
- // Guidelines
281
- (0, command_contract_1.log)(io, chalk_1.default.yellow('🟡 指导原则 (Guidelines) - 优先建议,违背发警告但不阻止:\n'));
282
- Object.values(definitions_1.GUIDELINES).forEach(constraint => {
283
- (0, command_contract_1.log)(io, chalk_1.default.yellow(` ${constraint.id}`));
284
- (0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.rule}`));
285
- (0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.message}`));
286
- (0, command_contract_1.log)(io);
287
- });
288
- // Prompts(ADR-0001:纯注入层,不执行检查)
289
- (0, command_contract_1.log)(io, chalk_1.default.blue('🔵 提示 (Prompts) - 纯文本注入,不参与检查:\n'));
290
- Object.values(definitions_1.PROMPTS).forEach(constraint => {
291
- (0, command_contract_1.log)(io, chalk_1.default.blue(` ${constraint.id}`));
292
- (0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.rule}`));
293
- (0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.message}`));
294
- (0, command_contract_1.log)(io);
295
- });
244
+ const groups = [
245
+ { severity: 'error', heading: '🔴 error - 违规即阻断,无例外:', paint: chalk_1.default.red },
246
+ { severity: 'warning', heading: '🟡 warning 级 - 违规发警告但不阻止:', paint: chalk_1.default.yellow },
247
+ ];
248
+ for (const group of groups) {
249
+ (0, command_contract_1.log)(io, group.paint(group.heading + '\n'));
250
+ Object.values(definitions_1.CONSTRAINTS)
251
+ .filter(c => c.severity === group.severity)
252
+ .forEach(constraint => {
253
+ (0, command_contract_1.log)(io, group.paint(` ${constraint.id}`));
254
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.rule}`));
255
+ (0, command_contract_1.log)(io, chalk_1.default.gray(` ${constraint.message}`));
256
+ (0, command_contract_1.log)(io);
257
+ });
258
+ }
296
259
  return { kind: 'ok' };
297
260
  }
298
261
  //# sourceMappingURL=check.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../../src/cli/commands/check.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,13 @@
1
1
  /**
2
- * harness constraints report —— 约束使用报告(ADR-0001 决策 3/4
2
+ * harness constraints report —— 约束使用报告(ADR-0001 决策 3/4,ADR-0029 收窄)
3
3
  *
4
4
  * 只读。面向"人审约束"场景:
5
- * - check 层统计表(total/pass/fail/skip、fail 率、首次/最近触发)
5
+ * - check 约束统计表(total/pass/fail/skip、fail 率、首次/最近触发)
6
6
  * - 退役候选诊断(零触发/零拦截/不可评估/高噪),retire 交互模式的数据源
7
- * - 当前生效 prompt 注入清单
8
7
  * - 配置健康(unknownIds 残留提示)
9
8
  * - --export [file]:脱敏 markdown 摘要(不含项目路径)
10
9
  */
11
10
  import { type ConstraintsUsageReport } from '../../core/constraints/usage-report';
12
- import { type InjectionDrift } from '../../core/constraints/injection-drift';
13
11
  import { type CommandIO, type CommandResult } from '../command-contract';
14
12
  export interface ConstraintsReportOptions {
15
13
  projectPath?: string;
@@ -30,12 +28,6 @@ export interface ConstraintsReportOptions {
30
28
  * 内容为 harness 版本、日期、统计表、候选清单、配置健康。
31
29
  */
32
30
  export declare function renderExportMarkdown(report: ConstraintsUsageReport, version: string, now?: Date): string;
33
- /**
34
- * 渲染"注入漂移"小节的文本行(ADR-0001 决策 7:详细条目级差异进 report)
35
- *
36
- * 返回纯文本行数组(不含 chalk 着色),调用方逐行 console.log。
37
- */
38
- export declare function renderInjectionDriftLines(drift: InjectionDrift): string[];
39
31
  /**
40
32
  * CLI handler: harness constraints report
41
33
  */
@@ -1 +1 @@
1
- {"version":3,"file":"constraints-report.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/constraints-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAIL,KAAK,sBAAsB,EAG5B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAEnG,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,IAAiB,GACrB,MAAM,CA4CR;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,EAAE,CA8BzE;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,EAAE,EAAE,GAAE,SAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAqFjI"}
1
+ {"version":3,"file":"constraints-report.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/constraints-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,EAIL,KAAK,sBAAsB,EAG5B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAkB,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzF,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiBD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,sBAAsB,EAC9B,OAAO,EAAE,MAAM,EACf,GAAG,GAAE,IAAiB,GACrB,MAAM,CA4CR;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,EAAE,EAAE,GAAE,SAAqB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsEjI"}
@@ -1,11 +1,10 @@
1
1
  "use strict";
2
2
  /**
3
- * harness constraints report —— 约束使用报告(ADR-0001 决策 3/4
3
+ * harness constraints report —— 约束使用报告(ADR-0001 决策 3/4,ADR-0029 收窄)
4
4
  *
5
5
  * 只读。面向"人审约束"场景:
6
- * - check 层统计表(total/pass/fail/skip、fail 率、首次/最近触发)
6
+ * - check 约束统计表(total/pass/fail/skip、fail 率、首次/最近触发)
7
7
  * - 退役候选诊断(零触发/零拦截/不可评估/高噪),retire 交互模式的数据源
8
- * - 当前生效 prompt 注入清单
9
8
  * - 配置健康(unknownIds 残留提示)
10
9
  * - --export [file]:脱敏 markdown 摘要(不含项目路径)
11
10
  */
@@ -47,15 +46,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
47
46
  };
48
47
  Object.defineProperty(exports, "__esModule", { value: true });
49
48
  exports.renderExportMarkdown = renderExportMarkdown;
50
- exports.renderInjectionDriftLines = renderInjectionDriftLines;
51
49
  exports.constraintsReport = constraintsReport;
52
50
  const fs = __importStar(require("fs"));
53
51
  const path = __importStar(require("path"));
54
52
  const chalk_1 = __importDefault(require("chalk"));
55
53
  const usage_report_1 = require("../../core/constraints/usage-report");
56
54
  const constraints_1 = require("./constraints");
57
- const injection_drift_1 = require("../../core/constraints/injection-drift");
58
- const injection_writer_1 = require("../../core/constraints/injection-writer");
59
55
  const command_contract_1 = require("../command-contract");
60
56
  function formatTime(ts) {
61
57
  return ts === undefined ? '-' : new Date(ts).toISOString().slice(0, 10);
@@ -86,7 +82,7 @@ function renderExportMarkdown(report, version, now = new Date()) {
86
82
  lines.push(`- ⚠️ trace 文件有 ${report.skippedLines} 行损坏已跳过,下表统计只含其余合法记录`);
87
83
  }
88
84
  lines.push('');
89
- lines.push('## 统计表(check 层)');
85
+ lines.push('## 统计表');
90
86
  lines.push('');
91
87
  lines.push('| id | total | pass | fail | skip | fail 率 | 首次触发 | 最近触发 |');
92
88
  lines.push('| --- | ---: | ---: | ---: | ---: | ---: | --- | --- |');
@@ -115,42 +111,6 @@ function renderExportMarkdown(report, version, now = new Date()) {
115
111
  }
116
112
  return lines.join('\n');
117
113
  }
118
- /**
119
- * 渲染"注入漂移"小节的文本行(ADR-0001 决策 7:详细条目级差异进 report)
120
- *
121
- * 返回纯文本行数组(不含 chalk 着色),调用方逐行 console.log。
122
- */
123
- function renderInjectionDriftLines(drift) {
124
- const lines = [];
125
- if (drift.notInjected) {
126
- lines.push(' CLAUDE.md / AGENTS.md 均无约束注入标记段(未注入,不算漂移);可运行 npx @dommaker/harness init 注入');
127
- if (drift.duplicateHeading) {
128
- lines.push(` 另检测到多个 "${injection_writer_1.GOVERNANCE_HEADING}" 标题(历史遗留重复章节),建议手工清理后重跑 npx @dommaker/harness init`);
129
- }
130
- return lines;
131
- }
132
- if (!drift.hasDrift) {
133
- lines.push(' 无漂移');
134
- return lines;
135
- }
136
- if (drift.versionDrift) {
137
- lines.push(` 版本漂移: 注入段版本 (${drift.versionDrift.actual}) ≠ 当前 harness 版本 (${drift.versionDrift.expected})`);
138
- }
139
- if (drift.contentDrift) {
140
- lines.push(' 内容漂移(条目级差异):');
141
- for (const l of drift.contentDrift.missing) {
142
- lines.push(` 缺失: ${l}`);
143
- }
144
- for (const l of drift.contentDrift.extra) {
145
- lines.push(` 多余: ${l}`);
146
- }
147
- }
148
- if (drift.duplicateHeading) {
149
- lines.push(` 重复章节: 标记段之外还存在另一个 "${injection_writer_1.GOVERNANCE_HEADING}" 标题`);
150
- }
151
- lines.push(` 修复: ${drift.fixHint}`);
152
- return lines;
153
- }
154
114
  /**
155
115
  * CLI handler: harness constraints report
156
116
  */
@@ -177,7 +137,7 @@ async function constraintsReport(options = {}, io = command_contract_1.processIO
177
137
  }
178
138
  (0, command_contract_1.log)(io);
179
139
  // 统计表
180
- (0, command_contract_1.log)(io, chalk_1.default.bold('统计表(check 层):'));
140
+ (0, command_contract_1.log)(io, chalk_1.default.bold('统计表:'));
181
141
  for (const s of report.stats) {
182
142
  (0, command_contract_1.log)(io, ` ${renderStatsRow(s)}`);
183
143
  }
@@ -194,12 +154,6 @@ async function constraintsReport(options = {}, io = command_contract_1.processIO
194
154
  (0, command_contract_1.log)(io, chalk_1.default.gray(' 可运行 `harness constraints retire` 交互式处理候选'));
195
155
  }
196
156
  (0, command_contract_1.log)(io);
197
- // 注入清单
198
- (0, command_contract_1.log)(io, chalk_1.default.bold(`当前生效 prompt 注入(${report.activePromptIds.length} 条):`));
199
- for (const id of report.activePromptIds) {
200
- (0, command_contract_1.log)(io, ` ${id}`);
201
- }
202
- (0, command_contract_1.log)(io);
203
157
  // 配置健康
204
158
  if (report.lint.unknownIds.length > 0) {
205
159
  (0, command_contract_1.log)(io, chalk_1.default.yellow('⚠️ 配置健康:'));
@@ -208,13 +162,6 @@ async function constraintsReport(options = {}, io = command_contract_1.processIO
208
162
  }
209
163
  (0, command_contract_1.log)(io);
210
164
  }
211
- // 注入漂移(ADR-0001 决策 7:条目级差异 + 修复指引;--export 摘要不含本地漂移状态)
212
- (0, command_contract_1.log)(io, chalk_1.default.bold('注入漂移:'));
213
- const drift = (0, injection_drift_1.detectInjectionDrift)(projectRoot);
214
- for (const line of renderInjectionDriftLines(drift)) {
215
- (0, command_contract_1.log)(io, drift.hasDrift ? chalk_1.default.yellow(line) : line);
216
- }
217
- (0, command_contract_1.log)(io);
218
165
  // --export
219
166
  if (options.export !== undefined && options.export !== false) {
220
167
  const version = (0, constraints_1.getConstraintsMeta)().version;
@@ -1 +1 @@
1
- {"version":3,"file":"constraints-report.js","sourceRoot":"","sources":["../../../src/cli/commands/constraints-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraints-report.js","sourceRoot":"","sources":["../../../src/cli/commands/constraints-report.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,22 @@
1
1
  /**
2
- * harness constraints retire —— 约束退役(ADR-0001 决策 2/5
2
+ * harness constraints retire —— 约束退役(ADR-0001 决策 2/5,ADR-0029 收窄)
3
3
  *
4
4
  * 建议层全自动(候选诊断复用 report 数据层),执行层保留一次人确认。
5
- * 落盘形态(studio#82 D6 一处真相):
5
+ * 落盘形态(一处真相):
6
6
  *
7
- * - 内置约束 → config.yml `enabled: false` + `retired` 元数据:
7
+ * - config.yml `enabled: false` + `retired` 元数据:
8
8
  *
9
9
  * constraints:
10
10
  * <id>:
11
11
  * enabled: false
12
12
  * retired: { at, reason, stats: { total, fail, failRate } }
13
13
  *
14
- * - custom 约束 → custom-constraints.yml 条目内 `retired` 元数据段
15
- * (不拆 config.yml 第二处):
14
+ * 每条同时写一条 KnowledgeStore 记录(consumptionMode: 'signal')。
16
15
  *
17
- * custom_constraints:
18
- * <id>:
19
- * rule: ...
20
- * retired: { at, reason, stats: { total, fail, failRate } }
21
- *
22
- * 每条同时写一条 KnowledgeStore 记录(consumptionMode: 'signal'),
23
- * 并同步治理注入段(CLAUDE.md 或 AGENTS.md,存在 HARNESS_CONSTRAINTS 标记时;
24
- * 落点路由与 init 一致,见 core/constraints/injection-drift resolveInjectionTarget)。
16
+ * ADR-0029:custom 纯文本约束与治理注入段同步已随文本注入层关停一并退役,
17
+ * retire 只处理内置 check 约束。
25
18
  *
26
- * retire 不是删除——恢复方法:内置删 config.yml 中 constraints.<id> 段;
27
- * custom 删 custom-constraints.yml 中 custom_constraints.<id>.retired 段。
19
+ * retire 不是删除——恢复方法:删 config.yml 中 constraints.<id> 段。
28
20
  *
29
21
  * 交互与执行分离:retireConstraint 为纯执行逻辑(同步、可测),
30
22
  * runRetireInteractive 只做 readline 交互,IO 流可注入。
@@ -40,19 +32,13 @@ export type RetireStatus = 'retired' | 'already_retired' | 'unknown_id';
40
32
  export interface RetireResult {
41
33
  id: string;
42
34
  status: RetireStatus;
43
- /** 是否 check 层 iron(交互模式据此追加确认) */
44
- isIronLaw: boolean;
45
- /** 退役落点:custom 约束落 custom-constraints.yml(studio#82 D6),内置落 config.yml */
46
- landing: 'config.yml' | 'custom-constraints.yml';
35
+ /** 是否 severity='error'(交互模式据此追加确认) */
36
+ isError: boolean;
47
37
  stats: {
48
38
  total: number;
49
39
  fail: number;
50
40
  failRate: number;
51
41
  };
52
- /** 治理注入段(CLAUDE.md / AGENTS.md)是否已同步 */
53
- injectionSynced: boolean;
54
- /** 实际同步的落点文件(injectionSynced 时存在) */
55
- injectionFile?: string;
56
42
  /** KnowledgeStore 条目 id(status='retired' 时存在) */
57
43
  knowledgeEntryId?: string;
58
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"constraints-retire.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/constraints-retire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAKH,OAAO,EAA4B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAoBnG,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,kCAAkC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,0EAA0E;IAC1E,OAAO,EAAE,YAAY,GAAG,wBAAwB,CAAC;IACjD,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAwKD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,oBAAyB,GACjC,YAAY,CA8Ed;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,GAAE,SAAqB,GAAG,aAAa,CAwBhG;AAMD,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;CAC/B;AAUD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,EAAE,GAAE,QAA2D,GAC9D,OAAO,CAAC,aAAa,CAAC,CAkGxB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,GAAE,wBAA6B,EACtC,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA8BxB"}
1
+ {"version":3,"file":"constraints-retire.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/constraints-retire.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,OAAO,EAA4B,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAgBnG,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;AAExE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,YAAY,CAAC;IACrB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,iDAAiD;IACjD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAwHD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,OAAO,GAAE,oBAAyB,GACjC,YAAY,CAqDd;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,GAAE,SAAqB,GAAG,aAAa,CAiBhG;AAMD,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;CAC/B;AAUD;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,EAAE,GAAE,QAA2D,GAC9D,OAAO,CAAC,aAAa,CAAC,CA2FxB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,CAAC,EAAE,MAAM,EACX,OAAO,GAAE,wBAA6B,EACtC,EAAE,GAAE,SAAqB,GACxB,OAAO,CAAC,aAAa,CAAC,CA8BxB"}