@dommaker/harness 0.18.0 → 1.0.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 (366) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/bin/harness.js +136 -552
  3. package/dist/cli/commands/check.d.ts.map +1 -1
  4. package/dist/cli/commands/check.js +2 -13
  5. package/dist/cli/commands/check.js.map +1 -1
  6. package/dist/cli/commands/definitions.d.ts +90 -0
  7. package/dist/cli/commands/definitions.d.ts.map +1 -0
  8. package/dist/cli/commands/definitions.js +519 -0
  9. package/dist/cli/commands/definitions.js.map +1 -0
  10. package/dist/cli/commands/knowledge.js.map +1 -1
  11. package/dist/cli/commands/sync-docs/capabilities-syncer.d.ts +3 -25
  12. package/dist/cli/commands/sync-docs/capabilities-syncer.d.ts.map +1 -1
  13. package/dist/cli/commands/sync-docs/capabilities-syncer.js +3 -93
  14. package/dist/cli/commands/sync-docs/capabilities-syncer.js.map +1 -1
  15. package/dist/cli/commands/sync-docs/index.d.ts +1 -1
  16. package/dist/cli/commands/sync-docs/index.d.ts.map +1 -1
  17. package/dist/cli/commands/sync-docs/index.js +4 -4
  18. package/dist/cli/commands/sync-docs/index.js.map +1 -1
  19. package/dist/cli/commands/update-user-model.d.ts +1 -0
  20. package/dist/cli/commands/update-user-model.d.ts.map +1 -1
  21. package/dist/cli/commands/update-user-model.js +12 -5
  22. package/dist/cli/commands/update-user-model.js.map +1 -1
  23. package/dist/context/index.d.ts +1 -5
  24. package/dist/context/index.d.ts.map +1 -1
  25. package/dist/context/index.js +1 -5
  26. package/dist/context/index.js.map +1 -1
  27. package/dist/context/knowledge-injector.d.ts +3 -3
  28. package/dist/context/knowledge-injector.d.ts.map +1 -1
  29. package/dist/context/knowledge-injector.js +1 -1
  30. package/dist/context/session-manager.d.ts +1 -12
  31. package/dist/context/session-manager.d.ts.map +1 -1
  32. package/dist/context/session-manager.js +0 -63
  33. package/dist/context/session-manager.js.map +1 -1
  34. package/dist/context/types.d.ts +1 -39
  35. package/dist/context/types.d.ts.map +1 -1
  36. package/dist/context/types.js +2 -15
  37. package/dist/context/types.js.map +1 -1
  38. package/dist/core/constraints/agent-prompt-renderer.d.ts +32 -0
  39. package/dist/core/constraints/agent-prompt-renderer.d.ts.map +1 -0
  40. package/dist/core/constraints/agent-prompt-renderer.js +58 -0
  41. package/dist/core/constraints/agent-prompt-renderer.js.map +1 -0
  42. package/dist/core/constraints/capabilities-parser.d.ts +17 -2
  43. package/dist/core/constraints/capabilities-parser.d.ts.map +1 -1
  44. package/dist/core/constraints/capabilities-parser.js +84 -2
  45. package/dist/core/constraints/capabilities-parser.js.map +1 -1
  46. package/dist/core/constraints/check-cache.d.ts +48 -3
  47. package/dist/core/constraints/check-cache.d.ts.map +1 -1
  48. package/dist/core/constraints/check-cache.js +53 -5
  49. package/dist/core/constraints/check-cache.js.map +1 -1
  50. package/dist/core/constraints/checker.d.ts +3 -17
  51. package/dist/core/constraints/checker.d.ts.map +1 -1
  52. package/dist/core/constraints/checker.js +7 -47
  53. package/dist/core/constraints/checker.js.map +1 -1
  54. package/dist/core/constraints/definitions.d.ts +0 -7
  55. package/dist/core/constraints/definitions.d.ts.map +1 -1
  56. package/dist/core/constraints/definitions.js +1 -8
  57. package/dist/core/constraints/definitions.js.map +1 -1
  58. package/dist/core/constraints/doc-freshness/runner.d.ts +0 -2
  59. package/dist/core/constraints/doc-freshness/runner.d.ts.map +1 -1
  60. package/dist/core/constraints/doc-freshness/runner.js.map +1 -1
  61. package/dist/core/constraints/index.d.ts +5 -1
  62. package/dist/core/constraints/index.d.ts.map +1 -1
  63. package/dist/core/constraints/index.js +8 -3
  64. package/dist/core/constraints/index.js.map +1 -1
  65. package/dist/core/constraints/interceptor.d.ts.map +1 -1
  66. package/dist/core/constraints/interceptor.js +1 -5
  67. package/dist/core/constraints/interceptor.js.map +1 -1
  68. package/dist/core/effective-constraints.d.ts.map +1 -1
  69. package/dist/core/effective-constraints.js +0 -1
  70. package/dist/core/effective-constraints.js.map +1 -1
  71. package/dist/core/project-config-loader.d.ts.map +1 -1
  72. package/dist/core/project-config-loader.js +1 -8
  73. package/dist/core/project-config-loader.js.map +1 -1
  74. package/dist/dashboard/stats.d.ts.map +1 -1
  75. package/dist/dashboard/stats.js.map +1 -1
  76. package/dist/dashboard/types.d.ts +2 -2
  77. package/dist/dashboard/types.d.ts.map +1 -1
  78. package/dist/failure/constraint-handler.d.ts.map +1 -1
  79. package/dist/failure/constraint-handler.js +0 -2
  80. package/dist/failure/constraint-handler.js.map +1 -1
  81. package/dist/gates/acceptance.d.ts +9 -1
  82. package/dist/gates/acceptance.d.ts.map +1 -1
  83. package/dist/gates/acceptance.js +21 -0
  84. package/dist/gates/acceptance.js.map +1 -1
  85. package/dist/gates/checker-gate.d.ts +23 -0
  86. package/dist/gates/checker-gate.d.ts.map +1 -0
  87. package/dist/gates/checker-gate.js +53 -0
  88. package/dist/gates/checker-gate.js.map +1 -0
  89. package/dist/gates/command.d.ts +9 -2
  90. package/dist/gates/command.d.ts.map +1 -1
  91. package/dist/gates/command.js +10 -0
  92. package/dist/gates/command.js.map +1 -1
  93. package/dist/gates/contract.d.ts +8 -2
  94. package/dist/gates/contract.d.ts.map +1 -1
  95. package/dist/gates/contract.js +9 -0
  96. package/dist/gates/contract.js.map +1 -1
  97. package/dist/gates/decision.d.ts +17 -0
  98. package/dist/gates/decision.d.ts.map +1 -0
  99. package/dist/gates/decision.js +25 -0
  100. package/dist/gates/decision.js.map +1 -0
  101. package/dist/gates/definitions.d.ts +63 -0
  102. package/dist/gates/definitions.d.ts.map +1 -0
  103. package/dist/gates/definitions.js +160 -0
  104. package/dist/gates/definitions.js.map +1 -0
  105. package/dist/gates/effective-gates.d.ts +30 -0
  106. package/dist/gates/effective-gates.d.ts.map +1 -0
  107. package/dist/gates/effective-gates.js +85 -0
  108. package/dist/gates/effective-gates.js.map +1 -0
  109. package/dist/gates/index.d.ts +25 -1
  110. package/dist/gates/index.d.ts.map +1 -1
  111. package/dist/gates/index.js +37 -1
  112. package/dist/gates/index.js.map +1 -1
  113. package/dist/gates/performance.d.ts +8 -2
  114. package/dist/gates/performance.d.ts.map +1 -1
  115. package/dist/gates/performance.js +9 -0
  116. package/dist/gates/performance.js.map +1 -1
  117. package/dist/gates/registry.d.ts +32 -0
  118. package/dist/gates/registry.d.ts.map +1 -0
  119. package/dist/gates/registry.js +90 -0
  120. package/dist/gates/registry.js.map +1 -0
  121. package/dist/gates/review.d.ts +8 -2
  122. package/dist/gates/review.d.ts.map +1 -1
  123. package/dist/gates/review.js +9 -0
  124. package/dist/gates/review.js.map +1 -1
  125. package/dist/gates/runner.d.ts +30 -0
  126. package/dist/gates/runner.d.ts.map +1 -0
  127. package/dist/gates/runner.js +38 -0
  128. package/dist/gates/runner.js.map +1 -0
  129. package/dist/gates/security.d.ts +8 -2
  130. package/dist/gates/security.d.ts.map +1 -1
  131. package/dist/gates/security.js +9 -0
  132. package/dist/gates/security.js.map +1 -1
  133. package/dist/gates/types.d.ts +41 -1
  134. package/dist/gates/types.d.ts.map +1 -1
  135. package/dist/hooks/bootstrap.d.ts.map +1 -1
  136. package/dist/hooks/bootstrap.js +0 -2
  137. package/dist/hooks/bootstrap.js.map +1 -1
  138. package/dist/hooks/config.d.ts +26 -0
  139. package/dist/hooks/config.d.ts.map +1 -0
  140. package/dist/hooks/config.js +30 -0
  141. package/dist/hooks/config.js.map +1 -0
  142. package/dist/hooks/index.d.ts +2 -1
  143. package/dist/hooks/index.d.ts.map +1 -1
  144. package/dist/hooks/index.js +4 -1
  145. package/dist/hooks/index.js.map +1 -1
  146. package/dist/hooks/registry.d.ts +18 -1
  147. package/dist/hooks/registry.d.ts.map +1 -1
  148. package/dist/hooks/registry.js +45 -0
  149. package/dist/hooks/registry.js.map +1 -1
  150. package/dist/hooks/types.d.ts +20 -0
  151. package/dist/hooks/types.d.ts.map +1 -1
  152. package/dist/index.d.ts +8 -8
  153. package/dist/index.d.ts.map +1 -1
  154. package/dist/index.js +13 -21
  155. package/dist/index.js.map +1 -1
  156. package/dist/knowledge/import.d.ts +2 -2
  157. package/dist/knowledge/import.d.ts.map +1 -1
  158. package/dist/knowledge/ingest.js.map +1 -1
  159. package/dist/knowledge/lifecycle-hooks.d.ts +2 -2
  160. package/dist/knowledge/lifecycle-hooks.d.ts.map +1 -1
  161. package/dist/knowledge/types.d.ts +5 -7
  162. package/dist/knowledge/types.d.ts.map +1 -1
  163. package/dist/knowledge/types.js +1 -1
  164. package/dist/knowledge/types.js.map +1 -1
  165. package/dist/monitoring/constraint-doctor.d.ts +4 -22
  166. package/dist/monitoring/constraint-doctor.d.ts.map +1 -1
  167. package/dist/monitoring/constraint-doctor.js +7 -94
  168. package/dist/monitoring/constraint-doctor.js.map +1 -1
  169. package/dist/presets/standard.d.ts +1 -1
  170. package/dist/presets/standard.d.ts.map +1 -1
  171. package/dist/presets/standard.js +1 -2
  172. package/dist/presets/standard.js.map +1 -1
  173. package/dist/spec/annotation-checker.d.ts.map +1 -1
  174. package/dist/spec/annotation-checker.js +6 -26
  175. package/dist/spec/annotation-checker.js.map +1 -1
  176. package/dist/tools/index.d.ts +0 -4
  177. package/dist/tools/index.d.ts.map +1 -1
  178. package/dist/tools/index.js +0 -4
  179. package/dist/tools/index.js.map +1 -1
  180. package/dist/types/constraint.d.ts +1 -12
  181. package/dist/types/constraint.d.ts.map +1 -1
  182. package/dist/types/constraint.js +0 -3
  183. package/dist/types/constraint.js.map +1 -1
  184. package/dist/types/project-config.d.ts +0 -2
  185. package/dist/types/project-config.d.ts.map +1 -1
  186. package/dist/utils/file-walk.d.ts +2 -2
  187. package/dist/utils/file-walk.js +2 -2
  188. package/package.json +9 -4
  189. package/src/CONTEXT.md +14 -0
  190. package/src/__tests__/checker-extra.test.ts +2 -59
  191. package/src/__tests__/constraint-doctor.test.ts +1 -140
  192. package/src/__tests__/constraint-handler.test.ts +0 -4
  193. package/src/__tests__/project-config-loader-extra.test.ts +0 -20
  194. package/src/__tests__/project-config-loader.test.ts +0 -1
  195. package/src/cli/commands/CONTEXT.md +15 -7
  196. package/src/cli/commands/__tests__/analyze-sessions.test.ts +178 -0
  197. package/src/cli/commands/__tests__/check-drift.test.ts +0 -3
  198. package/src/cli/commands/__tests__/check-skip-output.test.ts +0 -5
  199. package/src/cli/commands/__tests__/check.test.ts +7 -75
  200. package/src/cli/commands/__tests__/registry.test.ts +201 -0
  201. package/src/cli/commands/__tests__/release.test.ts +162 -0
  202. package/src/cli/commands/__tests__/update-user-model.test.ts +205 -0
  203. package/src/cli/commands/check.ts +2 -14
  204. package/src/cli/commands/definitions.ts +593 -0
  205. package/src/cli/commands/knowledge.ts +3 -3
  206. package/src/cli/commands/sync-docs/capabilities-syncer.ts +4 -110
  207. package/src/cli/commands/sync-docs/index.ts +8 -5
  208. package/src/cli/commands/update-user-model.ts +15 -5
  209. package/src/context/CONTEXT.md +2 -7
  210. package/src/context/__tests__/session-manager.test.ts +0 -91
  211. package/src/context/index.ts +1 -5
  212. package/src/context/knowledge-injector.ts +3 -3
  213. package/src/context/session-manager.ts +0 -74
  214. package/src/context/types.ts +2 -63
  215. package/src/core/CONTEXT.md +1 -1
  216. package/src/core/constraints/__tests__/agent-prompt-renderer.test.ts +129 -0
  217. package/src/core/constraints/__tests__/check-cache.test.ts +227 -0
  218. package/src/core/constraints/__tests__/interceptor.test.ts +0 -2
  219. package/src/core/constraints/agent-prompt-renderer.ts +71 -0
  220. package/src/core/constraints/capabilities-parser.ts +95 -2
  221. package/src/core/constraints/check-cache.ts +75 -3
  222. package/src/core/constraints/checker.ts +8 -53
  223. package/src/core/constraints/definitions.ts +0 -8
  224. package/src/core/constraints/doc-freshness/runner.ts +1 -2
  225. package/src/core/constraints/index.ts +11 -2
  226. package/src/core/constraints/interceptor.ts +1 -6
  227. package/src/core/effective-constraints.ts +0 -1
  228. package/src/core/project-config-loader.ts +1 -7
  229. package/src/dashboard/stats.ts +2 -2
  230. package/src/dashboard/types.ts +2 -2
  231. package/src/failure/constraint-handler.ts +0 -2
  232. package/src/gates/CONTEXT.md +16 -13
  233. package/src/gates/__tests__/checker-gate.test.ts +45 -0
  234. package/src/gates/__tests__/contract.test.ts +73 -0
  235. package/src/gates/__tests__/effective-gates.test.ts +82 -0
  236. package/src/gates/__tests__/gate-interface.test.ts +202 -0
  237. package/src/gates/__tests__/registry.test.ts +87 -0
  238. package/src/gates/__tests__/runner.test.ts +81 -0
  239. package/src/gates/acceptance.ts +24 -1
  240. package/src/gates/checker-gate.ts +54 -0
  241. package/src/gates/command.ts +13 -2
  242. package/src/gates/contract.ts +12 -2
  243. package/src/gates/decision.ts +27 -0
  244. package/src/gates/definitions.ts +207 -0
  245. package/src/gates/effective-gates.ts +106 -0
  246. package/src/gates/index.ts +38 -0
  247. package/src/gates/performance.ts +12 -2
  248. package/src/gates/registry.ts +107 -0
  249. package/src/gates/review.ts +12 -2
  250. package/src/gates/runner.ts +57 -0
  251. package/src/gates/security.ts +12 -2
  252. package/src/gates/types.ts +48 -1
  253. package/src/hooks/CONTEXT.md +12 -2
  254. package/src/hooks/__tests__/bootstrap.test.ts +0 -1
  255. package/src/hooks/__tests__/config.test.ts +19 -0
  256. package/src/hooks/__tests__/pipeline.test.ts +79 -0
  257. package/src/hooks/__tests__/registry.test.ts +67 -0
  258. package/src/hooks/bootstrap.ts +0 -2
  259. package/src/hooks/config.ts +29 -0
  260. package/src/hooks/index.ts +2 -1
  261. package/src/hooks/registry.ts +60 -1
  262. package/src/hooks/types.ts +21 -0
  263. package/src/index.ts +13 -22
  264. package/src/knowledge/import.ts +3 -3
  265. package/src/knowledge/ingest.ts +4 -4
  266. package/src/knowledge/lifecycle-hooks.ts +3 -3
  267. package/src/knowledge/types.ts +5 -8
  268. package/src/monitoring/constraint-doctor.ts +7 -106
  269. package/src/presets/__tests__/standard.test.ts +0 -2
  270. package/src/presets/standard.ts +1 -2
  271. package/src/spec/__tests__/annotation-checker.test.ts +9 -3
  272. package/src/spec/annotation-checker.ts +7 -29
  273. package/src/tools/CONTEXT.md +7 -14
  274. package/src/tools/index.ts +0 -4
  275. package/src/types/constraint.ts +1 -14
  276. package/src/types/project-config.ts +0 -3
  277. package/src/utils/file-walk.ts +2 -2
  278. package/dist/architecture/constraint-engine.d.ts +0 -67
  279. package/dist/architecture/constraint-engine.d.ts.map +0 -1
  280. package/dist/architecture/constraint-engine.js +0 -295
  281. package/dist/architecture/constraint-engine.js.map +0 -1
  282. package/dist/architecture/cross-project-checker.d.ts +0 -54
  283. package/dist/architecture/cross-project-checker.d.ts.map +0 -1
  284. package/dist/architecture/cross-project-checker.js +0 -467
  285. package/dist/architecture/cross-project-checker.js.map +0 -1
  286. package/dist/cli/commands/index.d.ts +0 -30
  287. package/dist/cli/commands/index.d.ts.map +0 -1
  288. package/dist/cli/commands/index.js +0 -91
  289. package/dist/cli/commands/index.js.map +0 -1
  290. package/dist/context/file-budget.d.ts +0 -40
  291. package/dist/context/file-budget.d.ts.map +0 -1
  292. package/dist/context/file-budget.js +0 -147
  293. package/dist/context/file-budget.js.map +0 -1
  294. package/dist/context/progressive-loader.d.ts +0 -109
  295. package/dist/context/progressive-loader.d.ts.map +0 -1
  296. package/dist/context/progressive-loader.js +0 -166
  297. package/dist/context/progressive-loader.js.map +0 -1
  298. package/dist/context/token-pipeline.d.ts +0 -55
  299. package/dist/context/token-pipeline.d.ts.map +0 -1
  300. package/dist/context/token-pipeline.js +0 -220
  301. package/dist/context/token-pipeline.js.map +0 -1
  302. package/dist/context/tool-output-budget.d.ts +0 -59
  303. package/dist/context/tool-output-budget.d.ts.map +0 -1
  304. package/dist/context/tool-output-budget.js +0 -177
  305. package/dist/context/tool-output-budget.js.map +0 -1
  306. package/dist/core/constraints/default-executors.d.ts +0 -10
  307. package/dist/core/constraints/default-executors.d.ts.map +0 -1
  308. package/dist/core/constraints/default-executors.js +0 -120
  309. package/dist/core/constraints/default-executors.js.map +0 -1
  310. package/dist/llm/adapter.d.ts +0 -36
  311. package/dist/llm/adapter.d.ts.map +0 -1
  312. package/dist/llm/adapter.js +0 -118
  313. package/dist/llm/adapter.js.map +0 -1
  314. package/dist/llm/index.d.ts +0 -3
  315. package/dist/llm/index.d.ts.map +0 -1
  316. package/dist/llm/index.js +0 -19
  317. package/dist/llm/index.js.map +0 -1
  318. package/dist/llm/types.d.ts +0 -62
  319. package/dist/llm/types.d.ts.map +0 -1
  320. package/dist/llm/types.js +0 -8
  321. package/dist/llm/types.js.map +0 -1
  322. package/dist/tools/core/index.d.ts +0 -13
  323. package/dist/tools/core/index.d.ts.map +0 -1
  324. package/dist/tools/core/index.js +0 -198
  325. package/dist/tools/core/index.js.map +0 -1
  326. package/dist/tools/loader.d.ts +0 -21
  327. package/dist/tools/loader.d.ts.map +0 -1
  328. package/dist/tools/loader.js +0 -199
  329. package/dist/tools/loader.js.map +0 -1
  330. package/dist/tools/registry.d.ts +0 -59
  331. package/dist/tools/registry.d.ts.map +0 -1
  332. package/dist/tools/registry.js +0 -115
  333. package/dist/tools/registry.js.map +0 -1
  334. package/dist/tools/types.d.ts +0 -38
  335. package/dist/tools/types.d.ts.map +0 -1
  336. package/dist/tools/types.js +0 -6
  337. package/dist/tools/types.js.map +0 -1
  338. package/src/__tests__/architecture-engine.test.ts +0 -619
  339. package/src/__tests__/context/progressive-loader.test.ts +0 -131
  340. package/src/__tests__/cross-project-checker.test.ts +0 -318
  341. package/src/architecture/CONTEXT.md +0 -22
  342. package/src/architecture/constraint-engine.ts +0 -351
  343. package/src/architecture/cross-project-checker.ts +0 -545
  344. package/src/cli/commands/index.ts +0 -30
  345. package/src/context/__tests__/file-budget.test.ts +0 -142
  346. package/src/context/__tests__/progressive-loader.test.ts +0 -264
  347. package/src/context/__tests__/token-pipeline.test.ts +0 -178
  348. package/src/context/__tests__/tool-output-budget.test.ts +0 -95
  349. package/src/context/file-budget.ts +0 -142
  350. package/src/context/progressive-loader.ts +0 -260
  351. package/src/context/token-pipeline.ts +0 -265
  352. package/src/context/tool-output-budget.ts +0 -178
  353. package/src/core/constraints/__tests__/default-executors.test.ts +0 -57
  354. package/src/core/constraints/default-executors.ts +0 -92
  355. package/src/llm/CONTEXT.md +0 -21
  356. package/src/llm/__tests__/adapter.test.ts +0 -172
  357. package/src/llm/adapter.ts +0 -149
  358. package/src/llm/index.ts +0 -2
  359. package/src/llm/types.ts +0 -81
  360. package/src/tools/__tests__/loader.test.ts +0 -252
  361. package/src/tools/__tests__/registry.test.ts +0 -157
  362. package/src/tools/core/__tests__/core.test.ts +0 -122
  363. package/src/tools/core/index.ts +0 -201
  364. package/src/tools/loader.ts +0 -216
  365. package/src/tools/registry.ts +0 -128
  366. package/src/tools/types.ts +0 -46
@@ -4,18 +4,54 @@
4
4
  * 缓存 git diff 和 src/ 递归扫描结果,减少重复 I/O。
5
5
  * 同一请求内多次 checkConstraints 调用共享缓存。
6
6
  *
7
+ * 计数采样(H6/G5,收编 studio runtime/cache.ts):
8
+ * get/getSync 可传声明式采样配置,对每个 (namespace, key) 独立计数,
9
+ * 第 1 次调用必执行,此后每 N 次执行 1 次完整检查,其余 N-1 次复用缓存;
10
+ * 非采样轮缓存未命中(无缓存或已过期)时返回 defaultValueOnMiss,不执行 fn。
11
+ * invalidate 同时重置对应计数,保证失效后下一次调用恢复为完整检查。
12
+ *
7
13
  * 用法:
8
14
  * ```typescript
9
15
  * const cache = new CheckCache({ ttlMs: 5000 });
16
+ * // 普通 TTL 缓存
10
17
  * const diff = await cache.get('git_diff', projectPath, () => runCommand('git diff --cached', projectPath));
18
+ * // 计数采样:每 3 次调用执行 1 次完整检查
19
+ * const ok = await cache.get('goal_check', key, check, { sampleRate: 3, defaultValueOnMiss: true });
11
20
  * ```
12
21
  */
22
+ /**
23
+ * CheckCache 构造配置
24
+ */
13
25
  export interface CheckCacheConfig {
14
26
  /** 缓存 TTL(毫秒),默认 5000 */
15
27
  ttlMs: number;
16
28
  }
29
+ /**
30
+ * 计数采样配置(声明式)
31
+ *
32
+ * 传此配置后,对应 (namespace, key) 启用计数采样:
33
+ * - 第 1 次调用必执行 fn(采样轮),结果以正常 TTL 写入缓存;
34
+ * - 其后每 N 次调用执行 1 次(计数独立于普通缓存读写);
35
+ * - 非采样轮:缓存命中(未过期)返回缓存值;未命中或已过期
36
+ * 返回 {@link defaultValueOnMiss},不执行 fn、不刷新 TTL。
37
+ */
38
+ export interface CheckSamplingConfig<T> {
39
+ /** 采样率:每 N 次调用执行 1 次完整检查;N <= 1 视为不采样(回退为普通 TTL 缓存语义) */
40
+ sampleRate: number;
41
+ /** 非采样轮且缓存未命中(无缓存或已过期)时的默认返回值 */
42
+ defaultValueOnMiss: T;
43
+ }
44
+ /**
45
+ * 约束检查缓存:TTL 缓存 + 可选计数采样
46
+ *
47
+ * 普通 get/getSync 为 TTL 缓存;传入 sampling 配置后对应 (namespace, key)
48
+ * 启用计数采样(每 N 次执行 1 次完整检查,其余轮次复用缓存或返回
49
+ * defaultValueOnMiss)。语义详见 {@link CheckSamplingConfig}。
50
+ */
17
51
  export declare class CheckCache {
18
52
  private store;
53
+ /** 采样计数器(仅启用采样的 key 有计数) */
54
+ private sampleCounters;
19
55
  private ttlMs;
20
56
  constructor(config?: CheckCacheConfig);
21
57
  /**
@@ -24,15 +60,24 @@ export declare class CheckCache {
24
60
  * @param namespace 命名空间(如 'git_diff', 'src_scan')
25
61
  * @param key 缓存键(如 projectPath)
26
62
  * @param fn miss 时的计算函数
63
+ * @param sampling 计数采样配置(可选;不传时每次 miss 都执行 fn)
27
64
  */
28
- get<T>(namespace: string, key: string, fn: () => Promise<T>): Promise<T>;
65
+ get<T>(namespace: string, key: string, fn: () => Promise<T>, sampling?: CheckSamplingConfig<T>): Promise<T>;
29
66
  /**
30
67
  * 同步版本(用于 readdirSync 等同步操作)
68
+ *
69
+ * @param sampling 计数采样配置(语义同 {@link get})
31
70
  */
32
- getSync<T>(namespace: string, key: string, fn: () => T): T;
71
+ getSync<T>(namespace: string, key: string, fn: () => T, sampling?: CheckSamplingConfig<T>): T;
33
72
  /**
34
- * 使指定命名空间缓存失效
73
+ * 使指定命名空间缓存失效(同时重置该命名空间的采样计数器,
74
+ * 保证失效后的下一次调用恢复为采样轮/完整检查)
35
75
  */
36
76
  invalidate(namespace?: string): void;
77
+ /**
78
+ * 计数采样判定:计数 +1 后返回是否采样轮(第 1 次必采样,每 N 次 1 次)。
79
+ * 仅在采样启用(rate > 1)时调用。
80
+ */
81
+ private isSampleTurn;
37
82
  }
38
83
  //# sourceMappingURL=check-cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-cache.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/check-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAOH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,CAAC,EAAE,gBAAgB;IAIrC;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EACT,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,CAAC;IAgBb;;OAEG;IACH,OAAO,CAAC,CAAC,EACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,CAAC,GACV,CAAC;IAgBJ;;OAEG;IACH,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;CAWrC"}
1
+ {"version":3,"file":"check-cache.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/check-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,kBAAkB,EAAE,CAAC,CAAC;CACvB;AAED;;;;;;GAMG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAiC;IAC9C,4BAA4B;IAC5B,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,KAAK,CAAS;gBAEV,MAAM,CAAC,EAAE,gBAAgB;IAIrC;;;;;;;OAOG;IACG,GAAG,CAAC,CAAC,EACT,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAChC,OAAO,CAAC,CAAC,CAAC;IAuBb;;;;OAIG;IACH,OAAO,CAAC,CAAC,EACP,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,MAAM,CAAC,EACX,QAAQ,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAChC,CAAC;IAsBJ;;;OAGG;IACH,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAkBpC;;;OAGG;IACH,OAAO,CAAC,YAAY;CAKrB"}
@@ -5,16 +5,34 @@
5
5
  * 缓存 git diff 和 src/ 递归扫描结果,减少重复 I/O。
6
6
  * 同一请求内多次 checkConstraints 调用共享缓存。
7
7
  *
8
+ * 计数采样(H6/G5,收编 studio runtime/cache.ts):
9
+ * get/getSync 可传声明式采样配置,对每个 (namespace, key) 独立计数,
10
+ * 第 1 次调用必执行,此后每 N 次执行 1 次完整检查,其余 N-1 次复用缓存;
11
+ * 非采样轮缓存未命中(无缓存或已过期)时返回 defaultValueOnMiss,不执行 fn。
12
+ * invalidate 同时重置对应计数,保证失效后下一次调用恢复为完整检查。
13
+ *
8
14
  * 用法:
9
15
  * ```typescript
10
16
  * const cache = new CheckCache({ ttlMs: 5000 });
17
+ * // 普通 TTL 缓存
11
18
  * const diff = await cache.get('git_diff', projectPath, () => runCommand('git diff --cached', projectPath));
19
+ * // 计数采样:每 3 次调用执行 1 次完整检查
20
+ * const ok = await cache.get('goal_check', key, check, { sampleRate: 3, defaultValueOnMiss: true });
12
21
  * ```
13
22
  */
14
23
  Object.defineProperty(exports, "__esModule", { value: true });
15
24
  exports.CheckCache = void 0;
25
+ /**
26
+ * 约束检查缓存:TTL 缓存 + 可选计数采样
27
+ *
28
+ * 普通 get/getSync 为 TTL 缓存;传入 sampling 配置后对应 (namespace, key)
29
+ * 启用计数采样(每 N 次执行 1 次完整检查,其余轮次复用缓存或返回
30
+ * defaultValueOnMiss)。语义详见 {@link CheckSamplingConfig}。
31
+ */
16
32
  class CheckCache {
17
33
  store = new Map();
34
+ /** 采样计数器(仅启用采样的 key 有计数) */
35
+ sampleCounters = new Map();
18
36
  ttlMs;
19
37
  constructor(config) {
20
38
  this.ttlMs = config?.ttlMs ?? 5000;
@@ -25,13 +43,20 @@ class CheckCache {
25
43
  * @param namespace 命名空间(如 'git_diff', 'src_scan')
26
44
  * @param key 缓存键(如 projectPath)
27
45
  * @param fn miss 时的计算函数
46
+ * @param sampling 计数采样配置(可选;不传时每次 miss 都执行 fn)
28
47
  */
29
- async get(namespace, key, fn) {
48
+ async get(namespace, key, fn, sampling) {
30
49
  const cacheKey = `${namespace}:${key}`;
31
50
  const entry = this.store.get(cacheKey);
32
- if (entry && Date.now() < entry.expiresAt) {
51
+ const rate = sampling ? Math.max(1, Math.floor(sampling.sampleRate)) : 1;
52
+ // 采样轮优先于缓存命中:每 N 次调用必执行一次完整检查(第 1 次必执行)
53
+ const sampleTurn = rate > 1 && this.isSampleTurn(cacheKey, rate);
54
+ if (!sampleTurn && entry && Date.now() < entry.expiresAt) {
33
55
  return entry.value;
34
56
  }
57
+ if (sampling && rate > 1 && !sampleTurn) {
58
+ return sampling.defaultValueOnMiss;
59
+ }
35
60
  const value = await fn();
36
61
  this.store.set(cacheKey, {
37
62
  value,
@@ -41,13 +66,20 @@ class CheckCache {
41
66
  }
42
67
  /**
43
68
  * 同步版本(用于 readdirSync 等同步操作)
69
+ *
70
+ * @param sampling 计数采样配置(语义同 {@link get})
44
71
  */
45
- getSync(namespace, key, fn) {
72
+ getSync(namespace, key, fn, sampling) {
46
73
  const cacheKey = `${namespace}:${key}`;
47
74
  const entry = this.store.get(cacheKey);
48
- if (entry && Date.now() < entry.expiresAt) {
75
+ const rate = sampling ? Math.max(1, Math.floor(sampling.sampleRate)) : 1;
76
+ const sampleTurn = rate > 1 && this.isSampleTurn(cacheKey, rate);
77
+ if (!sampleTurn && entry && Date.now() < entry.expiresAt) {
49
78
  return entry.value;
50
79
  }
80
+ if (sampling && rate > 1 && !sampleTurn) {
81
+ return sampling.defaultValueOnMiss;
82
+ }
51
83
  const value = fn();
52
84
  this.store.set(cacheKey, {
53
85
  value,
@@ -56,7 +88,8 @@ class CheckCache {
56
88
  return value;
57
89
  }
58
90
  /**
59
- * 使指定命名空间缓存失效
91
+ * 使指定命名空间缓存失效(同时重置该命名空间的采样计数器,
92
+ * 保证失效后的下一次调用恢复为采样轮/完整检查)
60
93
  */
61
94
  invalidate(namespace) {
62
95
  if (namespace) {
@@ -65,11 +98,26 @@ class CheckCache {
65
98
  this.store.delete(key);
66
99
  }
67
100
  }
101
+ for (const key of this.sampleCounters.keys()) {
102
+ if (key.startsWith(`${namespace}:`)) {
103
+ this.sampleCounters.delete(key);
104
+ }
105
+ }
68
106
  }
69
107
  else {
70
108
  this.store.clear();
109
+ this.sampleCounters.clear();
71
110
  }
72
111
  }
112
+ /**
113
+ * 计数采样判定:计数 +1 后返回是否采样轮(第 1 次必采样,每 N 次 1 次)。
114
+ * 仅在采样启用(rate > 1)时调用。
115
+ */
116
+ isSampleTurn(cacheKey, rate) {
117
+ const count = (this.sampleCounters.get(cacheKey) ?? 0) + 1;
118
+ this.sampleCounters.set(cacheKey, count);
119
+ return count % rate === 1;
120
+ }
73
121
  }
74
122
  exports.CheckCache = CheckCache;
75
123
  //# sourceMappingURL=check-cache.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"check-cache.js","sourceRoot":"","sources":["../../../src/core/constraints/check-cache.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAYH,MAAa,UAAU;IACb,KAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;IACtC,KAAK,CAAS;IAEtB,YAAY,MAAyB;QACnC,IAAI,CAAC,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC;IACrC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAG,CACP,SAAiB,EACjB,GAAW,EACX,EAAoB;QAEpB,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,KAAU,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,EAAE,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;YACvB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK;SACnC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,OAAO,CACL,SAAiB,EACjB,GAAW,EACX,EAAW;QAEX,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEvC,IAAI,KAAK,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;YAC1C,OAAO,KAAK,CAAC,KAAU,CAAC;QAC1B,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE;YACvB,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK;SACnC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,SAAkB;QAC3B,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gBACpC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAxED,gCAwEC"}
1
+ {"version":3,"file":"check-cache.js","sourceRoot":"","sources":["../../../src/core/constraints/check-cache.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,6 @@ export interface TraceRecorder {
23
23
  */
24
24
  export declare class ConstraintChecker {
25
25
  private static instance;
26
- /** 自定义约束配置(项目级) */
27
- private customConfig;
28
26
  /** 检查结果缓存(S7:src 扫描等重复 I/O,TTL=1s 防跨测试污染) */
29
27
  private cache;
30
28
  /**
@@ -55,17 +53,10 @@ export declare class ConstraintChecker {
55
53
  * 注入 trace 记录器(工单 15:解耦 core 对 monitoring 的值依赖)
56
54
  */
57
55
  setTraceRecorder(recorder: TraceRecorder): void;
58
- /**
59
- * 设置项目级约束配置
60
- *
61
- * @deprecated 修改单例状态,多项目并发时存在污染风险。
62
- * 请改用 checkConstraints() / beforeExecution() 的 customConfig 参数实现 per-request 隔离。
63
- */
64
- setCustomConfig(config: MergedConstraintsConfig): void;
65
56
  /**
66
57
  * 获取当前的约束集合(内置 + 自定义)
67
58
  *
68
- * @param customConfig 可选,per-request 自定义配置(优先级高于 setCustomConfig 的单例状态)
59
+ * @param customConfig 可选,per-request 自定义配置;不传则返回内置约束集
69
60
  */
70
61
  getConstraints(customConfig?: MergedConstraintsConfig | null): {
71
62
  ironLaws: Record<string, Constraint & {
@@ -74,9 +65,6 @@ export declare class ConstraintChecker {
74
65
  guidelines: Record<string, Constraint & {
75
66
  check: (ctx: ConstraintContext) => Promise<ConstraintResult>;
76
67
  }>;
77
- tips: Record<string, Constraint & {
78
- check: (ctx: ConstraintContext) => Promise<ConstraintResult>;
79
- }>;
80
68
  prompts: Record<string, Constraint & {
81
69
  check: (ctx: ConstraintContext) => Promise<ConstraintResult>;
82
70
  }>;
@@ -120,22 +108,20 @@ export declare class ConstraintChecker {
120
108
  findApplicableConstraints(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): {
121
109
  ironLaws: Constraint[];
122
110
  guidelines: Constraint[];
123
- tips: Constraint[];
124
111
  prompts: Constraint[];
125
112
  };
126
113
  /**
127
- * 执行三层约束检查
114
+ * 执行约束检查
128
115
  *
129
116
  * - Iron Laws:检查失败立即抛出异常
130
117
  * - Guidelines:检查失败记录警告
131
- * - Tips:检查失败记录提示
132
118
  *
133
119
  * @param context 约束上下文
134
120
  * @param customConfig 可选,per-request 自定义配置(避免多请求间的单例状态污染)
135
121
  */
136
122
  checkConstraints(context: ConstraintContext, customConfig?: MergedConstraintsConfig | null): Promise<ConstraintCheckResult>;
137
123
  /**
138
- * S11: 安全全量检查 — 全部三层约束检查,不抛异常
124
+ * S11: 安全全量检查 — 全部约束检查,不抛异常
139
125
  *
140
126
  * 区别 checkConstraints(): Iron Law 违规收集在结果中而不是抛异常。
141
127
  * 调用方通过 result.passed + result.warningCount 判断状态。
@@ -1 +1 @@
1
- {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
@@ -56,8 +56,6 @@ const NOOP_TRACE_RECORDER = { record: () => undefined };
56
56
  */
57
57
  class ConstraintChecker {
58
58
  static instance;
59
- /** 自定义约束配置(项目级) */
60
- customConfig = null;
61
59
  /** 检查结果缓存(S7:src 扫描等重复 I/O,TTL=1s 防跨测试污染) */
62
60
  cache = new check_cache_1.CheckCache({ ttlMs: 1000 });
63
61
  /**
@@ -108,25 +106,16 @@ class ConstraintChecker {
108
106
  setTraceRecorder(recorder) {
109
107
  this.traceRecorder = recorder;
110
108
  }
111
- /**
112
- * 设置项目级约束配置
113
- *
114
- * @deprecated 修改单例状态,多项目并发时存在污染风险。
115
- * 请改用 checkConstraints() / beforeExecution() 的 customConfig 参数实现 per-request 隔离。
116
- */
117
- setCustomConfig(config) {
118
- this.customConfig = config;
119
- }
120
109
  /**
121
110
  * 获取当前的约束集合(内置 + 自定义)
122
111
  *
123
- * @param customConfig 可选,per-request 自定义配置(优先级高于 setCustomConfig 的单例状态)
112
+ * @param customConfig 可选,per-request 自定义配置;不传则返回内置约束集
124
113
  */
125
114
  getConstraints(customConfig) {
126
- const config = customConfig ?? this.customConfig;
115
+ const config = customConfig;
127
116
  const source = config
128
- ? { ironLaws: config.ironLaws, guidelines: config.guidelines, tips: config.tips, prompts: config.prompts ?? definitions_1.PROMPTS }
129
- : { ironLaws: definitions_1.IRON_LAWS, guidelines: definitions_1.GUIDELINES, tips: definitions_1.TIPS, prompts: definitions_1.PROMPTS };
117
+ ? { ironLaws: config.ironLaws, guidelines: config.guidelines, prompts: config.prompts ?? definitions_1.PROMPTS }
118
+ : { ironLaws: definitions_1.IRON_LAWS, guidelines: definitions_1.GUIDELINES, prompts: definitions_1.PROMPTS };
130
119
  // Wire unified check() method on every constraint
131
120
  const wire = (constraints) => {
132
121
  for (const c of Object.values(constraints)) {
@@ -137,7 +126,6 @@ class ConstraintChecker {
137
126
  return {
138
127
  ironLaws: wire(source.ironLaws),
139
128
  guidelines: wire(source.guidelines),
140
- tips: wire(source.tips),
141
129
  prompts: wire(source.prompts),
142
130
  };
143
131
  }
@@ -210,7 +198,6 @@ class ConstraintChecker {
210
198
  case 'guideline':
211
199
  return 'warning';
212
200
  case 'prompt':
213
- case 'tip':
214
201
  return 'info';
215
202
  default:
216
203
  return 'warning';
@@ -287,16 +274,14 @@ class ConstraintChecker {
287
274
  return {
288
275
  ironLaws: filterByTrigger(constraints.ironLaws),
289
276
  guidelines: filterByTrigger(constraints.guidelines),
290
- tips: filterByTrigger(constraints.tips),
291
277
  prompts: filterByTrigger(constraints.prompts),
292
278
  };
293
279
  }
294
280
  /**
295
- * 执行三层约束检查
281
+ * 执行约束检查
296
282
  *
297
283
  * - Iron Laws:检查失败立即抛出异常
298
284
  * - Guidelines:检查失败记录警告
299
- * - Tips:检查失败记录提示
300
285
  *
301
286
  * @param context 约束上下文
302
287
  * @param customConfig 可选,per-request 自定义配置(避免多请求间的单例状态污染)
@@ -309,10 +294,8 @@ class ConstraintChecker {
309
294
  const result = {
310
295
  ironLaws: [],
311
296
  guidelines: [],
312
- tips: [],
313
297
  passed: true,
314
298
  warningCount: 0,
315
- tipCount: 0,
316
299
  };
317
300
  const traceCollector = this.traceRecorder;
318
301
  const constraints = this.getConstraints(customConfig);
@@ -339,17 +322,6 @@ class ConstraintChecker {
339
322
  result.warningCount++;
340
323
  }
341
324
  }
342
- // 3. Tips: 仅记录
343
- for (const constraint of Object.values(constraints.tips)) {
344
- if (!this.matchesTrigger(constraint, context))
345
- continue;
346
- const checkResult = await this.check(constraint, context);
347
- result.tips.push(checkResult);
348
- this.recordTrace(traceCollector, constraint, checkResult, context);
349
- if (!checkResult.satisfied) {
350
- result.tipCount++;
351
- }
352
- }
353
325
  return result;
354
326
  }
355
327
  finally {
@@ -357,7 +329,7 @@ class ConstraintChecker {
357
329
  }
358
330
  }
359
331
  /**
360
- * S11: 安全全量检查 — 全部三层约束检查,不抛异常
332
+ * S11: 安全全量检查 — 全部约束检查,不抛异常
361
333
  *
362
334
  * 区别 checkConstraints(): Iron Law 违规收集在结果中而不是抛异常。
363
335
  * 调用方通过 result.passed + result.warningCount 判断状态。
@@ -370,10 +342,8 @@ class ConstraintChecker {
370
342
  const result = {
371
343
  ironLaws: [],
372
344
  guidelines: [],
373
- tips: [],
374
345
  passed: true,
375
346
  warningCount: 0,
376
- tipCount: 0,
377
347
  };
378
348
  const traceCollector = this.traceRecorder;
379
349
  const constraints = this.getConstraints(customConfig);
@@ -395,15 +365,6 @@ class ConstraintChecker {
395
365
  if (!checkResult.satisfied)
396
366
  result.warningCount++;
397
367
  }
398
- for (const constraint of Object.values(constraints.tips)) {
399
- if (!this.matchesTrigger(constraint, context))
400
- continue;
401
- const checkResult = await this.check(constraint, context);
402
- result.tips.push(checkResult);
403
- this.recordTrace(traceCollector, constraint, checkResult, context);
404
- if (!checkResult.satisfied)
405
- result.tipCount++;
406
- }
407
368
  return result;
408
369
  }
409
370
  finally {
@@ -442,12 +403,11 @@ async function checkConstraint(constraintId, context) {
442
403
  const constraints = checker.getConstraints();
443
404
  const constraint = constraints.ironLaws[constraintId] ||
444
405
  constraints.guidelines[constraintId] ||
445
- constraints.tips[constraintId] ||
446
406
  constraints.prompts[constraintId];
447
407
  if (!constraint) {
448
408
  return {
449
409
  id: constraintId,
450
- level: 'tip',
410
+ level: 'guideline',
451
411
  satisfied: false,
452
412
  message: `未知的约束: ${constraintId}`,
453
413
  checkedAt: new Date(),
@@ -1 +1 @@
1
- {"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,6 @@
4
4
  * kind 二元模型(ADR-0001):
5
5
  * - IRON_LAWS / GUIDELINES:check 层,必须带真实 checker(注册表闭环)
6
6
  * - PROMPTS:prompt 层,纯文本注入,不占检查位
7
- * - TIPS:已退役,导出空表仅为在途消费者(capabilities-syncer)编译兼容,
8
- * 后续阶段随其改造一并删除
9
7
  *
10
8
  * 工单 20:字面量定义按层拆至 ./definitions/{iron-laws,guidelines,prompts}.ts;
11
9
  * 本文件保持原路径做薄聚合(studio rule-scanner 按此路径解析,P0 #8)。
@@ -14,11 +12,6 @@ import type { Constraint, ConstraintTrigger } from '../../types/constraint';
14
12
  import { IRON_LAWS } from './definitions/iron-laws';
15
13
  import { GUIDELINES } from './definitions/guidelines';
16
14
  import { PROMPTS } from './definitions/prompts';
17
- /**
18
- * @deprecated TIPS 已退役(ADR-0001),恒为空表。
19
- * 仅为在途 capabilities-syncer 编译兼容保留,后续阶段删除。
20
- */
21
- export declare const TIPS: Record<string, Constraint>;
22
15
  export { IRON_LAWS, GUIDELINES, PROMPTS };
23
16
  /**
24
17
  * 获取所有约束(check + prompt 全量,带 kind)
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAM,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAM1C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAMhD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,EAAE,CAKjF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEhE"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../src/core/constraints/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AAM1C;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAMhD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,UAAU,EAAE,CAKjF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAEhE"}
@@ -5,14 +5,12 @@
5
5
  * kind 二元模型(ADR-0001):
6
6
  * - IRON_LAWS / GUIDELINES:check 层,必须带真实 checker(注册表闭环)
7
7
  * - PROMPTS:prompt 层,纯文本注入,不占检查位
8
- * - TIPS:已退役,导出空表仅为在途消费者(capabilities-syncer)编译兼容,
9
- * 后续阶段随其改造一并删除
10
8
  *
11
9
  * 工单 20:字面量定义按层拆至 ./definitions/{iron-laws,guidelines,prompts}.ts;
12
10
  * 本文件保持原路径做薄聚合(studio rule-scanner 按此路径解析,P0 #8)。
13
11
  */
14
12
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.PROMPTS = exports.GUIDELINES = exports.IRON_LAWS = exports.TIPS = void 0;
13
+ exports.PROMPTS = exports.GUIDELINES = exports.IRON_LAWS = void 0;
16
14
  exports.getAllConstraints = getAllConstraints;
17
15
  exports.findConstraintsByTrigger = findConstraintsByTrigger;
18
16
  exports.getConstraint = getConstraint;
@@ -22,11 +20,6 @@ const guidelines_1 = require("./definitions/guidelines");
22
20
  Object.defineProperty(exports, "GUIDELINES", { enumerable: true, get: function () { return guidelines_1.GUIDELINES; } });
23
21
  const prompts_1 = require("./definitions/prompts");
24
22
  Object.defineProperty(exports, "PROMPTS", { enumerable: true, get: function () { return prompts_1.PROMPTS; } });
25
- /**
26
- * @deprecated TIPS 已退役(ADR-0001),恒为空表。
27
- * 仅为在途 capabilities-syncer 编译兼容保留,后续阶段删除。
28
- */
29
- exports.TIPS = {};
30
23
  // ========================================
31
24
  // 辅助函数
32
25
  // ========================================
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/core/constraints/definitions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAsBH,8CAMC;AAKD,4DAKC;AAKD,sCAEC;AA1CD,uDAAoD;AAU3C,0FAVA,qBAAS,OAUA;AATlB,yDAAsD;AASlC,2FATX,uBAAU,OASW;AAR9B,mDAAgD;AAQhB,wFARvB,iBAAO,OAQuB;AANvC;;;GAGG;AACU,QAAA,IAAI,GAA+B,EAAE,CAAC;AAInD,2CAA2C;AAC3C,OAAO;AACP,2CAA2C;AAE3C;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO;QACL,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAS,CAAC;QAC3B,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAU,CAAC;QAC5B,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAO,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,OAA0B;IACjE,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/F,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAU;IACtC,OAAO,qBAAS,CAAC,EAAE,CAAC,IAAI,uBAAU,CAAC,EAAE,CAAC,IAAI,iBAAO,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../src/core/constraints/definitions.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAgBH,8CAMC;AAKD,4DAKC;AAKD,sCAEC;AApCD,uDAAoD;AAI3C,0FAJA,qBAAS,OAIA;AAHlB,yDAAsD;AAGlC,2FAHX,uBAAU,OAGW;AAF9B,mDAAgD;AAEhB,wFAFvB,iBAAO,OAEuB;AAEvC,2CAA2C;AAC3C,OAAO;AACP,2CAA2C;AAE3C;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO;QACL,GAAG,MAAM,CAAC,MAAM,CAAC,qBAAS,CAAC;QAC3B,GAAG,MAAM,CAAC,MAAM,CAAC,uBAAU,CAAC;QAC5B,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAO,CAAC;KAC1B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,wBAAwB,CAAC,OAA0B;IACjE,OAAO,iBAAiB,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAC/F,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,EAAU;IACtC,OAAO,qBAAS,CAAC,EAAE,CAAC,IAAI,uBAAU,CAAC,EAAE,CAAC,IAAI,iBAAO,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC"}
@@ -31,7 +31,6 @@ interface RunContext {
31
31
  constraintCounts?: {
32
32
  ironLaws?: number;
33
33
  guidelines?: number;
34
- tips?: number;
35
34
  };
36
35
  }
37
36
  /**
@@ -46,7 +45,6 @@ export declare class FreshnessRunner {
46
45
  constraintCounts?: {
47
46
  ironLaws?: number;
48
47
  guidelines?: number;
49
- tips?: number;
50
48
  };
51
49
  }): FreshnessCheckResult[];
52
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/doc-freshness/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAKnB,MAAM,+BAA+B,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,IAAI,EAAE,OAAO,CAAC;IACd,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CACJ,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAC9G,oBAAoB,EAAE;IAazB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,GAAG,oBAAoB;IAsB9E,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,WAAW;IAiHnB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,kBAAkB;IA0E1B;;OAEG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM;IA6BT;;OAEG;IACH,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,MAAM;IAyCT,OAAO,CAAC,YAAY;CAGrB"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/doc-freshness/runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAKnB,MAAM,+BAA+B,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,IAAI,EAAE,OAAO,CAAC;IACd,aAAa;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,UAAU,UAAU;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,uDAAuD;IACvD,gBAAgB,CAAC,EAAE;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACH,MAAM,CACJ,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,gBAAgB,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAC/F,oBAAoB,EAAE;IAazB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,GAAG,oBAAoB;IAsB9E,OAAO,CAAC,qBAAqB;IA0C7B,OAAO,CAAC,gBAAgB;IA+BxB,OAAO,CAAC,WAAW;IAiHnB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAiCrB,OAAO,CAAC,kBAAkB;IA0E1B;;OAEG;IACH,YAAY,CACV,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EACjB,WAAW,EAAE,MAAM,GAClB,MAAM;IA6BT;;OAEG;IACH,aAAa,CACX,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,MAAM;IAyCT,OAAO,CAAC,YAAY;CAGrB"}