@dommaker/harness 1.8.1 → 1.10.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 (299) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +10 -13
  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.js +2 -2
  20. package/dist/cli/commands/init.d.ts +0 -32
  21. package/dist/cli/commands/init.d.ts.map +1 -1
  22. package/dist/cli/commands/init.js +7 -149
  23. package/dist/cli/commands/init.js.map +1 -1
  24. package/dist/cli/commands/report.d.ts.map +1 -1
  25. package/dist/cli/commands/report.js +14 -17
  26. package/dist/cli/commands/report.js.map +1 -1
  27. package/dist/cli/commands/scaffold-templates.d.ts +0 -2
  28. package/dist/cli/commands/scaffold-templates.d.ts.map +1 -1
  29. package/dist/cli/commands/scaffold-templates.js +2 -37
  30. package/dist/cli/commands/scaffold-templates.js.map +1 -1
  31. package/dist/cli/commands/scaffold.d.ts +0 -2
  32. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  33. package/dist/cli/commands/scaffold.js +0 -10
  34. package/dist/cli/commands/scaffold.js.map +1 -1
  35. package/dist/cli/commands/status.js +10 -10
  36. package/dist/cli/commands/status.js.map +1 -1
  37. package/dist/cli/commands/sync-docs/agents-syncer.d.ts +0 -2
  38. package/dist/cli/commands/sync-docs/agents-syncer.d.ts.map +1 -1
  39. package/dist/cli/commands/sync-docs/agents-syncer.js +4 -23
  40. package/dist/cli/commands/sync-docs/agents-syncer.js.map +1 -1
  41. package/dist/cli/commands/sync-docs/capabilities-syncer.d.ts +22 -0
  42. package/dist/cli/commands/sync-docs/capabilities-syncer.d.ts.map +1 -1
  43. package/dist/cli/commands/sync-docs/capabilities-syncer.js +113 -8
  44. package/dist/cli/commands/sync-docs/capabilities-syncer.js.map +1 -1
  45. package/dist/cli/commands/sync-docs/index.d.ts.map +1 -1
  46. package/dist/cli/commands/sync-docs/index.js +36 -4
  47. package/dist/cli/commands/sync-docs/index.js.map +1 -1
  48. package/dist/core/constraints/capabilities-parser.d.ts.map +1 -1
  49. package/dist/core/constraints/capabilities-parser.js +16 -4
  50. package/dist/core/constraints/capabilities-parser.js.map +1 -1
  51. package/dist/core/constraints/checker.d.ts +15 -24
  52. package/dist/core/constraints/checker.d.ts.map +1 -1
  53. package/dist/core/constraints/checker.js +33 -72
  54. package/dist/core/constraints/checker.js.map +1 -1
  55. package/dist/core/constraints/checkers/docs-freshness.js +1 -1
  56. package/dist/core/constraints/checkers/docs-freshness.js.map +1 -1
  57. package/dist/core/constraints/checkers/governance-presence.d.ts +2 -1
  58. package/dist/core/constraints/checkers/governance-presence.d.ts.map +1 -1
  59. package/dist/core/constraints/checkers/governance-presence.js +4 -3
  60. package/dist/core/constraints/checkers/governance-presence.js.map +1 -1
  61. package/dist/core/constraints/checkers/index.d.ts +1 -1
  62. package/dist/core/constraints/checkers/index.d.ts.map +1 -1
  63. package/dist/core/constraints/checkers/index.js +4 -8
  64. package/dist/core/constraints/checkers/index.js.map +1 -1
  65. package/dist/core/constraints/checkers/iron-flags.d.ts +3 -4
  66. package/dist/core/constraints/checkers/iron-flags.d.ts.map +1 -1
  67. package/dist/core/constraints/checkers/iron-flags.js +4 -5
  68. package/dist/core/constraints/checkers/iron-flags.js.map +1 -1
  69. package/dist/core/constraints/checkers/no-test-simplification.js +1 -1
  70. package/dist/core/constraints/checkers/no-test-simplification.js.map +1 -1
  71. package/dist/core/constraints/checkers/types.d.ts +1 -1
  72. package/dist/core/constraints/checkers/types.js +1 -1
  73. package/dist/core/constraints/definitions/guidelines.d.ts +4 -4
  74. package/dist/core/constraints/definitions/guidelines.d.ts.map +1 -1
  75. package/dist/core/constraints/definitions/guidelines.js +9 -25
  76. package/dist/core/constraints/definitions/guidelines.js.map +1 -1
  77. package/dist/core/constraints/definitions/iron-laws.d.ts +4 -4
  78. package/dist/core/constraints/definitions/iron-laws.d.ts.map +1 -1
  79. package/dist/core/constraints/definitions/iron-laws.js +10 -81
  80. package/dist/core/constraints/definitions/iron-laws.js.map +1 -1
  81. package/dist/core/constraints/definitions.d.ts +7 -9
  82. package/dist/core/constraints/definitions.d.ts.map +1 -1
  83. package/dist/core/constraints/definitions.js +13 -16
  84. package/dist/core/constraints/definitions.js.map +1 -1
  85. package/dist/core/constraints/index.d.ts +2 -5
  86. package/dist/core/constraints/index.d.ts.map +1 -1
  87. package/dist/core/constraints/index.js +3 -13
  88. package/dist/core/constraints/index.js.map +1 -1
  89. package/dist/core/constraints/injection-writer.d.ts +10 -38
  90. package/dist/core/constraints/injection-writer.d.ts.map +1 -1
  91. package/dist/core/constraints/injection-writer.js +17 -54
  92. package/dist/core/constraints/injection-writer.js.map +1 -1
  93. package/dist/core/constraints/run-env.d.ts +1 -10
  94. package/dist/core/constraints/run-env.d.ts.map +1 -1
  95. package/dist/core/constraints/run-env.js +1 -22
  96. package/dist/core/constraints/run-env.js.map +1 -1
  97. package/dist/core/constraints/usage-report.d.ts +5 -7
  98. package/dist/core/constraints/usage-report.d.ts.map +1 -1
  99. package/dist/core/constraints/usage-report.js +5 -10
  100. package/dist/core/constraints/usage-report.js.map +1 -1
  101. package/dist/core/effective-constraints.d.ts +12 -22
  102. package/dist/core/effective-constraints.d.ts.map +1 -1
  103. package/dist/core/effective-constraints.js +13 -30
  104. package/dist/core/effective-constraints.js.map +1 -1
  105. package/dist/core/index.d.ts +2 -2
  106. package/dist/core/index.d.ts.map +1 -1
  107. package/dist/core/index.js +3 -9
  108. package/dist/core/index.js.map +1 -1
  109. package/dist/core/project-config-loader.d.ts +4 -42
  110. package/dist/core/project-config-loader.d.ts.map +1 -1
  111. package/dist/core/project-config-loader.js +16 -125
  112. package/dist/core/project-config-loader.js.map +1 -1
  113. package/dist/core/validators/passes-gate.d.ts +2 -2
  114. package/dist/core/validators/passes-gate.js +6 -6
  115. package/dist/core/validators/passes-gate.js.map +1 -1
  116. package/dist/hooks/bootstrap.d.ts +9 -12
  117. package/dist/hooks/bootstrap.d.ts.map +1 -1
  118. package/dist/hooks/bootstrap.js +9 -31
  119. package/dist/hooks/bootstrap.js.map +1 -1
  120. package/dist/hooks/index.d.ts +5 -7
  121. package/dist/hooks/index.d.ts.map +1 -1
  122. package/dist/hooks/index.js +4 -10
  123. package/dist/hooks/index.js.map +1 -1
  124. package/dist/index.d.ts +9 -12
  125. package/dist/index.d.ts.map +1 -1
  126. package/dist/index.js +10 -23
  127. package/dist/index.js.map +1 -1
  128. package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
  129. package/dist/monitoring/trace-analyzer.js +11 -12
  130. package/dist/monitoring/trace-analyzer.js.map +1 -1
  131. package/dist/monitoring/traces.d.ts +4 -4
  132. package/dist/monitoring/traces.d.ts.map +1 -1
  133. package/dist/monitoring/traces.js +8 -8
  134. package/dist/monitoring/traces.js.map +1 -1
  135. package/dist/presets/standard.d.ts +8 -10
  136. package/dist/presets/standard.d.ts.map +1 -1
  137. package/dist/presets/standard.js +10 -16
  138. package/dist/presets/standard.js.map +1 -1
  139. package/dist/types/constraint.d.ts +24 -35
  140. package/dist/types/constraint.d.ts.map +1 -1
  141. package/dist/types/constraint.js +8 -7
  142. package/dist/types/constraint.js.map +1 -1
  143. package/dist/types/passes-gate.d.ts +5 -5
  144. package/dist/types/passes-gate.d.ts.map +1 -1
  145. package/dist/types/project-config.d.ts +8 -66
  146. package/dist/types/project-config.d.ts.map +1 -1
  147. package/dist/types/project-config.js +3 -2
  148. package/dist/types/project-config.js.map +1 -1
  149. package/dist/types/trace.d.ts +8 -10
  150. package/dist/types/trace.d.ts.map +1 -1
  151. package/package.json +2 -2
  152. package/src/CONTEXT.md +3 -3
  153. package/src/__tests__/checker-extra.test.ts +37 -61
  154. package/src/__tests__/checker.test.ts +10 -115
  155. package/src/__tests__/effective-constraints.test.ts +18 -83
  156. package/src/__tests__/iron-laws.test.ts +71 -90
  157. package/src/__tests__/passes-gate-check.test.ts +2 -2
  158. package/src/__tests__/project-config-loader-extra.test.ts +22 -123
  159. package/src/__tests__/project-config-loader.test.ts +5 -33
  160. package/src/__tests__/public-exports.test.ts +31 -11
  161. package/src/__tests__/public-type-surface.test.ts +2 -13
  162. package/src/__tests__/public-value-surface.test.ts +1 -7
  163. package/src/__tests__/skip-semantics.test.ts +21 -37
  164. package/src/__tests__/trace-analyzer-extra.test.ts +14 -14
  165. package/src/__tests__/trace-analyzer.test.ts +21 -21
  166. package/src/__tests__/trace-collector.test.ts +22 -22
  167. package/src/__tests__/traces.test.ts +27 -28
  168. package/src/cli/commands/CONTEXT.md +12 -9
  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.test.ts +12 -80
  173. package/src/cli/commands/__tests__/constraints-retire.test.ts +42 -231
  174. package/src/cli/commands/__tests__/init-governance-io.test.ts +12 -58
  175. package/src/cli/commands/__tests__/init-ondisk.test.ts +12 -20
  176. package/src/cli/commands/__tests__/init.test.ts +0 -11
  177. package/src/cli/commands/__tests__/project-path-anchoring.test.ts +2 -2
  178. package/src/cli/commands/__tests__/registry.test.ts +39 -3
  179. package/src/cli/commands/__tests__/report-extra.test.ts +4 -4
  180. package/src/cli/commands/__tests__/report.test.ts +1 -1
  181. package/src/cli/commands/__tests__/scaffold.test.ts +4 -14
  182. package/src/cli/commands/__tests__/status-analysis-wiring.test.ts +3 -3
  183. package/src/cli/commands/__tests__/status-extra.test.ts +14 -14
  184. package/src/cli/commands/__tests__/status.test.ts +12 -12
  185. package/src/cli/commands/__tests__/sync-docs-agents.test.ts +1 -1
  186. package/src/cli/commands/__tests__/sync-docs-table-layout.test.ts +259 -0
  187. package/src/cli/commands/check.ts +43 -82
  188. package/src/cli/commands/constraints-report.ts +4 -59
  189. package/src/cli/commands/constraints-retire.ts +49 -154
  190. package/src/cli/commands/constraints.ts +11 -26
  191. package/src/cli/commands/definitions.ts +2 -2
  192. package/src/cli/commands/init.ts +8 -179
  193. package/src/cli/commands/report.ts +19 -23
  194. package/src/cli/commands/scaffold-templates.ts +1 -37
  195. package/src/cli/commands/scaffold.ts +0 -11
  196. package/src/cli/commands/status.ts +10 -10
  197. package/src/cli/commands/sync-docs/agents-syncer.ts +4 -25
  198. package/src/cli/commands/sync-docs/capabilities-syncer.ts +139 -9
  199. package/src/cli/commands/sync-docs/index.ts +41 -4
  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 +8 -15
  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/CONTEXT.md +12 -22
  231. package/src/hooks/__tests__/bootstrap.test.ts +24 -75
  232. package/src/hooks/bootstrap.ts +9 -48
  233. package/src/hooks/index.ts +5 -20
  234. package/src/index.ts +9 -31
  235. package/src/monitoring/__tests__/trace-file-anchoring.test.ts +1 -1
  236. package/src/monitoring/__tests__/traces.test.ts +22 -22
  237. package/src/monitoring/trace-analyzer.ts +12 -13
  238. package/src/monitoring/traces.ts +8 -8
  239. package/src/presets/__tests__/standard.test.ts +12 -16
  240. package/src/presets/standard.ts +14 -23
  241. package/src/types/__tests__/types.test.ts +3 -3
  242. package/src/types/constraint.ts +26 -40
  243. package/src/types/passes-gate.ts +5 -5
  244. package/src/types/project-config.ts +8 -77
  245. package/src/types/trace.ts +8 -11
  246. package/dist/core/constraints/agent-prompt-renderer.d.ts +0 -32
  247. package/dist/core/constraints/agent-prompt-renderer.d.ts.map +0 -1
  248. package/dist/core/constraints/agent-prompt-renderer.js +0 -55
  249. package/dist/core/constraints/agent-prompt-renderer.js.map +0 -1
  250. package/dist/core/constraints/checkers/no-bypass-checkpoint.d.ts +0 -6
  251. package/dist/core/constraints/checkers/no-bypass-checkpoint.d.ts.map +0 -1
  252. package/dist/core/constraints/checkers/no-bypass-checkpoint.js +0 -40
  253. package/dist/core/constraints/checkers/no-bypass-checkpoint.js.map +0 -1
  254. package/dist/core/constraints/definitions/prompts.d.ts +0 -12
  255. package/dist/core/constraints/definitions/prompts.d.ts.map +0 -1
  256. package/dist/core/constraints/definitions/prompts.js +0 -400
  257. package/dist/core/constraints/definitions/prompts.js.map +0 -1
  258. package/dist/core/constraints/injection-drift.d.ts +0 -61
  259. package/dist/core/constraints/injection-drift.d.ts.map +0 -1
  260. package/dist/core/constraints/injection-drift.js +0 -131
  261. package/dist/core/constraints/injection-drift.js.map +0 -1
  262. package/dist/core/constraints/injection-renderer.d.ts +0 -23
  263. package/dist/core/constraints/injection-renderer.d.ts.map +0 -1
  264. package/dist/core/constraints/injection-renderer.js +0 -44
  265. package/dist/core/constraints/injection-renderer.js.map +0 -1
  266. package/dist/hooks/config.d.ts +0 -30
  267. package/dist/hooks/config.d.ts.map +0 -1
  268. package/dist/hooks/config.js +0 -34
  269. package/dist/hooks/config.js.map +0 -1
  270. package/dist/hooks/pipeline.d.ts +0 -54
  271. package/dist/hooks/pipeline.d.ts.map +0 -1
  272. package/dist/hooks/pipeline.js +0 -173
  273. package/dist/hooks/pipeline.js.map +0 -1
  274. package/dist/hooks/registry.d.ts +0 -70
  275. package/dist/hooks/registry.d.ts.map +0 -1
  276. package/dist/hooks/registry.js +0 -141
  277. package/dist/hooks/registry.js.map +0 -1
  278. package/dist/hooks/types.d.ts +0 -113
  279. package/dist/hooks/types.d.ts.map +0 -1
  280. package/dist/hooks/types.js +0 -9
  281. package/dist/hooks/types.js.map +0 -1
  282. package/src/__tests__/hooks-pipeline.test.ts +0 -201
  283. package/src/cli/commands/__tests__/check-drift.test.ts +0 -158
  284. package/src/cli/commands/__tests__/init-injection.test.ts +0 -466
  285. package/src/core/constraints/__tests__/agent-prompt-renderer.test.ts +0 -129
  286. package/src/core/constraints/__tests__/injection-drift.test.ts +0 -247
  287. package/src/core/constraints/agent-prompt-renderer.ts +0 -67
  288. package/src/core/constraints/checkers/__tests__/no-bypass-checkpoint.test.ts +0 -76
  289. package/src/core/constraints/checkers/no-bypass-checkpoint.ts +0 -40
  290. package/src/core/constraints/definitions/prompts.ts +0 -414
  291. package/src/core/constraints/injection-drift.ts +0 -142
  292. package/src/core/constraints/injection-renderer.ts +0 -44
  293. package/src/hooks/__tests__/config.test.ts +0 -19
  294. package/src/hooks/__tests__/pipeline.test.ts +0 -195
  295. package/src/hooks/__tests__/registry.test.ts +0 -115
  296. package/src/hooks/config.ts +0 -33
  297. package/src/hooks/pipeline.ts +0 -202
  298. package/src/hooks/registry.ts +0 -166
  299. package/src/hooks/types.ts +0 -120
@@ -1,30 +1,24 @@
1
1
  "use strict";
2
2
  /**
3
- * 治理注入段落点写入器(架构评审候选1,ADR-0011)
3
+ * 标记区间写入器 + 治理正本探测(架构评审候选1,ADR-0011)
4
4
  *
5
- * 「按渲染 body 替换标记区间 + 尾换行规一」的切片数学此前手抄 4 份
6
- * (init.ts 三个 writer / constraints-retire 一份),落点路由读写两侧各抄一份。
7
- * 本模块是唯一 writer:init/retire 退化为「渲染 body + 调 writer」。
5
+ * ADR-0029:约束注入段(HARNESS_CONSTRAINTS)已整体关停——本模块不再承担
6
+ * 注入段渲染/落点路由(resolveInjectionTarget / resolveGovernanceLanding 随删),
7
+ * 保留的是通用机制:
8
8
  *
9
- * 形状两种(排版约定不同,非"算哪些"的差异,故合法分叉):
9
+ * 「按渲染 body 替换标记区间 + 尾换行规一」的切片数学。形状两种
10
+ * (排版约定不同,非"算哪些"的差异,故合法分叉):
10
11
  * - replaceStandaloneRange:区间独立成节,END 标记后折叠为恰好一个空行
11
- * (CLAUDE.md 约束段 / Output Style 段 / retire 注入段同步)
12
+ * (CLAUDE.md Output Style 段)
12
13
  * - replaceEnclosedRange:区间后紧跟外层收口标记(AGENTS.md PRESERVE 段内
13
- * 的 HARNESS_CONSTRAINTS 区间)——恰好剥一个换行,手写余文原样落回
14
+ * 区间)——恰好剥一个换行,手写余文原样落回
14
15
  *
15
16
  * 半标记守护:单边缺失或顺序颠倒 → 'half',拒写(旧实现此时或追加出双份
16
17
  * 正本或产生乱序切片,属二次损坏路径,收紧为告警交人工,见 ADR-0011)。
17
18
  *
18
- * 落点路由同规则一份:
19
- * - resolveInjectionTarget:读侧(漂移检测/retire 同步)——CLAUDE.md 有完整
20
- * 标记段优先(旧模型仓豁免),否则 AGENTS.md(新模型仓住 PRESERVE 段内)
21
- * - resolveGovernanceLanding:写侧(init 落点选择)——额外承认 CLAUDE.md
22
- * 无标记的 `## Governance Rules` 旧块(续写不制造双份正本)
23
- *
24
19
  * 探测/判定同住本模块(#83,ADR-0011 补注:收口范围含探测器,不只写器)——
25
- * 「这份文档里有没有治理契约 / 有几个正本标题」此前手抄 4 份且正则已漂移,
26
- * 见文末 GOVERNANCE_HEADING / hasGovernanceContract / countGovernanceHeadings /
27
- * hasPreserveBlock。
20
+ * 「这份文档里有没有治理契约 / 有几个正本标题」,见文末 GOVERNANCE_HEADING /
21
+ * hasGovernanceContract / countGovernanceHeadings / hasPreserveBlock。
28
22
  */
29
23
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
30
24
  if (k2 === undefined) k2 = k;
@@ -60,21 +54,15 @@ var __importStar = (this && this.__importStar) || (function () {
60
54
  };
61
55
  })();
62
56
  Object.defineProperty(exports, "__esModule", { value: true });
63
- exports.GOVERNANCE_HEADING = exports.INJECTION_FILES = void 0;
57
+ exports.GOVERNANCE_HEADING = void 0;
64
58
  exports.readIfExists = readIfExists;
65
59
  exports.cutMarkerBlock = cutMarkerBlock;
66
60
  exports.replaceStandaloneRange = replaceStandaloneRange;
67
61
  exports.replaceEnclosedRange = replaceEnclosedRange;
68
- exports.resolveInjectionTarget = resolveInjectionTarget;
69
- exports.resolveGovernanceLanding = resolveGovernanceLanding;
70
62
  exports.hasGovernanceContract = hasGovernanceContract;
71
63
  exports.countGovernanceHeadings = countGovernanceHeadings;
72
64
  exports.hasPreserveBlock = hasPreserveBlock;
73
65
  const fs = __importStar(require("fs"));
74
- const path = __importStar(require("path"));
75
- const injection_renderer_1 = require("./injection-renderer");
76
- /** 注入段落点文件名(检测顺序即路由优先级:旧模型仓 CLAUDE.md 优先) */
77
- exports.INJECTION_FILES = ['CLAUDE.md', 'AGENTS.md'];
78
66
  function readIfExists(filePath) {
79
67
  try {
80
68
  const content = fs.readFileSync(filePath, 'utf-8');
@@ -136,35 +124,6 @@ function replaceEnclosedRange(content, begin, end, body) {
136
124
  content: content.slice(0, pair.startIdx) + body + tail,
137
125
  };
138
126
  }
139
- /**
140
- * 读侧路由:定位含完整 HARNESS_CONSTRAINTS 标记段的文件(studio #307)。
141
- * detectInjectionDrift 与 retire 注入段同步共用。
142
- */
143
- function resolveInjectionTarget(projectRoot) {
144
- for (const file of exports.INJECTION_FILES) {
145
- const content = readIfExists(path.join(projectRoot, file));
146
- if (content === null)
147
- continue;
148
- const startIdx = content.indexOf(injection_renderer_1.CONSTRAINTS_START_MARKER);
149
- const endIdx = content.indexOf(injection_renderer_1.CONSTRAINTS_END_MARKER);
150
- if (startIdx !== -1 && endIdx !== -1 && endIdx > startIdx) {
151
- return { file, content, startIdx, endIdx };
152
- }
153
- }
154
- return null;
155
- }
156
- /**
157
- * 写侧路由(init 落点选择,原 setupGovernanceConstraints 内联判定收于此):
158
- * CLAUDE.md 有约束标记段或有旧版 `## Governance Rules` 块 → 续写 CLAUDE.md
159
- * (旧模型仓豁免,不制造双份正本);否则 AGENTS.md PRESERVE:governance。
160
- */
161
- function resolveGovernanceLanding(projectRoot) {
162
- const claudeContent = readIfExists(path.join(projectRoot, 'CLAUDE.md'));
163
- if (claudeContent !== null && hasGovernanceContract(claudeContent)) {
164
- return { target: 'claude-md', claudeContent };
165
- }
166
- return { target: 'agents-md', claudeContent };
167
- }
168
127
  /**
169
128
  * 治理正本标题字面量(单一来源,#83):init 的标题写点与下列两个判定谓词
170
129
  * 都由它派生,仓内不再本地拼写。字面量无正则元字符,可直接拼入 RegExp。
@@ -180,8 +139,12 @@ const GOVERNANCE_HEADING_TEXT = exports.GOVERNANCE_HEADING.replace(/^##\s+/, '')
180
139
  const GOVERNANCE_HEADING_LOOSE_RE = new RegExp(`^##\\s+${GOVERNANCE_HEADING_TEXT}`, 'm');
181
140
  /** 严格标题正则:精确拼写 + 行尾锚定(行尾仅容忍空白) */
182
141
  const GOVERNANCE_HEADING_STRICT_RE = new RegExp(`^${exports.GOVERNANCE_HEADING}[ \\t]*$`, 'gm');
183
- /** 约束标记裸文本(去注释壳),宽松谓词按「标记文本在场」判定,容忍壳残缺 */
184
- const CONSTRAINTS_START_TEXT = injection_renderer_1.CONSTRAINTS_START_MARKER.replace(/^<!--\s*|\s*-->$/g, '');
142
+ /**
143
+ * 历史注入段标记裸文本(ADR-0029:注入段已关停,此处仅作历史兼容判据——
144
+ * 旧仓残留的 HARNESS_CONSTRAINTS 段仍算治理契约在场)。宽松谓词按「标记文本
145
+ * 在场」判定,容忍注释壳残缺。
146
+ */
147
+ const CONSTRAINTS_START_TEXT = 'HARNESS_CONSTRAINTS_START';
185
148
  /**
186
149
  * 宽松谓词:内容里是否有治理契约在场——标题宽松匹配或 HARNESS 约束标记
187
150
  * 文本在场即算。fail-open 偏向:排版漂移宁可信其有,漏报「约束正本静默
@@ -1 +1 @@
1
- {"version":3,"file":"injection-writer.js","sourceRoot":"","sources":["../../../src/core/constraints/injection-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"injection-writer.js","sourceRoot":"","sources":["../../../src/core/constraints/injection-writer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBH,oCAOC;AAeD,wCAQC;AAMD,wDAQC;AAMD,oDAQC;AAkCD,sDAEC;AAOD,0DAEC;AAUD,4CAeC;AAhJD,uCAAyB;AAgBzB,SAAgB,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,yBAAyB;AACzB,SAAS,QAAQ,CAAC,OAAe,EAAE,KAAa,EAAE,GAAW;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACtD,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ;QAAE,OAAO,MAAM,CAAC;IACzE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,CAAC,OAAe,EAAE,KAAa,EAAE,GAAW;IACxE,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC;QACvC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;QAC/D,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;KAC/C,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB,CAAC,OAAe,EAAE,KAAa,EAAE,GAAW,EAAE,IAAY;IAC9F,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC1E,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9E,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,oBAAoB,CAAC,OAAe,EAAE,KAAa,EAAE,GAAW,EAAE,IAAY;IAC5F,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3C,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI;KACvD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACU,QAAA,kBAAkB,GAAG,qBAAqB,CAAC;AAExD,iDAAiD;AACjD,MAAM,uBAAuB,GAAG,0BAAkB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAEzE,gDAAgD;AAChD,MAAM,2BAA2B,GAAG,IAAI,MAAM,CAAC,UAAU,uBAAuB,EAAE,EAAE,GAAG,CAAC,CAAC;AAEzF,kCAAkC;AAClC,MAAM,4BAA4B,GAAG,IAAI,MAAM,CAAC,IAAI,0BAAkB,UAAU,EAAE,IAAI,CAAC,CAAC;AAExF;;;;GAIG;AACH,MAAM,sBAAsB,GAAG,2BAA2B,CAAC;AAE3D;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAC/F,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,OAAe;IACrD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;AACpE,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAAC,OAAe,EAAE,IAAY;IAC5D,MAAM,WAAW,GAAG,iBAAiB,IAAI,MAAM,CAAC;IAChD,MAAM,SAAS,GAAG,kBAAkB,IAAI,MAAM,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC;IACtE,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/B,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,GAAG,CAAC,CAAC;YACR,MAAM;QACR,CAAC;IACH,CAAC;IACD,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;AAClE,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * 运行级观察面(ADR-0023 决策 1)
3
3
  *
4
4
  * 一次 `harness check` 一份、跑完即弃:把「本项目有哪些源码根」「最近的 trace 记录」
5
- * 「`.harness/config.yml` 与自定义约束文件写了什么」这类上行数据的读取收在此处,
5
+ * 「`.harness/config.yml` 写了什么」这类上行数据的读取收在此处,
6
6
  * 同一次运行内每个文件至多读一次。
7
7
  *
8
8
  * 为什么不是一个对象而是两个:checker 拿到的 `CheckEnv` 里含 `context`,而 `context` 正是
@@ -15,7 +15,6 @@
15
15
  import { type CapabilityVerdict } from './capabilities-reconcile';
16
16
  import { type JsonlReadResult } from '../../utils/jsonl';
17
17
  import { type ExecutionTrace } from '../../types/trace';
18
- import type { CustomConstraintDefinition } from '../../types/project-config';
19
18
  /** 能力表在项目根下的落点(checker 侧存在性探测与本读面共用此常量) */
20
19
  export declare const CAPABILITIES_FILE_REL = "CAPABILITIES.md";
21
20
  /**
@@ -38,14 +37,6 @@ export interface RunEnv {
38
37
  * 空文件 → `{}`;YAML 解析失败 → **抛出**(兜底与否属各消费方的判定,不在读面上替它决定)。
39
38
  */
40
39
  rawConfig(): Record<string, unknown> | undefined;
41
- /**
42
- * `.harness/<fileName>` 里的自定义约束定义(一次运行内同名文件至多读一次)
43
- *
44
- * 文件名由消费方(ProjectConfigLoader)从合并后的 config 解析后传入——
45
- * 「`custom_constraints_file` 怎么写才算数」属加载器口径,不在读面上判。
46
- * 文件缺失或无 `custom_constraints` 段 → `{}`(与改前的直读逐字一致)。
47
- */
48
- customConstraints(fileName: string): Record<string, CustomConstraintDefinition>;
49
40
  /**
50
41
  * `CAPABILITIES.md` 的读取 + 解析 + 与代码实况的对照判定(ADR-0023 决策 4)
51
42
  *
@@ -1 +1 @@
1
- {"version":3,"file":"run-env.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/run-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAK7E,2CAA2C;AAC3C,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,KAAK,CAAC;AAE7B,MAAM,WAAW,MAAM;IACrB,iDAAiD;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC1D,6BAA6B;IAC7B,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB;;;;;OAKG;IACH,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACjD;;;;;;OAMG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;IAChF;;;;;;;;;;OAUG;IACH,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,mBAAmB,GAAG,SAAS,CAAC;CAC1E;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAuExD;AA4BD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAGxD;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"run-env.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/run-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACzF,OAAO,EAAqC,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAK5E,2CAA2C;AAC3C,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AAEvD;;;;GAIG;AACH,QAAA,MAAM,iBAAiB,KAAK,CAAC;AAE7B,MAAM,WAAW,MAAM;IACrB,iDAAiD;IACjD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,4DAA4D;IAC5D,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,CAAC;IAC1D,6BAA6B;IAC7B,WAAW,IAAI,MAAM,EAAE,CAAC;IACxB;;;;;OAKG;IACH,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACjD;;;;;;;;;;OAUG;IACH,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,GAAG,mBAAmB,GAAG,SAAS,CAAC;CAC1E;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;CACrC;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA8DxD;AAcD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,6CAA6C;AAC7C,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM,CAGxD;AAED,OAAO,EAAE,iBAAiB,EAAE,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * 运行级观察面(ADR-0023 决策 1)
4
4
  *
5
5
  * 一次 `harness check` 一份、跑完即弃:把「本项目有哪些源码根」「最近的 trace 记录」
6
- * 「`.harness/config.yml` 与自定义约束文件写了什么」这类上行数据的读取收在此处,
6
+ * 「`.harness/config.yml` 写了什么」这类上行数据的读取收在此处,
7
7
  * 同一次运行内每个文件至多读一次。
8
8
  *
9
9
  * 为什么不是一个对象而是两个:checker 拿到的 `CheckEnv` 里含 `context`,而 `context` 正是
@@ -79,7 +79,6 @@ function createRunEnv(projectPath) {
79
79
  let sourceRoots = null;
80
80
  let configLoaded = false;
81
81
  let configRaw;
82
- const customDefs = new Map();
83
82
  /** 能力表 memo:undefined = 未算,null = 项目无 CAPABILITIES.md */
84
83
  let caps;
85
84
  return {
@@ -101,14 +100,6 @@ function createRunEnv(projectPath) {
101
100
  }
102
101
  return configRaw;
103
102
  },
104
- customConstraints(fileName) {
105
- let defs = customDefs.get(fileName);
106
- if (!defs) {
107
- defs = readCustomConstraints(path.join(projectPath, '.harness', fileName));
108
- customDefs.set(fileName, defs);
109
- }
110
- return defs;
111
- },
112
103
  capabilities(populationFiles) {
113
104
  if (caps === undefined) {
114
105
  const content = readCapabilitiesContent();
@@ -142,18 +133,6 @@ function createRunEnv(projectPath) {
142
133
  return fs.existsSync(file) ? fs.readFileSync(file, 'utf-8') : undefined;
143
134
  }
144
135
  }
145
- /**
146
- * 读一个自定义约束文件并取出 `custom_constraints` 段
147
- *
148
- * 缺失 → `{}`。文档解析成空值(空 yaml 文件)时取段会抛——改前直读就是这个行为,
149
- * 不在此新增兜底:畸形配置文件该炸在配置上,不该被读面抹平。
150
- */
151
- function readCustomConstraints(absPath) {
152
- if (!fs.existsSync(absPath))
153
- return {};
154
- const loaded = yaml.load(fs.readFileSync(absPath, 'utf-8'));
155
- return loaded.custom_constraints ?? {};
156
- }
157
136
  /**
158
137
  * 读并解析一个 YAML 配置文件
159
138
  *
@@ -1 +1 @@
1
- {"version":3,"file":"run-env.js","sourceRoot":"","sources":["../../../src/core/constraints/run-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-env.js","sourceRoot":"","sources":["../../../src/core/constraints/run-env.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * `harness constraints report` 与 `harness constraints retire`(交互模式)共用的
5
5
  * 数据层:读取项目 traces.log,与生效集(getEffectiveConstraints)对齐,
6
- * 产出 check 层统计表与四类退役候选诊断。
6
+ * 产出 check 约束统计表与四类退役候选诊断。
7
7
  *
8
8
  * 只读:不创建目录、不写任何文件。
9
9
  */
@@ -20,7 +20,7 @@ export declare const FLAG_EVIDENCE_CONSTRAINT_IDS: ReadonlySet<string>;
20
20
  */
21
21
  export interface ConstraintUsageStats {
22
22
  id: string;
23
- level: Constraint['level'];
23
+ severity: Constraint['severity'];
24
24
  /** trace 总行数(含 skip) */
25
25
  total: number;
26
26
  pass: number;
@@ -63,12 +63,10 @@ export declare const DEFAULT_DIAGNOSE_THRESHOLDS: DiagnoseThresholds;
63
63
  * report 数据模型
64
64
  */
65
65
  export interface ConstraintsUsageReport {
66
- /** check 层统计表(生效集内每条 check 约束一行,零出现 total=0) */
66
+ /** check 约束统计表(生效集内每条约束一行,零出现 total=0) */
67
67
  stats: ConstraintUsageStats[];
68
68
  /** 退役候选诊断(按 zero_trigger → unevaluable → high_noise → zero_intercept 排序) */
69
69
  candidates: RetireCandidate[];
70
- /** 当前生效的 prompt 条目 id(注入清单) */
71
- activePromptIds: string[];
72
70
  /** 配置健康诊断(unknownIds 等) */
73
71
  lint: EffectiveConfigLint;
74
72
  /** trace 文件是否存在 */
@@ -100,11 +98,11 @@ export declare function readProjectTraces(projectRoot: string): ExecutionTrace[]
100
98
  /**
101
99
  * 按约束聚合 trace 统计(Map: constraintId → 计数)
102
100
  */
103
- export declare function collectUsageByConstraint(traces: ExecutionTrace[]): Map<string, Omit<ConstraintUsageStats, 'id' | 'level' | 'evaluated' | 'failRate'>>;
101
+ export declare function collectUsageByConstraint(traces: ExecutionTrace[]): Map<string, Omit<ConstraintUsageStats, 'id' | 'severity' | 'evaluated' | 'failRate'>>;
104
102
  /**
105
103
  * 退役候选诊断(纯函数)
106
104
  *
107
- * 每条 check 约束最多归入一个类别,优先级:
105
+ * 每条约束最多归入一个类别,优先级:
108
106
  * zero_trigger → unevaluable → high_noise → zero_intercept
109
107
  */
110
108
  export declare function diagnoseRetireCandidates(stats: ConstraintUsageStats[], thresholds?: Partial<DiagnoseThresholds>): RetireCandidate[];
@@ -1 +1 @@
1
- {"version":3,"file":"usage-report.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/usage-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAI3D,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAE3B,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAElB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IAEjB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,aAAa,GACb,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,+CAA+C;AAC/C,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAKpE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,yBAAyB,EAAE,MAAM,CAAC;IAClC,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,2BAA2B,EAAE,kBAIzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,4EAA4E;IAC5E,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,+BAA+B;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,2BAA2B;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,mBAAmB;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAM/G;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,cAAc,EAAE,GACvB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC,CAgBpF;AAmBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,UAAU,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC3C,eAAe,EAAE,CAiDnB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,GAAE,MAAsB,EACnC,UAAU,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC3C,sBAAsB,CAqBxB"}
1
+ {"version":3,"file":"usage-report.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/usage-report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAE3D,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAEjC,wBAAwB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IAEb,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAElB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IAEjB,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,aAAa,GACb,YAAY,GACZ,gBAAgB,CAAC;AAErB,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,mBAAmB,CAAC;IAC1B,KAAK,EAAE,oBAAoB,CAAC;IAC5B,uBAAuB;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,+CAA+C;AAC/C,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAKpE,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,0BAA0B;IAC1B,yBAAyB,EAAE,MAAM,CAAC;IAClC,kCAAkC;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,2BAA2B,EAAE,kBAIzC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,0CAA0C;IAC1C,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,4EAA4E;IAC5E,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,2BAA2B;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,mBAAmB;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAM/G;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,cAAc,EAAE,GACvB,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,CAAC,CAAC,CAgBvF;AAmBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,oBAAoB,EAAE,EAC7B,UAAU,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC3C,eAAe,EAAE,CAiDnB;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,GAAE,MAAsB,EACnC,UAAU,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC3C,sBAAsB,CAkBxB"}
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * `harness constraints report` 与 `harness constraints retire`(交互模式)共用的
6
6
  * 数据层:读取项目 traces.log,与生效集(getEffectiveConstraints)对齐,
7
- * 产出 check 层统计表与四类退役候选诊断。
7
+ * 产出 check 约束统计表与四类退役候选诊断。
8
8
  *
9
9
  * 只读:不创建目录、不写任何文件。
10
10
  */
@@ -59,8 +59,6 @@ const effective_constraints_1 = require("../effective-constraints");
59
59
  */
60
60
  exports.FLAG_EVIDENCE_CONSTRAINT_IDS = new Set([
61
61
  'no_completion_without_verification',
62
- 'incremental_progress',
63
- 'no_implementation_without_requirement',
64
62
  ]);
65
63
  /** 候选种类的呈现名(constraints report / retire 共用) */
66
64
  exports.CANDIDATE_KIND_LABEL = {
@@ -118,12 +116,12 @@ function collectUsageByConstraint(traces) {
118
116
  }
119
117
  return map;
120
118
  }
121
- function toStats(id, level, agg) {
119
+ function toStats(id, severity, agg) {
122
120
  const a = agg ?? { total: 0, pass: 0, fail: 0, skip: 0 };
123
121
  const evaluated = a.total - a.skip;
124
122
  return {
125
123
  id,
126
- level,
124
+ severity,
127
125
  total: a.total,
128
126
  pass: a.pass,
129
127
  fail: a.fail,
@@ -137,7 +135,7 @@ function toStats(id, level, agg) {
137
135
  /**
138
136
  * 退役候选诊断(纯函数)
139
137
  *
140
- * 每条 check 约束最多归入一个类别,优先级:
138
+ * 每条约束最多归入一个类别,优先级:
141
139
  * zero_trigger → unevaluable → high_noise → zero_intercept
142
140
  */
143
141
  function diagnoseRetireCandidates(stats, thresholds = {}) {
@@ -190,18 +188,15 @@ function diagnoseRetireCandidates(stats, thresholds = {}) {
190
188
  */
191
189
  function buildConstraintsUsageReport(projectRoot = process.cwd(), thresholds = {}) {
192
190
  const effective = (0, effective_constraints_1.getEffectiveConstraints)(projectRoot);
193
- const checkConstraints = effective.filter(c => c.kind === 'check');
194
- const activePromptIds = effective.filter(c => c.kind === 'prompt').map(c => c.id);
195
191
  const tracePath = path.join(projectRoot, trace_1.DEFAULT_TRACE_FILE);
196
192
  const { traces, skippedLines } = readProjectTracesReport(projectRoot);
197
193
  const usage = collectUsageByConstraint(traces);
198
- const stats = checkConstraints.map(c => toStats(c.id, c.level, usage.get(c.id)));
194
+ const stats = effective.map(c => toStats(c.id, c.severity, usage.get(c.id)));
199
195
  const candidates = diagnoseRetireCandidates(stats, thresholds);
200
196
  const lint = (0, effective_constraints_1.lintEffectiveConfig)(projectRoot);
201
197
  return {
202
198
  stats,
203
199
  candidates,
204
- activePromptIds,
205
200
  lint,
206
201
  traceFileExists: fs.existsSync(tracePath),
207
202
  skippedLines,
@@ -1 +1 @@
1
- {"version":3,"file":"usage-report.js","sourceRoot":"","sources":["../../../src/core/constraints/usage-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usage-report.js","sourceRoot":"","sources":["../../../src/core/constraints/usage-report.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,19 @@
1
1
  /**
2
- * 生效约束集(ADR-0001)
2
+ * 生效约束集(ADR-0029,链路承自 ADR-0001)
3
3
  *
4
4
  * `getEffectiveConstraints(projectRoot)` 是全仓唯一的生效集来源:
5
- * 内置 → preset → config.yml 禁用 → custom 追加 → scenes 过滤。
6
- * init 注入、`harness check`、外部消费者(studio 等)全部消费它,
7
- * 不再直接读 IRON_LAWS/GUIDELINES/PROMPTS 全集。
5
+ * 内置 → preset → config.yml 禁用。
6
+ * `harness check`、外部消费者(studio 等)全部消费它,
7
+ * 不再直接读 CONSTRAINTS 全集。
8
8
  */
9
9
  import type { Constraint } from '../types/constraint';
10
10
  import type { MergedConstraintsConfig } from '../types/project-config';
11
11
  import type { RunTarget } from './constraints/run-env';
12
12
  /**
13
- * 获取项目当前生效的约束集(check + prompt,带 kind)
13
+ * 获取项目当前生效的约束集(check 全量,带 kind/severity
14
14
  *
15
15
  * 生效集链路同 getMergedConstraintsConfig:内置 → preset 裁剪 → config.yml
16
- * `constraints.<id>.enabled:false` 删除(内置与 custom 同效)→ custom-constraints
17
- * 追加(禁用/已退役的 custom 不追加)→ scenes 过滤
18
- * (带 appliesTo 的 prompt 仅当 config.yml `scenes` 与其交集非空时保留,
19
- * 缺省 scenes=[] 即场景专属 prompt 默认不进入生效集)。
16
+ * `constraints.<id>.enabled:false` 删除。
20
17
  *
21
18
  * @param target 项目根路径,或本 run 的运行级观察面(缺省 process.cwd())
22
19
  * 传观察面 = config.yml 读取与本 run 其余消费方共用同一份(ADR-0023 决策 2)
@@ -29,15 +26,15 @@ export declare function getEffectiveConstraints(target?: RunTarget, options?: {
29
26
  /**
30
27
  * 从已算好的合并配置取出生效集清单(与 getEffectiveConstraints 同一形状)
31
28
  *
32
- * 给已经持有 `MergedConstraintsConfig` 的消费方复用(CLI check 把这一份同时交给
33
- * 漂移检测,避免生效集链路在一次运行里算两遍,ADR-0023 步骤 4.5)。
29
+ * 给已经持有 `MergedConstraintsConfig` 的消费方复用(CLI check 复用这一份,
30
+ * 避免生效集链路在一次运行里算两遍,ADR-0023 步骤 4.5)。
34
31
  */
35
32
  export declare function constraintsFromMerged(merged: MergedConstraintsConfig): Constraint[];
36
33
  /**
37
- * 获取项目当前生效的合并约束配置(ADR-0001 唯一来源的完整形状)
34
+ * 获取项目当前生效的合并约束配置(唯一来源的完整形状)
38
35
  *
39
36
  * 与 getEffectiveConstraints 同一生效集链路,返回完整 MergedConstraintsConfig
40
- * (含 disabled/custom/unknownIds),供 check 等需要诊断信息的消费方使用。
37
+ * (含 disabled/unknownIds),供 check 等需要诊断信息的消费方使用。
41
38
  *
42
39
  * options.preset(CLI --preset)仅在项目无自定义配置时覆盖 config.yml 的
43
40
  * preset(工单 23 语义:项目自定义配置优先于 CLI 预设);不传 preset 时
@@ -53,21 +50,14 @@ export declare function getMergedConstraintsConfig(target?: RunTarget, options?:
53
50
  */
54
51
  export interface EffectiveConfigLint {
55
52
  /**
56
- * config.yml `constraints.<id>` 中既非内置也非自定义的未知 id
53
+ * config.yml `constraints.<id>` 中非内置的未知 id
57
54
  * (如禁用了已被本版移除的约束的残留配置)。生效集计算静默忽略,
58
55
  * 在此列出供 report 提示。
59
56
  */
60
57
  unknownIds: string[];
61
- /** 项目配置的场景标签(config.yml `scenes`,缺省 []) */
62
- scenes: string[];
63
- /**
64
- * 因 scenes 过滤而未进入生效集的场景专属 prompt id
65
- * (已被 preset/config 禁用的不重复列出)
66
- */
67
- sceneExcluded: string[];
68
58
  }
69
59
  /**
70
- * 诊断项目约束配置:未知 id 残留、scenes 生效情况
60
+ * 诊断项目约束配置:未知 id 残留
71
61
  *
72
62
  * 不抛错、不修改任何文件,供 report / check 的诊断输出使用。
73
63
  *
@@ -1 +1 @@
1
- {"version":3,"file":"effective-constraints.d.ts","sourceRoot":"","sources":["../../src/core/effective-constraints.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,SAAyB,EACjC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,UAAU,EAAE,CAEd;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,uBAAuB,GAAG,UAAU,EAAE,CAMnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,GAAE,SAAyB,EACjC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,uBAAuB,CAOzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;IAErB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;;OAGG;IACH,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,GAAE,MAAsB,GAAG,mBAAmB,CAqB5F"}
1
+ {"version":3,"file":"effective-constraints.d.ts","sourceRoot":"","sources":["../../src/core/effective-constraints.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,GAAE,SAAyB,EACjC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,UAAU,EAAE,CAEd;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,uBAAuB,GAAG,UAAU,EAAE,CAEnF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,GAAE,SAAyB,EACjC,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,uBAAuB,CAOzB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;OAIG;IACH,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,GAAE,MAAsB,GAAG,mBAAmB,CAO5F"}
@@ -1,27 +1,23 @@
1
1
  "use strict";
2
2
  /**
3
- * 生效约束集(ADR-0001)
3
+ * 生效约束集(ADR-0029,链路承自 ADR-0001)
4
4
  *
5
5
  * `getEffectiveConstraints(projectRoot)` 是全仓唯一的生效集来源:
6
- * 内置 → preset → config.yml 禁用 → custom 追加 → scenes 过滤。
7
- * init 注入、`harness check`、外部消费者(studio 等)全部消费它,
8
- * 不再直接读 IRON_LAWS/GUIDELINES/PROMPTS 全集。
6
+ * 内置 → preset → config.yml 禁用。
7
+ * `harness check`、外部消费者(studio 等)全部消费它,
8
+ * 不再直接读 CONSTRAINTS 全集。
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.getEffectiveConstraints = getEffectiveConstraints;
12
12
  exports.constraintsFromMerged = constraintsFromMerged;
13
13
  exports.getMergedConstraintsConfig = getMergedConstraintsConfig;
14
14
  exports.lintEffectiveConfig = lintEffectiveConfig;
15
- const definitions_1 = require("./constraints/definitions");
16
15
  const project_config_loader_1 = require("./project-config-loader");
17
16
  /**
18
- * 获取项目当前生效的约束集(check + prompt,带 kind)
17
+ * 获取项目当前生效的约束集(check 全量,带 kind/severity
19
18
  *
20
19
  * 生效集链路同 getMergedConstraintsConfig:内置 → preset 裁剪 → config.yml
21
- * `constraints.<id>.enabled:false` 删除(内置与 custom 同效)→ custom-constraints
22
- * 追加(禁用/已退役的 custom 不追加)→ scenes 过滤
23
- * (带 appliesTo 的 prompt 仅当 config.yml `scenes` 与其交集非空时保留,
24
- * 缺省 scenes=[] 即场景专属 prompt 默认不进入生效集)。
20
+ * `constraints.<id>.enabled:false` 删除。
25
21
  *
26
22
  * @param target 项目根路径,或本 run 的运行级观察面(缺省 process.cwd())
27
23
  * 传观察面 = config.yml 读取与本 run 其余消费方共用同一份(ADR-0023 决策 2)
@@ -34,21 +30,17 @@ function getEffectiveConstraints(target = process.cwd(), options) {
34
30
  /**
35
31
  * 从已算好的合并配置取出生效集清单(与 getEffectiveConstraints 同一形状)
36
32
  *
37
- * 给已经持有 `MergedConstraintsConfig` 的消费方复用(CLI check 把这一份同时交给
38
- * 漂移检测,避免生效集链路在一次运行里算两遍,ADR-0023 步骤 4.5)。
33
+ * 给已经持有 `MergedConstraintsConfig` 的消费方复用(CLI check 复用这一份,
34
+ * 避免生效集链路在一次运行里算两遍,ADR-0023 步骤 4.5)。
39
35
  */
40
36
  function constraintsFromMerged(merged) {
41
- return [
42
- ...Object.values(merged.ironLaws),
43
- ...Object.values(merged.guidelines),
44
- ...Object.values(merged.prompts ?? {}),
45
- ];
37
+ return Object.values(merged.constraints);
46
38
  }
47
39
  /**
48
- * 获取项目当前生效的合并约束配置(ADR-0001 唯一来源的完整形状)
40
+ * 获取项目当前生效的合并约束配置(唯一来源的完整形状)
49
41
  *
50
42
  * 与 getEffectiveConstraints 同一生效集链路,返回完整 MergedConstraintsConfig
51
- * (含 disabled/custom/unknownIds),供 check 等需要诊断信息的消费方使用。
43
+ * (含 disabled/unknownIds),供 check 等需要诊断信息的消费方使用。
52
44
  *
53
45
  * options.preset(CLI --preset)仅在项目无自定义配置时覆盖 config.yml 的
54
46
  * preset(工单 23 语义:项目自定义配置优先于 CLI 预设);不传 preset 时
@@ -65,7 +57,7 @@ function getMergedConstraintsConfig(target = process.cwd(), options) {
65
57
  return loader.mergeConstraints({ preset: options.preset });
66
58
  }
67
59
  /**
68
- * 诊断项目约束配置:未知 id 残留、scenes 生效情况
60
+ * 诊断项目约束配置:未知 id 残留
69
61
  *
70
62
  * 不抛错、不修改任何文件,供 report / check 的诊断输出使用。
71
63
  *
@@ -73,19 +65,10 @@ function getMergedConstraintsConfig(target = process.cwd(), options) {
73
65
  */
74
66
  function lintEffectiveConfig(projectRoot = process.cwd()) {
75
67
  const loader = new project_config_loader_1.ProjectConfigLoader(projectRoot);
76
- const config = loader.load();
68
+ loader.load();
77
69
  const merged = loader.mergeConstraints();
78
- const scenes = config.scenes ?? [];
79
- const sceneExcluded = Object.values(definitions_1.PROMPTS)
80
- .filter(c => c.appliesTo &&
81
- c.appliesTo.length > 0 &&
82
- !c.appliesTo.some(scene => scenes.includes(scene)) &&
83
- !merged.disabled.includes(c.id))
84
- .map(c => c.id);
85
70
  return {
86
71
  unknownIds: merged.unknownIds ?? [],
87
- scenes,
88
- sceneExcluded,
89
72
  };
90
73
  }
91
74
  //# sourceMappingURL=effective-constraints.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effective-constraints.js","sourceRoot":"","sources":["../../src/core/effective-constraints.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAsBH,0DAKC;AAQD,sDAMC;AAcD,gEAUC;AA8BD,kDAqBC;AAhHD,2DAAoD;AACpD,mEAA8D;AAG9D;;;;;;;;;;;;;GAaG;AACH,SAAgB,uBAAuB,CACrC,SAAoB,OAAO,CAAC,GAAG,EAAE,EACjC,OAA6B;IAE7B,OAAO,qBAAqB,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,MAA+B;IACnE,OAAO;QACL,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QACnC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;KACvC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,0BAA0B,CACxC,SAAoB,OAAO,CAAC,GAAG,EAAE,EACjC,OAA6B;IAE7B,MAAM,MAAM,GAAG,IAAI,2CAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,IAAI,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7D,CAAC;AAuBD;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACrE,MAAM,MAAM,GAAG,IAAI,2CAAmB,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAO,CAAC;SACzC,MAAM,CACL,CAAC,CAAC,EAAE,CACF,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QACtB,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAClD,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAClC;SACA,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAElB,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;QACnC,MAAM;QACN,aAAa;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"effective-constraints.js","sourceRoot":"","sources":["../../src/core/effective-constraints.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAkBH,0DAKC;AAQD,sDAEC;AAcD,gEAUC;AAqBD,kDAOC;AAjFD,mEAA8D;AAG9D;;;;;;;;;;GAUG;AACH,SAAgB,uBAAuB,CACrC,SAAoB,OAAO,CAAC,GAAG,EAAE,EACjC,OAA6B;IAE7B,OAAO,qBAAqB,CAAC,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CAAC,MAA+B;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAgB,0BAA0B,CACxC,SAAoB,OAAO,CAAC,GAAG,EAAE,EACjC,OAA6B;IAE7B,MAAM,MAAM,GAAG,IAAI,2CAAmB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,IAAI,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACjD,OAAO,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACnC,CAAC;IACD,OAAO,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC7D,CAAC;AAcD;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,cAAsB,OAAO,CAAC,GAAG,EAAE;IACrE,MAAM,MAAM,GAAG,IAAI,2CAAmB,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,MAAM,MAAM,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACzC,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC"}
@@ -4,8 +4,8 @@
4
4
  * checkConstraints 与包根统一为 options 对象签名(CheckConstraintsOptions),
5
5
  * 不再暴露位置参数版。
6
6
  */
7
- export { IRON_LAWS, GUIDELINES, PROMPTS, getAllConstraints, findConstraintsByTrigger, getConstraint, ConstraintChecker, checkConstraint, checkConstraints, checkBeforeExecution, constraintChecker, CONSTRAINTS_START_MARKER, CONSTRAINTS_END_MARKER, renderConstraintsSection, CheckCache, renderConstraintsByTrigger, ConstraintViolationError, } from './constraints';
8
- export type { CheckConstraintsOptions, CheckCacheConfig, CheckSamplingConfig, RenderConstraintsByTriggerOptions, ConstraintId, ConstraintKind, ConstraintLevel, ConstraintTrigger, Constraint, ConstraintResult, ConstraintContext, ConstraintCheckResult, IronLawContext, } from './constraints';
7
+ export { CONSTRAINTS, getAllConstraints, findConstraintsByTrigger, getConstraint, ConstraintChecker, checkConstraint, checkConstraints, checkBeforeExecution, constraintChecker, CheckCache, ConstraintViolationError, } from './constraints';
8
+ export type { CheckConstraintsOptions, CheckCacheConfig, CheckSamplingConfig, ConstraintId, ConstraintKind, ConstraintSeverity, ConstraintTrigger, Constraint, ConstraintResult, ConstraintContext, ConstraintCheckResult, IronLawContext, } from './constraints';
9
9
  export { CheckpointValidator, PassesGate, createPassesGate, CSOValidator, } from './validators';
10
10
  export type { CSOValidationResult, CSOIssue, Checkpoint, CheckpointCheck, CheckpointResult, CheckResult, CheckpointContext, CheckType, CheckConfig, PassesGateConfig, TaskTestResult, } from './validators';
11
11
  export { SpecValidator } from './spec/validator';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,SAAS,EACT,UAAU,EACV,OAAO,EACP,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,UAAU,EACV,0BAA0B,EAC1B,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iCAAiC,EACjC,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,QAAQ,GACT,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAExF,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,wBAAwB,GACzB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,YAAY,GACb,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,mBAAmB,EACnB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,cAAc,GACf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EACV,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,oBAAoB,EACpB,QAAQ,GACT,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAExF,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EACL,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}