@dommaker/harness 1.9.0 → 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 (253) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +9 -12
  3. package/dist/cli/commands/check.d.ts +3 -3
  4. package/dist/cli/commands/check.d.ts.map +1 -1
  5. package/dist/cli/commands/check.js +41 -78
  6. package/dist/cli/commands/check.js.map +1 -1
  7. package/dist/cli/commands/constraints-report.d.ts +2 -10
  8. package/dist/cli/commands/constraints-report.d.ts.map +1 -1
  9. package/dist/cli/commands/constraints-report.js +4 -57
  10. package/dist/cli/commands/constraints-report.js.map +1 -1
  11. package/dist/cli/commands/constraints-retire.d.ts +9 -23
  12. package/dist/cli/commands/constraints-retire.d.ts.map +1 -1
  13. package/dist/cli/commands/constraints-retire.js +39 -121
  14. package/dist/cli/commands/constraints-retire.js.map +1 -1
  15. package/dist/cli/commands/constraints.d.ts +3 -8
  16. package/dist/cli/commands/constraints.d.ts.map +1 -1
  17. package/dist/cli/commands/constraints.js +8 -23
  18. package/dist/cli/commands/constraints.js.map +1 -1
  19. package/dist/cli/commands/definitions.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/core/constraints/capabilities-parser.d.ts.map +1 -1
  42. package/dist/core/constraints/capabilities-parser.js +16 -4
  43. package/dist/core/constraints/capabilities-parser.js.map +1 -1
  44. package/dist/core/constraints/checker.d.ts +15 -24
  45. package/dist/core/constraints/checker.d.ts.map +1 -1
  46. package/dist/core/constraints/checker.js +33 -72
  47. package/dist/core/constraints/checker.js.map +1 -1
  48. package/dist/core/constraints/checkers/docs-freshness.js +1 -1
  49. package/dist/core/constraints/checkers/docs-freshness.js.map +1 -1
  50. package/dist/core/constraints/checkers/governance-presence.d.ts +2 -1
  51. package/dist/core/constraints/checkers/governance-presence.d.ts.map +1 -1
  52. package/dist/core/constraints/checkers/governance-presence.js +4 -3
  53. package/dist/core/constraints/checkers/governance-presence.js.map +1 -1
  54. package/dist/core/constraints/checkers/index.d.ts +1 -1
  55. package/dist/core/constraints/checkers/index.d.ts.map +1 -1
  56. package/dist/core/constraints/checkers/index.js +4 -8
  57. package/dist/core/constraints/checkers/index.js.map +1 -1
  58. package/dist/core/constraints/checkers/iron-flags.d.ts +3 -4
  59. package/dist/core/constraints/checkers/iron-flags.d.ts.map +1 -1
  60. package/dist/core/constraints/checkers/iron-flags.js +4 -5
  61. package/dist/core/constraints/checkers/iron-flags.js.map +1 -1
  62. package/dist/core/constraints/checkers/no-test-simplification.js +1 -1
  63. package/dist/core/constraints/checkers/no-test-simplification.js.map +1 -1
  64. package/dist/core/constraints/checkers/types.d.ts +1 -1
  65. package/dist/core/constraints/checkers/types.js +1 -1
  66. package/dist/core/constraints/definitions/guidelines.d.ts +4 -4
  67. package/dist/core/constraints/definitions/guidelines.d.ts.map +1 -1
  68. package/dist/core/constraints/definitions/guidelines.js +9 -25
  69. package/dist/core/constraints/definitions/guidelines.js.map +1 -1
  70. package/dist/core/constraints/definitions/iron-laws.d.ts +4 -4
  71. package/dist/core/constraints/definitions/iron-laws.d.ts.map +1 -1
  72. package/dist/core/constraints/definitions/iron-laws.js +10 -81
  73. package/dist/core/constraints/definitions/iron-laws.js.map +1 -1
  74. package/dist/core/constraints/definitions.d.ts +7 -9
  75. package/dist/core/constraints/definitions.d.ts.map +1 -1
  76. package/dist/core/constraints/definitions.js +13 -16
  77. package/dist/core/constraints/definitions.js.map +1 -1
  78. package/dist/core/constraints/index.d.ts +2 -5
  79. package/dist/core/constraints/index.d.ts.map +1 -1
  80. package/dist/core/constraints/index.js +3 -13
  81. package/dist/core/constraints/index.js.map +1 -1
  82. package/dist/core/constraints/injection-writer.d.ts +10 -38
  83. package/dist/core/constraints/injection-writer.d.ts.map +1 -1
  84. package/dist/core/constraints/injection-writer.js +17 -54
  85. package/dist/core/constraints/injection-writer.js.map +1 -1
  86. package/dist/core/constraints/run-env.d.ts +1 -10
  87. package/dist/core/constraints/run-env.d.ts.map +1 -1
  88. package/dist/core/constraints/run-env.js +1 -22
  89. package/dist/core/constraints/run-env.js.map +1 -1
  90. package/dist/core/constraints/usage-report.d.ts +5 -7
  91. package/dist/core/constraints/usage-report.d.ts.map +1 -1
  92. package/dist/core/constraints/usage-report.js +5 -10
  93. package/dist/core/constraints/usage-report.js.map +1 -1
  94. package/dist/core/effective-constraints.d.ts +12 -22
  95. package/dist/core/effective-constraints.d.ts.map +1 -1
  96. package/dist/core/effective-constraints.js +13 -30
  97. package/dist/core/effective-constraints.js.map +1 -1
  98. package/dist/core/index.d.ts +2 -2
  99. package/dist/core/index.d.ts.map +1 -1
  100. package/dist/core/index.js +3 -9
  101. package/dist/core/index.js.map +1 -1
  102. package/dist/core/project-config-loader.d.ts +4 -42
  103. package/dist/core/project-config-loader.d.ts.map +1 -1
  104. package/dist/core/project-config-loader.js +16 -125
  105. package/dist/core/project-config-loader.js.map +1 -1
  106. package/dist/core/validators/passes-gate.d.ts +2 -2
  107. package/dist/core/validators/passes-gate.js +6 -6
  108. package/dist/core/validators/passes-gate.js.map +1 -1
  109. package/dist/index.d.ts +7 -10
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +9 -18
  112. package/dist/index.js.map +1 -1
  113. package/dist/monitoring/trace-analyzer.d.ts.map +1 -1
  114. package/dist/monitoring/trace-analyzer.js +11 -12
  115. package/dist/monitoring/trace-analyzer.js.map +1 -1
  116. package/dist/monitoring/traces.d.ts +4 -4
  117. package/dist/monitoring/traces.d.ts.map +1 -1
  118. package/dist/monitoring/traces.js +8 -8
  119. package/dist/monitoring/traces.js.map +1 -1
  120. package/dist/presets/standard.d.ts +8 -10
  121. package/dist/presets/standard.d.ts.map +1 -1
  122. package/dist/presets/standard.js +10 -16
  123. package/dist/presets/standard.js.map +1 -1
  124. package/dist/types/constraint.d.ts +24 -35
  125. package/dist/types/constraint.d.ts.map +1 -1
  126. package/dist/types/constraint.js +8 -7
  127. package/dist/types/constraint.js.map +1 -1
  128. package/dist/types/passes-gate.d.ts +5 -5
  129. package/dist/types/passes-gate.d.ts.map +1 -1
  130. package/dist/types/project-config.d.ts +8 -66
  131. package/dist/types/project-config.d.ts.map +1 -1
  132. package/dist/types/project-config.js +3 -2
  133. package/dist/types/project-config.js.map +1 -1
  134. package/dist/types/trace.d.ts +8 -10
  135. package/dist/types/trace.d.ts.map +1 -1
  136. package/package.json +2 -2
  137. package/src/CONTEXT.md +2 -2
  138. package/src/__tests__/checker-extra.test.ts +37 -61
  139. package/src/__tests__/checker.test.ts +10 -115
  140. package/src/__tests__/effective-constraints.test.ts +18 -83
  141. package/src/__tests__/iron-laws.test.ts +71 -90
  142. package/src/__tests__/passes-gate-check.test.ts +2 -2
  143. package/src/__tests__/project-config-loader-extra.test.ts +22 -123
  144. package/src/__tests__/project-config-loader.test.ts +5 -33
  145. package/src/__tests__/public-exports.test.ts +1 -7
  146. package/src/__tests__/public-type-surface.test.ts +2 -5
  147. package/src/__tests__/public-value-surface.test.ts +1 -7
  148. package/src/__tests__/skip-semantics.test.ts +21 -37
  149. package/src/__tests__/trace-analyzer-extra.test.ts +14 -14
  150. package/src/__tests__/trace-analyzer.test.ts +21 -21
  151. package/src/__tests__/trace-collector.test.ts +22 -22
  152. package/src/__tests__/traces.test.ts +27 -28
  153. package/src/cli/commands/CONTEXT.md +9 -9
  154. package/src/cli/commands/__tests__/check-read-count.test.ts +4 -15
  155. package/src/cli/commands/__tests__/check-skip-output.test.ts +14 -14
  156. package/src/cli/commands/__tests__/check.test.ts +14 -31
  157. package/src/cli/commands/__tests__/constraints-report.test.ts +12 -80
  158. package/src/cli/commands/__tests__/constraints-retire.test.ts +42 -231
  159. package/src/cli/commands/__tests__/init-governance-io.test.ts +12 -58
  160. package/src/cli/commands/__tests__/init-ondisk.test.ts +12 -20
  161. package/src/cli/commands/__tests__/init.test.ts +0 -11
  162. package/src/cli/commands/__tests__/project-path-anchoring.test.ts +2 -2
  163. package/src/cli/commands/__tests__/report-extra.test.ts +4 -4
  164. package/src/cli/commands/__tests__/report.test.ts +1 -1
  165. package/src/cli/commands/__tests__/scaffold.test.ts +4 -14
  166. package/src/cli/commands/__tests__/status-analysis-wiring.test.ts +3 -3
  167. package/src/cli/commands/__tests__/status-extra.test.ts +14 -14
  168. package/src/cli/commands/__tests__/status.test.ts +12 -12
  169. package/src/cli/commands/__tests__/sync-docs-agents.test.ts +1 -1
  170. package/src/cli/commands/check.ts +43 -82
  171. package/src/cli/commands/constraints-report.ts +4 -59
  172. package/src/cli/commands/constraints-retire.ts +49 -154
  173. package/src/cli/commands/constraints.ts +11 -26
  174. package/src/cli/commands/definitions.ts +2 -2
  175. package/src/cli/commands/init.ts +8 -179
  176. package/src/cli/commands/report.ts +19 -23
  177. package/src/cli/commands/scaffold-templates.ts +1 -37
  178. package/src/cli/commands/scaffold.ts +0 -11
  179. package/src/cli/commands/status.ts +10 -10
  180. package/src/cli/commands/sync-docs/agents-syncer.ts +4 -25
  181. package/src/core/CONTEXT.md +9 -9
  182. package/src/core/constraints/__tests__/capability-counts.test.ts +5 -5
  183. package/src/core/constraints/__tests__/collect-constraints.test.ts +13 -8
  184. package/src/core/constraints/__tests__/git-evidence.test.ts +4 -7
  185. package/src/core/constraints/__tests__/injection-writer.test.ts +8 -61
  186. package/src/core/constraints/__tests__/run-env.test.ts +5 -34
  187. package/src/core/constraints/__tests__/trace-injection.test.ts +1 -1
  188. package/src/core/constraints/capabilities-parser.ts +17 -5
  189. package/src/core/constraints/checker.ts +39 -88
  190. package/src/core/constraints/checkers/__tests__/check-outcome.test.ts +5 -8
  191. package/src/core/constraints/checkers/__tests__/governance-presence.test.ts +1 -53
  192. package/src/core/constraints/checkers/__tests__/iron-flags.test.ts +5 -25
  193. package/src/core/constraints/checkers/docs-freshness.ts +1 -1
  194. package/src/core/constraints/checkers/governance-presence.ts +4 -3
  195. package/src/core/constraints/checkers/index.ts +4 -10
  196. package/src/core/constraints/checkers/iron-flags.ts +3 -12
  197. package/src/core/constraints/checkers/no-test-simplification.ts +1 -1
  198. package/src/core/constraints/checkers/types.ts +1 -1
  199. package/src/core/constraints/definitions/guidelines.ts +8 -25
  200. package/src/core/constraints/definitions/iron-laws.ts +9 -82
  201. package/src/core/constraints/definitions.ts +14 -15
  202. package/src/core/constraints/index.ts +4 -19
  203. package/src/core/constraints/injection-writer.ts +16 -61
  204. package/src/core/constraints/run-env.ts +1 -33
  205. package/src/core/constraints/usage-report.ts +8 -15
  206. package/src/core/effective-constraints.ts +14 -45
  207. package/src/core/index.ts +3 -10
  208. package/src/core/project-config-loader.ts +20 -145
  209. package/src/core/validators/passes-gate.ts +6 -6
  210. package/src/failure/CONTEXT.md +1 -1
  211. package/src/hooks/__tests__/bootstrap.test.ts +3 -5
  212. package/src/index.ts +8 -18
  213. package/src/monitoring/__tests__/trace-file-anchoring.test.ts +1 -1
  214. package/src/monitoring/__tests__/traces.test.ts +22 -22
  215. package/src/monitoring/trace-analyzer.ts +12 -13
  216. package/src/monitoring/traces.ts +8 -8
  217. package/src/presets/__tests__/standard.test.ts +12 -16
  218. package/src/presets/standard.ts +14 -23
  219. package/src/types/__tests__/types.test.ts +3 -3
  220. package/src/types/constraint.ts +26 -40
  221. package/src/types/passes-gate.ts +5 -5
  222. package/src/types/project-config.ts +8 -77
  223. package/src/types/trace.ts +8 -11
  224. package/dist/core/constraints/agent-prompt-renderer.d.ts +0 -32
  225. package/dist/core/constraints/agent-prompt-renderer.d.ts.map +0 -1
  226. package/dist/core/constraints/agent-prompt-renderer.js +0 -55
  227. package/dist/core/constraints/agent-prompt-renderer.js.map +0 -1
  228. package/dist/core/constraints/checkers/no-bypass-checkpoint.d.ts +0 -6
  229. package/dist/core/constraints/checkers/no-bypass-checkpoint.d.ts.map +0 -1
  230. package/dist/core/constraints/checkers/no-bypass-checkpoint.js +0 -40
  231. package/dist/core/constraints/checkers/no-bypass-checkpoint.js.map +0 -1
  232. package/dist/core/constraints/definitions/prompts.d.ts +0 -12
  233. package/dist/core/constraints/definitions/prompts.d.ts.map +0 -1
  234. package/dist/core/constraints/definitions/prompts.js +0 -400
  235. package/dist/core/constraints/definitions/prompts.js.map +0 -1
  236. package/dist/core/constraints/injection-drift.d.ts +0 -61
  237. package/dist/core/constraints/injection-drift.d.ts.map +0 -1
  238. package/dist/core/constraints/injection-drift.js +0 -131
  239. package/dist/core/constraints/injection-drift.js.map +0 -1
  240. package/dist/core/constraints/injection-renderer.d.ts +0 -23
  241. package/dist/core/constraints/injection-renderer.d.ts.map +0 -1
  242. package/dist/core/constraints/injection-renderer.js +0 -44
  243. package/dist/core/constraints/injection-renderer.js.map +0 -1
  244. package/src/cli/commands/__tests__/check-drift.test.ts +0 -158
  245. package/src/cli/commands/__tests__/init-injection.test.ts +0 -466
  246. package/src/core/constraints/__tests__/agent-prompt-renderer.test.ts +0 -129
  247. package/src/core/constraints/__tests__/injection-drift.test.ts +0 -247
  248. package/src/core/constraints/agent-prompt-renderer.ts +0 -67
  249. package/src/core/constraints/checkers/__tests__/no-bypass-checkpoint.test.ts +0 -76
  250. package/src/core/constraints/checkers/no-bypass-checkpoint.ts +0 -40
  251. package/src/core/constraints/definitions/prompts.ts +0 -414
  252. package/src/core/constraints/injection-drift.ts +0 -142
  253. package/src/core/constraints/injection-renderer.ts +0 -44
@@ -1 +1 @@
1
- {"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAoYH,0CAwBC;AAmBD,4CAUC;AAQD,oDAKC;AApcD,uDAOgC;AAEhC,+CAA+D;AAE/D,yCAA4C;AAC5C,+BAAsC;AACtC,+CAA2C;AAC3C,qDAA0D;AAC1D,yCAAyG;AACzG,iDAAqE;AACrE,uCAAsD;AAatD,qBAAqB;AACrB,MAAM,mBAAmB,GAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC;AAEvE;;GAEG;AACH,MAAa,iBAAiB;IACpB,MAAM,CAAC,QAAQ,CAAoB;IAE3C,6CAA6C;IACrC,KAAK,GAAe,IAAI,wBAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5D,+BAA+B;IACd,aAAa,CAAgB;IAE9C,YAAY,gBAA+B,mBAAmB;QAC5D,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC;YAChC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACvD,CAAC;QACD,OAAO,iBAAiB,CAAC,QAAQ,CAAC;IACpC,CAAC;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,YAA6C;QAK1D,MAAM,MAAM,GAAG,YAAY,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM;YACnB,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,qBAAO,EAAE;YAClG,CAAC,CAAC,EAAE,QAAQ,EAAE,uBAAS,EAAE,UAAU,EAAE,wBAAU,EAAE,OAAO,EAAE,qBAAO,EAAE,CAAC;QAEtE,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CACT,UAAsB,EACtB,OAA0B,EAC1B,QAAsB,EACtB,MAAe;QAEf,2CAA2C;QAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,SAAS,EAAE,IAAI;gBACf,UAAU;gBACV,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;QACJ,CAAC;QAED,8DAA8D;QAC9D,MAAM,OAAO,GAAG,IAAA,gCAAqB,EACnC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CACpE,CAAC;QAEF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACL,EAAE,EAAE,UAAU,CAAC,EAAE;gBACjB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,IAAI;gBACb,UAAU;gBACV,OAAO,EAAE,MAAM,UAAU,CAAC,EAAE,oBAAoB;gBAChD,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QAEpC,OAAO;YACL,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,SAAS;YACT,UAAU;YACV,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO;YACnD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACpE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW;YAC9D,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,KAAsB;QACxC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,UAAU;gBACb,OAAO,OAAO,CAAC;YACjB,KAAK,WAAW;gBACd,OAAO,SAAS,CAAC;YACnB,KAAK,QAAQ;gBACX,OAAO,MAAM,CAAC;YAChB;gBACE,OAAO,SAAS,CAAC;QACrB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,WAAW,CACjB,UAAsB,EACtB,WAA6B,EAC7B,OAA0B;QAE1B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YACxB,YAAY,EAAE,UAAU,CAAC,EAAE;YAC3B,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC9E,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC;YAC5C,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,WAAW,CAAC,QAAQ;SAC/B,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,iBAAiB,CAC7B,UAAsB,EACtB,OAA0B,EAC1B,QAAsB,EACtB,MAAe;QAEf,MAAM,IAAI,GAAG,IAAA,6BAAkB,EAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CACb,iBAAiB,UAAU,CAAC,EAAE,sCAAsC;gBACpE,yCAAyC,CAC1C,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAA,gCAAiB,EAAC,WAAW,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAA,wBAAa,EAAC,OAAO,EAAE;YACjC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE;YACxC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACvD,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE,CACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,CACvD,IAAA,6BAAiB,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxE,IAAA,eAAQ,EAAC,WAAW,EAAE,CAAC,CAAC,CACzB,CACF;SACJ,EAAE,MAAM,CAAC,CAAC;QAEX,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;OAKG;IACH,yBAAyB,CACvB,OAA0B,EAC1B,YAA6C;QAM7C,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAEtD,MAAM,eAAe,GAAG,CAAC,aAAyC,EAAgB,EAAE;YAClF,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CACtD,IAAA,yBAAc,EAAC,UAAU,EAAE,UAAU,CAAC,CACvC,CAAC;QACJ,CAAC,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC;YAC/C,UAAU,EAAE,eAAe,CAAC,WAAW,CAAC,UAAU,CAAC;YACnD,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAA0B,EAC1B,YAA6C,EAC7C,QAAsB,EACtB,MAAe;QAEf,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClF,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,kBAAkB,CACtB,OAA0B,EAC1B,YAA6C,EAC7C,QAAsB,EACtB,MAAe;QAEf,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IACpF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAC7B,OAA0B,EAC1B,YAAwD,EACxD,QAAiC,EACjC,MAA0B,EAC1B,IAAyB;QAEzB,oEAAoE;QACpE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAA,gCAAiB,EAAC,WAAW,CAAC,CAAC;QACvD,0DAA0D;QAC1D,MAAM,GAAG,GAAG,MAAM,IAAI,IAAA,sBAAY,EAAC,WAAW,CAAC,CAAC;QAEhD,MAAM,MAAM,GAA0B;YACpC,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,EAAE;YACd,MAAM,EAAE,IAAI;YACZ,YAAY,EAAE,CAAC;SAChB,CAAC;QAEF,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACtD,iEAAiE;QACjE,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzE,8CAA8C;QAC9C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAA,yBAAc,EAAC,UAAU,EAAE,UAAU,CAAC;gBAAE,SAAS;YAEtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAEnD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC3B,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;gBACtB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,MAAM,IAAI,qCAAwB,CAAC,WAAW,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,IAAA,yBAAc,EAAC,UAAU,EAAE,UAAU,CAAC;gBAAE,SAAS;YAEtD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACpE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;YAEnD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC3B,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,eAAe,CACnB,OAA0B,EAC1B,YAA6C,EAC7C,QAAsB;QAEtB,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACzD,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAA,gCAAiB,EAAC,WAAW,CAAC,CAAC;QACvD,6CAA6C;QAC7C,MAAM,GAAG,GAAG,IAAA,sBAAY,EAAC,WAAW,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACtD,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;QAEzE,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAA,yBAAc,EAAC,UAAU,EAAE,UAAU,CAAC;gBAAE,SAAS;YAEtD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,qCAAwB,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAnVD,8CAmVC;AAED,2CAA2C;AAC3C,OAAO;AACP,2CAA2C;AAE3C;;;;GAIG;AACI,KAAK,UAAU,eAAe,CACnC,YAAoB,EACpB,OAA0B,EAC1B,YAA6C;IAE7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAEzD,MAAM,UAAU,GACd,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;QAClC,WAAW,CAAC,UAAU,CAAC,YAAY,CAAC;QACpC,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEpC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO;YACL,EAAE,EAAE,YAAY;YAChB,KAAK,EAAE,WAAW;YAClB,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,UAAU,YAAY,EAAE;YACjC,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC5C,CAAC;AAYD;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CACpC,OAA0B,EAC1B,OAAiC;IAEjC,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC;IAC9G,IAAI,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,oBAAoB,CACxC,OAA0B,EAC1B,YAA6C;IAE7C,OAAO,iBAAiB,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;AAChF,CAAC;AAED,iDAAiD;AACpC,QAAA,iBAAiB,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"checker.js","sourceRoot":"","sources":["../../../src/core/constraints/checker.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ exports.docsFreshness = {
84
84
  if (deadEntries.length > 0) {
85
85
  // 证据通道点名条目(harness#119):此前是 console.error 侧信道(2026-08-08 studio
86
86
  // CI 4 连红时的临时办法),CLI 结构化输出与 trace 两头都拿不到,
87
- // 铁律拦截时用户只看到一句通用提示,basename 碰撞下无从定位
87
+ // error 级拦截时用户只看到一句通用提示,basename 碰撞下无从定位
88
88
  return {
89
89
  pass: false,
90
90
  evidence: (0, types_1.formatEvidence)('CAPABILITIES.md 登记的条目不存在', deadEntries),
@@ -1 +1 @@
1
- {"version":3,"file":"docs-freshness.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/docs-freshness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs-freshness.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/docs-freshness.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,2BAAgC;AAChC,+BAA4B;AAC5B,uEAAuF;AACvF,oDAAqF;AACrF,sEAAmE;AACnE,wCAAmD;AAGnD,mCAAyC;AAEzC;;;;GAIG;AACH,SAAS,4BAA4B;IACnC,OAAO;QACL,wDAAwD;QACxD,EAAE,IAAI,EAAE,cAAc,EAAE;QACxB,2DAA2D;QAC3D,EAAE,IAAI,EAAE,mBAAmB,EAAE;KAC9B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,GAAa;IAC9C,IAAI,CAAC;QACH,yDAAyD;QACzD,IAAI,CAAC,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,GAAG,CAAC,WAAW,EAAE,+BAAqB,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QACzE,MAAM,UAAU,GAAG,IAAA,+CAAsB,EAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CACrF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAClB,CAAC;QACF,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,mBAAmB,CAAC,GAAa;IACxC,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;IACpC,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,+BAAqB,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACtE,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,2CAAmB,EAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,UAAU,EAAE,aAAa,EAAE,MAAM,IAAI,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,IAAA,2CAAmB,EAAC,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC;AACtD,CAAC;AAEY,QAAA,aAAa,GAAoB;IAC5C,EAAE,EAAE,gBAAgB;IACpB,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAEpC,4DAA4D;QAC5D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;YAAE,OAAO,MAAM,CAAC;QAE7C,8CAA8C;QAC9C,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,gEAAgE;YAChE,0CAA0C;YAC1C,yCAAyC;YACzC,OAAO;gBACL,IAAI,EAAE,KAAK;gBACX,QAAQ,EAAE,IAAA,sBAAc,EAAC,0BAA0B,EAAE,WAAW,CAAC;aAClE,CAAC;QACJ,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAA,2CAAmB,EAAC,GAAG,CAAC,EAAE,aAAa,CAAC;YAEhE,iDAAiD;YACjD,yDAAyD;YACzD,MAAM,YAAY,GAAG,IAAA,2CAAmB,EAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,YAAY,CAAC,KAAK,KAAK,eAAe;gBAAE,OAAO,MAAM,CAAC;YAC1D,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YAEtF,MAAM,MAAM,GAAG,IAAI,wBAAe,EAAE,CAAC;YACrC,IAAI,OAA+B,CAAC;YAEpC,IAAI,eAAe,EAAE,MAAM,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAChH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,EAAE,EAAE,WAAW,EAAE;oBAC/E,YAAY;oBACZ,WAAW,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE;iBACrC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO;oBACL,IAAI,EAAE,KAAK;oBACX,QAAQ,EAAE,IAAA,sBAAc,EACtB,YAAY,EACZ,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC,CACrD;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAC"}
@@ -2,7 +2,8 @@
2
2
  * governance_presence:治理契约在场守护(studio #302,ADR 2026-08-21 落点模型)
3
3
  *
4
4
  * 治理契约正本 = AGENTS.md 手写 `PRESERVE:governance` 段(旧模型仓 = CLAUDE.md
5
- * Governance Rules / HARNESS_CONSTRAINTS 注入段)。PRESERVE 只保「存在」不保「在场」:
5
+ * Governance Rules / 历史 HARNESS_CONSTRAINTS 注入段,ADR-0029 后注入段不再
6
+ * 生成,残留段仅作历史兼容判据)。PRESERVE 只保「存在」不保「在场」:
6
7
  * 段被删除/掏空后 sync-docs 重新生成会静默丢失,此处补「在场」校验。
7
8
  *
8
9
  * ADR-0001 存在性探测:项目未采用 harness 治理(无 .harness/config.yml)→ skip。
@@ -1 +1 @@
1
- {"version":3,"file":"governance-presence.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/governance-presence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,mCAAmC;AACnC,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,2FAA2F;AAC3F,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,eAAO,MAAM,kBAAkB,EAAE,eA2BhC,CAAC"}
1
+ {"version":3,"file":"governance-presence.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/governance-presence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,mCAAmC;AACnC,eAAO,MAAM,wBAAwB,eAAe,CAAC;AAErD,2FAA2F;AAC3F,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,eAAO,MAAM,kBAAkB,EAAE,eA2BhC,CAAC"}
@@ -3,7 +3,8 @@
3
3
  * governance_presence:治理契约在场守护(studio #302,ADR 2026-08-21 落点模型)
4
4
  *
5
5
  * 治理契约正本 = AGENTS.md 手写 `PRESERVE:governance` 段(旧模型仓 = CLAUDE.md
6
- * Governance Rules / HARNESS_CONSTRAINTS 注入段)。PRESERVE 只保「存在」不保「在场」:
6
+ * Governance Rules / 历史 HARNESS_CONSTRAINTS 注入段,ADR-0029 后注入段不再
7
+ * 生成,残留段仅作历史兼容判据)。PRESERVE 只保「存在」不保「在场」:
7
8
  * 段被删除/掏空后 sync-docs 重新生成会静默丢失,此处补「在场」校验。
8
9
  *
9
10
  * ADR-0001 存在性探测:项目未采用 harness 治理(无 .harness/config.yml)→ skip。
@@ -48,12 +49,12 @@ exports.governancePresence = {
48
49
  if (hasClaudeGovernance((0, path_1.join)(projectPath, 'CLAUDE.md')))
49
50
  return true;
50
51
  // 证据随判定一并返回(ADR-0016 补迁):此前这里是 console.error 侧信道——
51
- // 只进本地 stderr,进不了 CLI 结论块与 trace,铁律拦截时用户看不到该恢复哪个正本
52
+ // 只进本地 stderr,进不了 CLI 结论块与 trace,error 级拦截时用户看不到该恢复哪个正本
52
53
  return {
53
54
  pass: false,
54
55
  evidence: [
55
56
  '治理契约缺失:AGENTS.md 无非空 PRESERVE:governance 段,CLAUDE.md 也无 Governance Rules 块(正本静默丢失)',
56
- '修复: 恢复其一(重跑 `harness init` 会同步注入段)',
57
+ '修复: 恢复其一——AGENTS.md 补回手写 PRESERVE:governance 段,或 CLAUDE.md 补回 Governance Rules 块',
57
58
  ],
58
59
  };
59
60
  },
@@ -1 +1 @@
1
- {"version":3,"file":"governance-presence.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/governance-presence.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAWH,gEAGC;AAGD,kDAGC;AAlBD,+BAA4B;AAC5B,uEAAmE;AACnE,0DAA4F;AAG5F,mCAAmC;AACtB,QAAA,wBAAwB,GAAG,YAAY,CAAC;AAErD,2FAA2F;AAC3F,SAAgB,0BAA0B,CAAC,YAAoB;IAC7D,MAAM,OAAO,GAAG,IAAA,+BAAY,EAAC,YAAY,CAAC,CAAC;IAC3C,OAAO,OAAO,KAAK,IAAI,IAAI,IAAA,mCAAgB,EAAC,OAAO,EAAE,gCAAwB,CAAC,CAAC;AACjF,CAAC;AAED,kFAAkF;AAClF,SAAgB,mBAAmB,CAAC,YAAoB;IACtD,MAAM,OAAO,GAAG,IAAA,+BAAY,EAAC,YAAY,CAAC,CAAC;IAC3C,OAAO,OAAO,KAAK,IAAI,IAAI,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAEY,QAAA,kBAAkB,GAAoB;IACjD,EAAE,EAAE,qBAAqB;IACzB,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAEpC,oDAAoD;QACpD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,4CAAoB,EAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC;QAE5B,IAAI,0BAA0B,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5E,IAAI,mBAAmB,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAErE,mDAAmD;QACnD,mDAAmD;QACnD,OAAO;YACL,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE;gBACR,oFAAoF;gBACpF,oCAAoC;aACrC;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"governance-presence.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/governance-presence.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAWH,gEAGC;AAGD,kDAGC;AAlBD,+BAA4B;AAC5B,uEAAmE;AACnE,0DAA4F;AAG5F,mCAAmC;AACtB,QAAA,wBAAwB,GAAG,YAAY,CAAC;AAErD,2FAA2F;AAC3F,SAAgB,0BAA0B,CAAC,YAAoB;IAC7D,MAAM,OAAO,GAAG,IAAA,+BAAY,EAAC,YAAY,CAAC,CAAC;IAC3C,OAAO,OAAO,KAAK,IAAI,IAAI,IAAA,mCAAgB,EAAC,OAAO,EAAE,gCAAwB,CAAC,CAAC;AACjF,CAAC;AAED,kFAAkF;AAClF,SAAgB,mBAAmB,CAAC,YAAoB;IACtD,MAAM,OAAO,GAAG,IAAA,+BAAY,EAAC,YAAY,CAAC,CAAC;IAC3C,OAAO,OAAO,KAAK,IAAI,IAAI,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;AAC5D,CAAC;AAEY,QAAA,kBAAkB,GAAoB;IACjD,EAAE,EAAE,qBAAqB;IACzB,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC;QAEpC,oDAAoD;QACpD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,IAAA,4CAAoB,EAAC,GAAG,CAAC,KAAK,SAAS,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,MAAM,CAAC;QAE5B,IAAI,0BAA0B,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5E,IAAI,mBAAmB,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAErE,mDAAmD;QACnD,wDAAwD;QACxD,OAAO;YACL,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE;gBACR,oFAAoF;gBACpF,kFAAkF;aACnF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -10,7 +10,7 @@
10
10
  import type { ConstraintCheck } from './types';
11
11
  /**
12
12
  * 按约束 ID 查找检查实现;未注册返回 undefined
13
- * (编排层对 kind='check' 未注册的情况抛错,kind='prompt' 不查表)
13
+ * (编排层对 kind='check' 未注册的情况抛错)
14
14
  */
15
15
  export declare function getConstraintCheck(id: string): ConstraintCheck | undefined;
16
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAyD/C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC/D,YAAY,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAmD/C;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAC/D,YAAY,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
@@ -14,7 +14,6 @@ exports.getConstraintCheck = getConstraintCheck;
14
14
  exports.registeredCheckCount = registeredCheckCount;
15
15
  const definitions_1 = require("../definitions");
16
16
  const iron_flags_1 = require("./iron-flags");
17
- const no_bypass_checkpoint_1 = require("./no-bypass-checkpoint");
18
17
  const no_test_simplification_1 = require("./no-test-simplification");
19
18
  const capability_sync_1 = require("./capability-sync");
20
19
  const context_doc_sync_1 = require("./context-doc-sync");
@@ -22,15 +21,12 @@ const docs_freshness_1 = require("./docs-freshness");
22
21
  const no_hardcoded_credentials_1 = require("./no-hardcoded-credentials");
23
22
  const governance_presence_1 = require("./governance-presence");
24
23
  const CHECKS = [
25
- // Iron Laws
24
+ // severity='error'
26
25
  iron_flags_1.noCompletionWithoutVerification,
27
- iron_flags_1.incrementalProgress,
28
- iron_flags_1.noImplementationWithoutRequirement,
29
26
  no_test_simplification_1.noTestSimplification,
30
27
  docs_freshness_1.docsFreshness,
31
- // Guidelines
28
+ // severity='warning'
32
29
  no_hardcoded_credentials_1.noHardcodedCredentials,
33
- no_bypass_checkpoint_1.noBypassCheckpoint,
34
30
  capability_sync_1.capabilitySync,
35
31
  context_doc_sync_1.contextDocSync,
36
32
  governance_presence_1.governancePresence,
@@ -43,7 +39,7 @@ const checkConstraints = (0, definitions_1.getAllConstraints)().filter(c => c.ki
43
39
  for (const c of checkConstraints) {
44
40
  if (!registry.has(c.id)) {
45
41
  throw new Error(`[harness] 约束注册表闭环校验失败:kind='check' 的约束 "${c.id}" 未注册 checker。` +
46
- `请在 checkers/ 中实现并注册,或将该约束降级为 kind='prompt'。`);
42
+ `请在 checkers/ 中实现并注册(纯文本提示层已随 ADR-0029 关停)。`);
47
43
  }
48
44
  }
49
45
  for (const id of registry.keys()) {
@@ -54,7 +50,7 @@ for (const id of registry.keys()) {
54
50
  }
55
51
  /**
56
52
  * 按约束 ID 查找检查实现;未注册返回 undefined
57
- * (编排层对 kind='check' 未注册的情况抛错,kind='prompt' 不查表)
53
+ * (编排层对 kind='check' 未注册的情况抛错)
58
54
  */
59
55
  function getConstraintCheck(id) {
60
56
  return registry.get(id);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA+DH,gDAEC;AAKD,oDAEC;AArED,gDAAmD;AAEnD,6CAIsB;AACtB,iEAA4D;AAC5D,qEAAgE;AAChE,uDAAmD;AACnD,yDAAoD;AACpD,qDAAiD;AACjD,yEAAoE;AACpE,+DAA2D;AAE3D,MAAM,MAAM,GAAsB;IAChC,YAAY;IACZ,4CAA+B;IAC/B,gCAAmB;IACnB,+CAAkC;IAClC,6CAAoB;IACpB,8BAAa;IACb,aAAa;IACb,iDAAsB;IACtB,yCAAkB;IAClB,gCAAc;IACd,iCAAc;IACd,wCAAkB;CACnB,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA0B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E,2CAA2C;AAC3C,eAAe;AACf,2CAA2C;AAE3C,MAAM,gBAAgB,GAAG,IAAA,+BAAiB,GAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAE7E,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,2CAA2C,CAAC,CAAC,EAAE,gBAAgB;YAC/D,6CAA6C,CAC9C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,kCAAkC,EAAE,4BAA4B;YAChE,gCAAgC,CACjC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,iCAA+D;AAAtD,sGAAA,aAAa,OAAA;AAAE,8GAAA,qBAAqB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAyDH,gDAEC;AAKD,oDAEC;AA/DD,gDAAmD;AAEnD,6CAEsB;AACtB,qEAAgE;AAChE,uDAAmD;AACnD,yDAAoD;AACpD,qDAAiD;AACjD,yEAAoE;AACpE,+DAA2D;AAE3D,MAAM,MAAM,GAAsB;IAChC,mBAAmB;IACnB,4CAA+B;IAC/B,6CAAoB;IACpB,8BAAa;IACb,qBAAqB;IACrB,iDAAsB;IACtB,gCAAc;IACd,iCAAc;IACd,wCAAkB;CACnB,CAAC;AAEF,MAAM,QAAQ,GAAG,IAAI,GAAG,CAA0B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE9E,2CAA2C;AAC3C,eAAe;AACf,2CAA2C;AAE3C,MAAM,gBAAgB,GAAG,IAAA,+BAAiB,GAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAE7E,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,2CAA2C,CAAC,CAAC,EAAE,gBAAgB;YAC/D,4CAA4C,CAC7C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACjC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,kCAAkC,EAAE,4BAA4B;YAChE,gCAAgC,CACjC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,kBAAkB,CAAC,EAAU;IAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAgB,oBAAoB;IAClC,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED,iCAA+D;AAAtD,sGAAA,aAAa,OAAA;AAAE,8GAAA,qBAAqB,OAAA"}
@@ -1,13 +1,12 @@
1
1
  /**
2
- * 铁律层轻量检查(工单 21):纯上下文证据标志判定,无 I/O
2
+ * error 级轻量检查(工单 21):纯上下文证据标志判定,无 I/O
3
3
  *
4
- * ADR-0001 后仅存活的三个 flag:hasVerificationEvidence / hasSingleTask / hasRequirement
4
+ * harness#174 后仅存活的 flag:hasVerificationEvidence
5
+ *(incremental_progress / no_implementation_without_requirement 已随定义一并删除)
5
6
  *
6
7
  * 三态语义(ADR-0001 防爆措施):
7
8
  * - undefined = flag 未接线 → skip(不评估,CLI pre-commit 等路径不误报违规)
8
9
  * - 显式 false → fail;true → pass
9
10
  */
10
11
  export declare const noCompletionWithoutVerification: import("./types").ConstraintCheck;
11
- export declare const incrementalProgress: import("./types").ConstraintCheck;
12
- export declare const noImplementationWithoutRequirement: import("./types").ConstraintCheck;
13
12
  //# sourceMappingURL=iron-flags.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iron-flags.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/iron-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,eAAO,MAAM,+BAA+B,mCAG3C,CAAC;AAEF,eAAO,MAAM,mBAAmB,mCAG/B,CAAC;AAEF,eAAO,MAAM,kCAAkC,mCAG9C,CAAC"}
1
+ {"version":3,"file":"iron-flags.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/iron-flags.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,eAAO,MAAM,+BAA+B,mCAG3C,CAAC"}
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
  /**
3
- * 铁律层轻量检查(工单 21):纯上下文证据标志判定,无 I/O
3
+ * error 级轻量检查(工单 21):纯上下文证据标志判定,无 I/O
4
4
  *
5
- * ADR-0001 后仅存活的三个 flag:hasVerificationEvidence / hasSingleTask / hasRequirement
5
+ * harness#174 后仅存活的 flag:hasVerificationEvidence
6
+ *(incremental_progress / no_implementation_without_requirement 已随定义一并删除)
6
7
  *
7
8
  * 三态语义(ADR-0001 防爆措施):
8
9
  * - undefined = flag 未接线 → skip(不评估,CLI pre-commit 等路径不误报违规)
9
10
  * - 显式 false → fail;true → pass
10
11
  */
11
12
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.noImplementationWithoutRequirement = exports.incrementalProgress = exports.noCompletionWithoutVerification = void 0;
13
+ exports.noCompletionWithoutVerification = void 0;
13
14
  const types_1 = require("./types");
14
15
  exports.noCompletionWithoutVerification = (0, types_1.contextEvidenceFlag)('no_completion_without_verification', ctx => ctx.hasVerificationEvidence);
15
- exports.incrementalProgress = (0, types_1.contextEvidenceFlag)('incremental_progress', ctx => ctx.hasSingleTask);
16
- exports.noImplementationWithoutRequirement = (0, types_1.contextEvidenceFlag)('no_implementation_without_requirement', ctx => ctx.hasRequirement);
17
16
  //# sourceMappingURL=iron-flags.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iron-flags.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/iron-flags.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,mCAA8C;AAEjC,QAAA,+BAA+B,GAAG,IAAA,2BAAmB,EAChE,oCAAoC,EACpC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CACnC,CAAC;AAEW,QAAA,mBAAmB,GAAG,IAAA,2BAAmB,EACpD,sBAAsB,EACtB,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CACzB,CAAC;AAEW,QAAA,kCAAkC,GAAG,IAAA,2BAAmB,EACnE,uCAAuC,EACvC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,cAAc,CAC1B,CAAC"}
1
+ {"version":3,"file":"iron-flags.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/iron-flags.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAEH,mCAA8C;AAEjC,QAAA,+BAA+B,GAAG,IAAA,2BAAmB,EAChE,oCAAoC,EACpC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CACnC,CAAC"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.noTestSimplification = void 0;
7
- // m 标志必需:真实 diff 首行恒为 `diff --git`,缺 m 则 ^ 永不命中删除行(铁律静默失效)
7
+ // m 标志必需:真实 diff 首行恒为 `diff --git`,缺 m 则 ^ 永不命中删除行(checker 静默失效)
8
8
  const DELETED_TEST_PATTERNS = [
9
9
  /^-\s*(test|it|describe)\s*\(/m, // 删除 test/it/describe
10
10
  /^-\s*expect\s*\(/m, // 删除 expect
@@ -1 +1 @@
1
- {"version":3,"file":"no-test-simplification.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/no-test-simplification.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH,2DAA2D;AAC3D,MAAM,qBAAqB,GAAG;IAC5B,+BAA+B,EAAE,sBAAsB;IACvD,mBAAmB,EAAe,YAAY;IAC9C,mBAAmB,EAAe,aAAa;CAChD,CAAC;AAEW,QAAA,oBAAoB,GAAoB;IACnD,EAAE,EAAE,wBAAwB;IAC5B,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;YACpC,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC,CAAC,SAAS;gBACzB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,gBAAgB;QAC/B,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"no-test-simplification.js","sourceRoot":"","sources":["../../../../src/core/constraints/checkers/no-test-simplification.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAIH,iEAAiE;AACjE,MAAM,qBAAqB,GAAG;IAC5B,+BAA+B,EAAE,sBAAsB;IACvD,mBAAmB,EAAe,YAAY;IAC9C,mBAAmB,EAAe,aAAa;CAChD,CAAC;AAEW,QAAA,oBAAoB,GAAoB;IACnD,EAAE,EAAE,wBAAwB;IAC5B,KAAK,CAAC,QAAQ,CAAC,GAAG;QAChB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;YACpC,KAAK,MAAM,OAAO,IAAI,qBAAqB,EAAE,CAAC;gBAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,OAAO,KAAK,CAAC,CAAC,SAAS;gBACzB,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,gBAAgB;QAC/B,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -87,7 +87,7 @@ export declare const MAX_EVIDENCE_ITEMS = 10;
87
87
  /**
88
88
  * 组装证据行:一行说明 + 逐条依据(超限截断)
89
89
  *
90
- * 每行自描述且不带缩进——缩进由消费端(CLI / gate 理由 / 铁律异常文案)决定,trace 原样存。
90
+ * 每行自描述且不带缩进——缩进由消费端(CLI / gate 理由 / error 级异常文案)决定,trace 原样存。
91
91
  * 修复入口不写在这里:那是各约束自己的事,写进各自的 summary 行(docs_freshness 的
92
92
  * 幽灵条目与 sync-docs 无关,共用一个指针会误导)。
93
93
  */
@@ -44,7 +44,7 @@ exports.MAX_EVIDENCE_ITEMS = 10;
44
44
  /**
45
45
  * 组装证据行:一行说明 + 逐条依据(超限截断)
46
46
  *
47
- * 每行自描述且不带缩进——缩进由消费端(CLI / gate 理由 / 铁律异常文案)决定,trace 原样存。
47
+ * 每行自描述且不带缩进——缩进由消费端(CLI / gate 理由 / error 级异常文案)决定,trace 原样存。
48
48
  * 修复入口不写在这里:那是各约束自己的事,写进各自的 summary 行(docs_freshness 的
49
49
  * 幽灵条目与 sync-docs 无关,共用一个指针会误导)。
50
50
  */
@@ -1,11 +1,11 @@
1
1
  /**
2
- * check · guideline 定义(ADR-0001:kind 二元模型)
2
+ * check 约束定义(severity='warning' 组,ADR-0029)
3
3
  *
4
- * 只保留带真实 checker 的指导原则。每条必须:
4
+ * 只保留带真实 checker 的约束。每条必须:
5
5
  * - kind: 'check'
6
- * - level: 'guideline'
6
+ * - severity: 'warning'(违规告警不阻断)
7
7
  * - 在 checkers/ 注册表中有对应实现(注册表闭环,缺失即加载期抛错)
8
8
  */
9
9
  import type { Constraint } from '../../../types/constraint';
10
- export declare const GUIDELINES: Record<string, Constraint>;
10
+ export declare const WARNING_CONSTRAINTS: Record<string, Constraint>;
11
11
  //# sourceMappingURL=guidelines.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guidelines.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/definitions/guidelines.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA8GjD,CAAC"}
1
+ {"version":3,"file":"guidelines.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/definitions/guidelines.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA6F1D,CAAC"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  /**
3
- * check · guideline 定义(ADR-0001:kind 二元模型)
3
+ * check 约束定义(severity='warning' 组,ADR-0029)
4
4
  *
5
- * 只保留带真实 checker 的指导原则。每条必须:
5
+ * 只保留带真实 checker 的约束。每条必须:
6
6
  * - kind: 'check'
7
- * - level: 'guideline'
7
+ * - severity: 'warning'(违规告警不阻断)
8
8
  * - 在 checkers/ 注册表中有对应实现(注册表闭环,缺失即加载期抛错)
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.GUIDELINES = void 0;
12
- exports.GUIDELINES = {
11
+ exports.WARNING_CONSTRAINTS = void 0;
12
+ exports.WARNING_CONSTRAINTS = {
13
13
  /**
14
14
  * 禁止硬编码凭证
15
15
  * 原因:密码/token/密钥泄露是最严重的安全漏洞,一旦提交到版本控制即不可逆
@@ -19,26 +19,10 @@ exports.GUIDELINES = {
19
19
  kind: 'check',
20
20
  rule: 'NO HARDCODED PASSWORDS, TOKENS, SECRETS, OR CREDENTIALS IN ANY SOURCE FILE',
21
21
  message: '禁止在代码/文档/配置文件中硬编码密码、token、密钥、API key',
22
- level: 'guideline',
22
+ severity: 'warning',
23
23
  trigger: ['code_implementation', 'doc_update', 'config_change', 'commit'],
24
24
  enforcement: 'credential-scan',
25
25
  description: `凭证(密码/token/密钥/API key)必须从环境变量或加密配置读取,严禁以明文形式出现在任何源代码文件中。包括但不限于:源码、Markdown 文档、YAML/JSON 配置、脚本文件。模板文件(.example/.sample/.template)允许占位符但不得包含真实值。建议配合 pre-commit hook 做自动扫描。`,
26
- promptInjection: '禁止在代码中硬编码密码、API 密钥、Token 等凭证。使用环境变量或安全的凭证管理方案存储敏感信息。',
27
- },
28
- /**
29
- * 禁止跳过检查点验证
30
- * 原因:安全底线,检查点是质量门控
31
- */
32
- no_bypass_checkpoint: {
33
- id: 'no_bypass_checkpoint',
34
- kind: 'check',
35
- rule: 'NO BYPASSING CHECKPOINTS',
36
- message: '禁止跳过检查点验证',
37
- level: 'guideline',
38
- trigger: 'code_implementation',
39
- enforcement: 'checkpoint-required',
40
- description: '所有检查点必须通过,不能跳过验证步骤。检查点是质量的最后一道防线。',
41
- promptInjection: '每个关键步骤后有 checkpoint 验证点,必须通过才能继续。通过标准:测试通过、类型检查无错误、lint 无新增警告。未通过时回退修复,不得跳过。',
42
26
  },
43
27
  /**
44
28
  * 功能清单同步
@@ -49,7 +33,7 @@ exports.GUIDELINES = {
49
33
  kind: 'check',
50
34
  rule: 'CODE CHANGES MUST UPDATE CAPABILITIES.MD',
51
35
  message: '核心模块变更必须同步功能清单(支持模块级目录条目登记)',
52
- level: 'guideline',
36
+ severity: 'warning',
53
37
  trigger: ['module_creation', 'module_modification', 'module_deletion', 'module_extension'],
54
38
  enforcement: 'update-capabilities',
55
39
  description: `在创建/修改/删除/扩展核心模块时,必须同步更新 CAPABILITIES.md:
@@ -76,7 +60,7 @@ exports.GUIDELINES = {
76
60
  kind: 'check',
77
61
  rule: 'KEY DIRECTORIES SHOULD HAVE CONTEXT.MD',
78
62
  message: '关键目录缺少 CONTEXT.md,运行 harness sync-docs 创建模板后填写实际内容',
79
- level: 'guideline',
63
+ severity: 'warning',
80
64
  trigger: 'module_modification',
81
65
  enforcement: 'context-check',
82
66
  description: `项目的关键目录应包含 CONTEXT.md 文件,描述目录职责和上下文。
@@ -104,7 +88,7 @@ exports.GUIDELINES = {
104
88
  kind: 'check',
105
89
  rule: 'GOVERNANCE CONTRACT MUST BE PRESENT (AGENTS.MD PRESERVE:GOVERNANCE BLOCK OR CLAUDE.MD GOVERNANCE RULES)',
106
90
  message: '治理契约缺失:AGENTS.md 缺少非空 PRESERVE:governance 段,且 CLAUDE.md 无 Governance Rules 块',
107
- level: 'guideline',
91
+ severity: 'warning',
108
92
  trigger: ['file_modification', 'module_creation', 'module_modification', 'doc_update', 'config_change', 'commit'],
109
93
  enforcement: 'governance-presence-check',
110
94
  description: `治理契约(约束清单正本)必须在场,两处居其一:
@@ -1 +1 @@
1
- {"version":3,"file":"guidelines.js","sourceRoot":"","sources":["../../../../src/core/constraints/definitions/guidelines.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIU,QAAA,UAAU,GAA+B;IACpD;;;OAGG;IACH,wBAAwB,EAAE;QACxB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,4EAA4E;QAClF,OAAO,EAAE,sCAAsC;QAC/C,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;QACzE,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,4KAA4K;QACzL,eAAe,EAAE,sDAAsD;KACxE;IAED;;;OAGG;IACH,oBAAoB,EAAE;QACpB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0BAA0B;QAChC,OAAO,EAAE,WAAW;QACpB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE,mCAAmC;QAChD,eAAe,EAAE,8EAA8E;KAChG;IAED;;;OAGG;IACH,eAAe,EAAE;QACf,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,6BAA6B;QACtC,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QAC1F,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;;;;;;;;;;;;;yFAawE;KACtF;IAED;;;OAGG;IACH,gBAAgB,EAAE;QAChB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,oDAAoD;QAC7D,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE;;;;;;;;;;;;;+BAac;KAC5B;IAED;;;;OAIG;IACH,mBAAmB,EAAE;QACnB,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yGAAyG;QAC/G,OAAO,EAAE,8EAA8E;QACvF,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;QACjH,WAAW,EAAE,2BAA2B;QACxC,WAAW,EAAE;;;;;;oDAMmC;KACjD;CACF,CAAC"}
1
+ {"version":3,"file":"guidelines.js","sourceRoot":"","sources":["../../../../src/core/constraints/definitions/guidelines.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIU,QAAA,mBAAmB,GAA+B;IAC7D;;;OAGG;IACH,wBAAwB,EAAE;QACxB,EAAE,EAAE,0BAA0B;QAC9B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,4EAA4E;QAClF,OAAO,EAAE,sCAAsC;QAC/C,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,CAAC,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;QACzE,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,4KAA4K;KAC1L;IAED;;;OAGG;IACH,eAAe,EAAE;QACf,EAAE,EAAE,iBAAiB;QACrB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,6BAA6B;QACtC,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,CAAC,iBAAiB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QAC1F,WAAW,EAAE,qBAAqB;QAClC,WAAW,EAAE;;;;;;;;;;;;;yFAawE;KACtF;IAED;;;OAGG;IACH,gBAAgB,EAAE;QAChB,EAAE,EAAE,kBAAkB;QACtB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,oDAAoD;QAC7D,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE;;;;;;;;;;;;;+BAac;KAC5B;IAED;;;;OAIG;IACH,mBAAmB,EAAE;QACnB,EAAE,EAAE,qBAAqB;QACzB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yGAAyG;QAC/G,OAAO,EAAE,8EAA8E;QACvF,QAAQ,EAAE,SAAS;QACnB,OAAO,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;QACjH,WAAW,EAAE,2BAA2B;QACxC,WAAW,EAAE;;;;;;oDAMmC;KACjD;CACF,CAAC"}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * check · iron_law 定义(ADR-0001:kind 二元模型)
2
+ * check 约束定义(severity='error' 组,ADR-0029)
3
3
  *
4
- * 只保留带真实 checker 的铁律。每条必须:
4
+ * 只保留带真实 checker 的约束。每条必须:
5
5
  * - kind: 'check'
6
- * - level: 'iron_law'
6
+ * - severity: 'error'(违规即阻断)
7
7
  * - 在 checkers/ 注册表中有对应实现(注册表闭环,缺失即加载期抛错)
8
8
  */
9
9
  import type { Constraint } from '../../../types/constraint';
10
- export declare const IRON_LAWS: Record<string, Constraint>;
10
+ export declare const ERROR_CONSTRAINTS: Record<string, Constraint>;
11
11
  //# sourceMappingURL=iron-laws.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"iron-laws.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/definitions/iron-laws.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAkIhD,CAAC"}
1
+ {"version":3,"file":"iron-laws.d.ts","sourceRoot":"","sources":["../../../../src/core/constraints/definitions/iron-laws.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAyDxD,CAAC"}
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  /**
3
- * check · iron_law 定义(ADR-0001:kind 二元模型)
3
+ * check 约束定义(severity='error' 组,ADR-0029)
4
4
  *
5
- * 只保留带真实 checker 的铁律。每条必须:
5
+ * 只保留带真实 checker 的约束。每条必须:
6
6
  * - kind: 'check'
7
- * - level: 'iron_law'
7
+ * - severity: 'error'(违规即阻断)
8
8
  * - 在 checkers/ 注册表中有对应实现(注册表闭环,缺失即加载期抛错)
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.IRON_LAWS = void 0;
12
- exports.IRON_LAWS = {
11
+ exports.ERROR_CONSTRAINTS = void 0;
12
+ exports.ERROR_CONSTRAINTS = {
13
13
  /**
14
14
  * 禁止无验证声明完成
15
15
  * 原因:质量底线,必须有验证命令
@@ -19,92 +19,22 @@ exports.IRON_LAWS = {
19
19
  kind: 'check',
20
20
  rule: 'NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE',
21
21
  message: '禁止无验证声明完成,必须运行验证命令',
22
- level: 'iron_law',
22
+ severity: 'error',
23
23
  trigger: 'code_implementation',
24
24
  enforcement: 'verify-completion',
25
25
  description: '在声明任何任务完成之前,必须运行新鲜的验证命令(项目声明的测试 + type check),以新鲜输出作为完成证据。验证命令集由项目自行声明,全量验证留给 CI 流程。',
26
- promptInjection: '在声明任务完成前,必须重新运行新鲜的验证命令(项目声明的测试 + type check),使用新鲜的输出作为完成证据,不得复用旧结果,不得凭记忆声称完成。',
27
- },
28
- /**
29
- * 禁止一次做多个任务(one-shotting)
30
- * 来源:Anthropic AI Harness - Effective Harnesses for Long-running Agents
31
- * 原因:避免中途耗尽 context,保持专注和可控
32
- */
33
- incremental_progress: {
34
- id: 'incremental_progress',
35
- kind: 'check',
36
- rule: 'ONE TASK PER SESSION',
37
- message: '禁止一次做多个任务,每次只做一件事',
38
- level: 'iron_law',
39
- trigger: 'code_implementation',
40
- enforcement: 'single-task-check',
41
- description: `一个 session 只处理一个任务,避免 one-shotting。
42
-
43
- 【禁止】
44
- - 一次做多个任务 → 中途耗尽 context
45
- - 大改动一次性完成 → 失控
46
- - 没有拆分的复杂任务 → 无法回滚
47
-
48
- 【必须】
49
- - 一个 session 一个任务 → 保持专注
50
- - 大任务拆分为小步骤 → 分步执行
51
- - 每步都有 checkpoint → 可回滚
52
-
53
- 【判断标准】
54
- - 改动涉及多个模块 → 需拆分
55
- - 改动超过 100 行 → 需拆分
56
- - 改动影响多个文件 → 需拆分
57
-
58
- 【参考】
59
- Anthropic AI: "Effective Harnesses for Long-running Agents"
60
- https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agents`,
61
- promptInjection: '一次只处理一个任务。改动涉及多个模块、超过 100 行、或影响多个文件时,必须拆分为小步骤分步执行,每步有独立 checkpoint 可回滚。不要试图一次性完成所有改动。',
62
- },
63
- /**
64
- * 禁止无需求就开始实现(吸收 no_implementation_without_requirement_review)
65
- * 原因:没有需求就没有验收标准,实现方向不可控;
66
- * 实现完成后必须逐条对照 AC 验证,避免偏离需求
67
- */
68
- no_implementation_without_requirement: {
69
- id: 'no_implementation_without_requirement',
70
- kind: 'check',
71
- rule: 'NO IMPLEMENTATION WITHOUT REQUIREMENTS, AND REVIEW AGAINST AC AFTER IMPLEMENTATION',
72
- message: '禁止无需求就开始实现,实现后必须逐条对照 AC 验证',
73
- level: 'iron_law',
74
- trigger: ['code_implementation', 'design_request'],
75
- enforcement: 'requirement-exists',
76
- description: `在开始实现之前,必须有明确的需求定义;实现完成后,必须逐条对照验收标准(AC)验证。
77
-
78
- 【实现前必须执行】
79
- 1. 确认需求来源(Spec/Issue/Roadmap/用户指令)
80
- 2. 确认验收标准(AC)已定义
81
- 3. 确认边界情况已明确
82
-
83
- 【实现后必须执行】(吸收自 no_implementation_without_requirement_review)
84
- 1. 回顾需求文档(Spec/Roadmap/Issue)
85
- 2. 逐条检查实现是否符合每条 AC
86
- 3. 确认边界情况已覆盖
87
- 4. 输出验证清单(AC × 实现 × 状态)
88
-
89
- 【禁止】
90
- - 没有需求就开始写代码、凭假设开始实现
91
- - 实现后不对比需求直接提交,只测"功能能跑"不验证 AC
92
- - 跳过边界情况验证,假设"差不多就行"
93
-
94
- 【正确流程】
95
- 需求确认 → AC 定义 → 实现 → 逐条对照 AC 验证`,
96
- promptInjection: '开始编写代码前,必须确认:需求来源明确(Spec/Issue/Roadmap/用户指令)、验收标准(AC)已定义、边界情况已明确。不要凭假设或猜测开始实现。实现完成后,必须逐条对比原始需求文档中的验收标准(AC),确认每条 AC 已实现且边界情况已覆盖,输出验证清单。不得仅凭"功能能跑"就认为完成。',
97
26
  },
98
27
  /**
99
28
  * 禁止简化测试
100
29
  * 原因:质量底线,测试困难必须解决
30
+ * (harness#174:checker 承载执行)
101
31
  */
102
32
  no_test_simplification: {
103
33
  id: 'no_test_simplification',
104
34
  kind: 'check',
105
35
  rule: 'NO SIMPLIFYING TESTS TO AVOID DIFFICULTY',
106
36
  message: '禁止简化测试绕过困难',
107
- level: 'iron_law',
37
+ severity: 'error',
108
38
  trigger: 'test_creation',
109
39
  enforcement: 'full-test-coverage',
110
40
  description: `在编写测试时,不能因为遇到困难而简化或跳过测试。
@@ -118,18 +48,17 @@ https://www.anthropic.com/engineering/effective-harnesses-for-long-running-agent
118
48
  - 为了绕过 mock 困难而删除测试用例
119
49
  - 为了绕过异步问题而跳过断言
120
50
  - 降低测试覆盖率要求`,
121
- promptInjection: '编写测试时遇到困难(mock、异步、环境),不得删除用例或跳过断言。正确做法:分析问题 → 查阅文档 → 尝试解决 → 仍不行则向用户说明困难请求指示。不得降低覆盖率要求。',
122
51
  },
123
52
  /**
124
53
  * 文档新鲜度
125
- * 原因:guideline 只警告不阻断,导致文档持续腐烂。
54
+ * 原因:只警告不阻断会导致文档持续腐烂。
126
55
  */
127
56
  docs_freshness: {
128
57
  id: 'docs_freshness',
129
58
  kind: 'check',
130
59
  rule: 'CAPABILITIES.MD MUST BE IN SYNC WITH CODE',
131
60
  message: 'CAPABILITIES.md 与源码不同步,运行 harness sync-docs 更新后重新提交',
132
- level: 'iron_law',
61
+ severity: 'error',
133
62
  trigger: ['file_modification', 'module_creation', 'module_modification'],
134
63
  enforcement: 'docs-sync-check',
135
64
  description: `CAPABILITIES.md 中列出的文件必须在 src/ 中实际存在。删除源文件时须从 CAPABILITIES.md 同步移除。运行 harness sync-docs 自动修复过期引用。
@@ -1 +1 @@
1
- {"version":3,"file":"iron-laws.js","sourceRoot":"","sources":["../../../../src/core/constraints/definitions/iron-laws.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIU,QAAA,SAAS,GAA+B;IACnD;;;OAGG;IACH,kCAAkC,EAAE;QAClC,EAAE,EAAE,oCAAoC;QACxC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0DAA0D;QAChE,OAAO,EAAE,oBAAoB;QAC7B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,sFAAsF;QACnG,eAAe,EAAE,+EAA+E;KACjG;IAED;;;;OAIG;IACH,oBAAoB,EAAE;QACpB,EAAE,EAAE,sBAAsB;QAC1B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;kFAmBiE;QAC9E,eAAe,EAAE,uFAAuF;KACzG;IAED;;;;OAIG;IACH,qCAAqC,EAAE;QACrC,EAAE,EAAE,uCAAuC;QAC3C,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,oFAAoF;QAC1F,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,qBAAqB,EAAE,gBAAgB,CAAC;QAClD,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;;;;;;;;;;;;;;;;;;;+BAmBc;QAC3B,eAAe,EAAE,wJAAwJ;KAC1K;IAED;;;OAGG;IACH,sBAAsB,EAAE;QACtB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;;;;;;;;;;YAUL;QACR,eAAe,EAAE,wFAAwF;KAC1G;IAED;;;OAGG;IACH,cAAc,EAAE;QACd,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE,qDAAqD;QAC9D,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;QACxE,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;kFACiE;KAC/E;CACF,CAAC"}
1
+ {"version":3,"file":"iron-laws.js","sourceRoot":"","sources":["../../../../src/core/constraints/definitions/iron-laws.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIU,QAAA,iBAAiB,GAA+B;IAC3D;;;OAGG;IACH,kCAAkC,EAAE;QAClC,EAAE,EAAE,oCAAoC;QACxC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0DAA0D;QAChE,OAAO,EAAE,oBAAoB;QAC7B,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,qBAAqB;QAC9B,WAAW,EAAE,mBAAmB;QAChC,WAAW,EAAE,sFAAsF;KACpG;IAED;;;;OAIG;IACH,sBAAsB,EAAE;QACtB,EAAE,EAAE,wBAAwB;QAC5B,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0CAA0C;QAChD,OAAO,EAAE,YAAY;QACrB,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,eAAe;QACxB,WAAW,EAAE,oBAAoB;QACjC,WAAW,EAAE;;;;;;;;;;YAUL;KACT;IAED;;;OAGG;IACH,cAAc,EAAE;QACd,EAAE,EAAE,gBAAgB;QACpB,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,2CAA2C;QACjD,OAAO,EAAE,qDAAqD;QAC9D,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;QACxE,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE;kFACiE;KAC/E;CACF,CAAC"}
@@ -1,20 +1,18 @@
1
1
  /**
2
2
  * 约束定义(薄聚合层)
3
3
  *
4
- * kind 二元模型(ADR-0001):
5
- * - IRON_LAWS / GUIDELINES:check 层,必须带真实 checker(注册表闭环)
6
- * - PROMPTS:prompt 层,纯文本注入,不占检查位
4
+ * severity 显式模型(ADR-0029,取代 ADR-0001 三层命名):
5
+ * 全部内置约束 kind='check',severity 写死在定义上(error / warning),
6
+ * 纯文本提示层(prompts.ts)已随文本注入层关停整体删除。
7
7
  *
8
- * 工单 20:字面量定义按层拆至 ./definitions/{iron-laws,guidelines,prompts}.ts;
8
+ * 工单 20:字面量定义按 severity 分组放 ./definitions/{iron-laws,guidelines}.ts;
9
9
  * 本文件保持原路径做薄聚合(studio rule-scanner 按此路径解析,P0 #8)。
10
10
  */
11
11
  import type { Constraint, ConstraintTrigger } from '../../types/constraint';
12
- import { IRON_LAWS } from './definitions/iron-laws';
13
- import { GUIDELINES } from './definitions/guidelines';
14
- import { PROMPTS } from './definitions/prompts';
15
- export { IRON_LAWS, GUIDELINES, PROMPTS };
12
+ /** 全部内置约束(check 层全量,severity 在条目上) */
13
+ export declare const CONSTRAINTS: Record<string, Constraint>;
16
14
  /**
17
- * 获取所有约束(check + prompt 全量,带 kind)
15
+ * 获取所有约束(check 全量,带 kind/severity
18
16
  */
19
17
  export declare function getAllConstraints(): Constraint[];
20
18
  /**
@@ -1 +1 @@
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"}
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;AAI5E,sCAAsC;AACtC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAGlD,CAAC;AAMF;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,UAAU,EAAE,CAEhD;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"}