@agent-teams/engineering-foundation 0.4.1 → 0.6.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 (673) hide show
  1. package/README.md +29 -5
  2. package/dist/binary-string-comparator.d.ts +9 -0
  3. package/dist/binary-string-comparator.d.ts.map +1 -0
  4. package/dist/binary-string-comparator.js +27 -0
  5. package/dist/binary-string-comparator.js.map +1 -0
  6. package/dist/cancellation.d.ts +6 -0
  7. package/dist/cancellation.d.ts.map +1 -0
  8. package/dist/cancellation.js +16 -0
  9. package/dist/cancellation.js.map +1 -0
  10. package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.d.ts +11 -0
  11. package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.d.ts.map +1 -0
  12. package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.js +365 -0
  13. package/dist/capabilities/contract-json-schema-releases/adapters/outbound/filesystem/ajv-json-schema-release-inspector.js.map +1 -0
  14. package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.d.ts +46 -0
  15. package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.d.ts.map +1 -0
  16. package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.js +2 -0
  17. package/dist/capabilities/contract-json-schema-releases/application/model/json-schema-release.js.map +1 -0
  18. package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.d.ts +4 -0
  19. package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.d.ts.map +1 -0
  20. package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.js +201 -0
  21. package/dist/capabilities/contract-json-schema-releases/application/policies/evaluate-json-schema-release.js.map +1 -0
  22. package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.d.ts +10 -0
  23. package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.d.ts.map +1 -0
  24. package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.js +2 -0
  25. package/dist/capabilities/contract-json-schema-releases/application/ports/json-schema-release-inspector.js.map +1 -0
  26. package/dist/capabilities/contract-json-schema-releases/application/rules.d.ts +17 -0
  27. package/dist/capabilities/contract-json-schema-releases/application/rules.d.ts.map +1 -0
  28. package/dist/capabilities/contract-json-schema-releases/application/rules.js +18 -0
  29. package/dist/capabilities/contract-json-schema-releases/application/rules.js.map +1 -0
  30. package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.d.ts +11 -0
  31. package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.d.ts.map +1 -0
  32. package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.js +14 -0
  33. package/dist/capabilities/contract-json-schema-releases/application/use-cases/verify-json-schema-release.js.map +1 -0
  34. package/dist/capabilities/contract-json-schema-releases/contract/config.d.ts +5 -0
  35. package/dist/capabilities/contract-json-schema-releases/contract/config.d.ts.map +1 -0
  36. package/dist/capabilities/contract-json-schema-releases/contract/config.js +133 -0
  37. package/dist/capabilities/contract-json-schema-releases/contract/config.js.map +1 -0
  38. package/dist/capabilities/contract-json-schema-releases/module.d.ts +13 -0
  39. package/dist/capabilities/contract-json-schema-releases/module.d.ts.map +1 -0
  40. package/dist/capabilities/contract-json-schema-releases/module.js +52 -0
  41. package/dist/capabilities/contract-json-schema-releases/module.js.map +1 -0
  42. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts +11 -0
  43. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts.map +1 -0
  44. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js +21 -0
  45. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js.map +1 -0
  46. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts +58 -0
  47. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts.map +1 -0
  48. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.js +2 -0
  49. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.js.map +1 -0
  50. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.d.ts +4 -0
  51. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.d.ts.map +1 -0
  52. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js +277 -0
  53. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js.map +1 -0
  54. package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.d.ts +18 -0
  55. package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.d.ts.map +1 -0
  56. package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.js +2 -0
  57. package/dist/capabilities/contract-protobuf-evolution/application/ports/accepted-decision-evidence.js.map +1 -0
  58. package/dist/capabilities/contract-protobuf-evolution/application/rules.d.ts +20 -0
  59. package/dist/capabilities/contract-protobuf-evolution/application/rules.d.ts.map +1 -0
  60. package/dist/capabilities/contract-protobuf-evolution/application/rules.js +21 -0
  61. package/dist/capabilities/contract-protobuf-evolution/application/rules.js.map +1 -0
  62. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts +12 -0
  63. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts.map +1 -0
  64. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js +30 -0
  65. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js.map +1 -0
  66. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts +5 -0
  67. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts.map +1 -0
  68. package/dist/capabilities/contract-protobuf-evolution/contract/config.js +186 -0
  69. package/dist/capabilities/contract-protobuf-evolution/contract/config.js.map +1 -0
  70. package/dist/capabilities/contract-protobuf-evolution/module.d.ts +11 -0
  71. package/dist/capabilities/contract-protobuf-evolution/module.d.ts.map +1 -0
  72. package/dist/capabilities/contract-protobuf-evolution/module.js +51 -0
  73. package/dist/capabilities/contract-protobuf-evolution/module.js.map +1 -0
  74. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts +5 -0
  75. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts.map +1 -0
  76. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js +109 -0
  77. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js.map +1 -0
  78. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts +4 -0
  79. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts.map +1 -0
  80. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js +3 -0
  81. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js.map +1 -0
  82. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.d.ts +14 -0
  83. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.d.ts.map +1 -0
  84. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.js +2 -0
  85. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-executable.js.map +1 -0
  86. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.d.ts +7 -0
  87. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.d.ts.map +1 -0
  88. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.js +41 -0
  89. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/verify-pinned-buf-version.js.map +1 -0
  90. package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.d.ts +15 -0
  91. package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.d.ts.map +1 -0
  92. package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.js +2 -0
  93. package/dist/capabilities/documentation-local-references/application/model/documentation-local-references.js.map +1 -0
  94. package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.d.ts +9 -0
  95. package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.d.ts.map +1 -0
  96. package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.js +124 -0
  97. package/dist/capabilities/documentation-local-references/application/policies/evaluate-documentation-local-references.js.map +1 -0
  98. package/dist/capabilities/documentation-local-references/application/rules.d.ts +20 -0
  99. package/dist/capabilities/documentation-local-references/application/rules.d.ts.map +1 -0
  100. package/dist/capabilities/documentation-local-references/application/rules.js +24 -0
  101. package/dist/capabilities/documentation-local-references/application/rules.js.map +1 -0
  102. package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.d.ts +12 -0
  103. package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.d.ts.map +1 -0
  104. package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.js +36 -0
  105. package/dist/capabilities/documentation-local-references/application/use-cases/analyze-documentation-local-references.js.map +1 -0
  106. package/dist/capabilities/documentation-local-references/contract/config.d.ts +5 -0
  107. package/dist/capabilities/documentation-local-references/contract/config.d.ts.map +1 -0
  108. package/dist/capabilities/documentation-local-references/contract/config.js +68 -0
  109. package/dist/capabilities/documentation-local-references/contract/config.js.map +1 -0
  110. package/dist/capabilities/documentation-local-references/module.d.ts +5 -0
  111. package/dist/capabilities/documentation-local-references/module.d.ts.map +1 -0
  112. package/dist/capabilities/documentation-local-references/module.js +49 -0
  113. package/dist/capabilities/documentation-local-references/module.js.map +1 -0
  114. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.d.ts +5 -0
  115. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.d.ts.map +1 -0
  116. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.js +7 -0
  117. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/crypto/node-architecture-decision-fingerprint.js.map +1 -0
  118. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.d.ts +17 -0
  119. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.d.ts.map +1 -0
  120. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.js +285 -0
  121. package/dist/capabilities/governance-architecture-decisions/adapters/outbound/filesystem/filesystem-architecture-decision-baseline-repository.js.map +1 -0
  122. package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.d.ts +32 -0
  123. package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.d.ts.map +1 -0
  124. package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.js +26 -0
  125. package/dist/capabilities/governance-architecture-decisions/application/model/architecture-decision.js.map +1 -0
  126. package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.d.ts +32 -0
  127. package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.d.ts.map +1 -0
  128. package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.js +65 -0
  129. package/dist/capabilities/governance-architecture-decisions/application/policies/accepted-architecture-decision-baseline.js.map +1 -0
  130. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.d.ts +20 -0
  131. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.d.ts.map +1 -0
  132. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.js +37 -0
  133. package/dist/capabilities/governance-architecture-decisions/application/policies/architecture-decision-diagnostic.js.map +1 -0
  134. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.d.ts +18 -0
  135. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.d.ts.map +1 -0
  136. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.js +71 -0
  137. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-index.js.map +1 -0
  138. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.d.ts +5 -0
  139. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.d.ts.map +1 -0
  140. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.js +158 -0
  141. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decision-lifecycle.js.map +1 -0
  142. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.d.ts +30 -0
  143. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.d.ts.map +1 -0
  144. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.js +163 -0
  145. package/dist/capabilities/governance-architecture-decisions/application/policies/evaluate-architecture-decisions.js.map +1 -0
  146. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.d.ts +3 -0
  147. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.d.ts.map +1 -0
  148. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.js +75 -0
  149. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-accepted-architecture-decision-baseline.js.map +1 -0
  150. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.d.ts +10 -0
  151. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.d.ts.map +1 -0
  152. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.js +178 -0
  153. package/dist/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.js.map +1 -0
  154. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.d.ts +37 -0
  155. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.d.ts.map +1 -0
  156. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.js +2 -0
  157. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.js.map +1 -0
  158. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.d.ts +4 -0
  159. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.d.ts.map +1 -0
  160. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.js +2 -0
  161. package/dist/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.js.map +1 -0
  162. package/dist/capabilities/governance-architecture-decisions/application/rules.d.ts +30 -0
  163. package/dist/capabilities/governance-architecture-decisions/application/rules.d.ts.map +1 -0
  164. package/dist/capabilities/governance-architecture-decisions/application/rules.js +34 -0
  165. package/dist/capabilities/governance-architecture-decisions/application/rules.js.map +1 -0
  166. package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.d.ts +28 -0
  167. package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.d.ts.map +1 -0
  168. package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.js +35 -0
  169. package/dist/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.js.map +1 -0
  170. package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.d.ts +17 -0
  171. package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.d.ts.map +1 -0
  172. package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.js +29 -0
  173. package/dist/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.js.map +1 -0
  174. package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.d.ts +19 -0
  175. package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.d.ts.map +1 -0
  176. package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.js +85 -0
  177. package/dist/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.js.map +1 -0
  178. package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.d.ts +12 -0
  179. package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.d.ts.map +1 -0
  180. package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.js +50 -0
  181. package/dist/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.js.map +1 -0
  182. package/dist/capabilities/governance-architecture-decisions/contract/config.d.ts +5 -0
  183. package/dist/capabilities/governance-architecture-decisions/contract/config.d.ts.map +1 -0
  184. package/dist/capabilities/governance-architecture-decisions/contract/config.js +94 -0
  185. package/dist/capabilities/governance-architecture-decisions/contract/config.js.map +1 -0
  186. package/dist/capabilities/governance-architecture-decisions/module.d.ts +26 -0
  187. package/dist/capabilities/governance-architecture-decisions/module.d.ts.map +1 -0
  188. package/dist/capabilities/governance-architecture-decisions/module.js +136 -0
  189. package/dist/capabilities/governance-architecture-decisions/module.js.map +1 -0
  190. package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.d.ts +27 -0
  191. package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.d.ts.map +1 -0
  192. package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.js +109 -0
  193. package/dist/capabilities/property-testing-standard/contract/deterministic-seed-bank.js.map +1 -0
  194. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.d.ts +9 -0
  195. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.d.ts.map +1 -0
  196. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.js +45 -0
  197. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/link-staged-package-node-modules.js.map +1 -0
  198. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts +1 -1
  199. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  200. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +177 -98
  201. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  202. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.d.ts +17 -0
  203. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.d.ts.map +1 -0
  204. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.js +214 -0
  205. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/staged-public-api-input.js.map +1 -0
  206. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts +1 -2
  207. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts.map +1 -1
  208. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js +94 -73
  209. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js.map +1 -1
  210. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts +8 -0
  211. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts.map +1 -0
  212. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js +132 -0
  213. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js.map +1 -0
  214. package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts +15 -0
  215. package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.d.ts.map +1 -0
  216. package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js +17 -0
  217. package/dist/capabilities/public-api-compatibility/adapters/outbound/governance/governance-accepted-decision-evidence-acl.js.map +1 -0
  218. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts +106 -15
  219. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts.map +1 -1
  220. package/dist/capabilities/public-api-compatibility/application/model/public-api.js +46 -0
  221. package/dist/capabilities/public-api-compatibility/application/model/public-api.js.map +1 -1
  222. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts +8 -0
  223. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts.map +1 -0
  224. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js +11 -0
  225. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js.map +1 -0
  226. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.d.ts.map +1 -1
  227. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js +146 -23
  228. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js.map +1 -1
  229. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts +14 -0
  230. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts.map +1 -0
  231. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js +210 -0
  232. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js.map +1 -0
  233. package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.d.ts +19 -0
  234. package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.d.ts.map +1 -0
  235. package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.js +2 -0
  236. package/dist/capabilities/public-api-compatibility/application/ports/accepted-decision-evidence.js.map +1 -0
  237. package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts +1 -2
  238. package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts.map +1 -1
  239. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts +2 -0
  240. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts.map +1 -1
  241. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js +16 -1
  242. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js.map +1 -1
  243. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts +2 -0
  244. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts.map +1 -1
  245. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js +61 -5
  246. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js.map +1 -1
  247. package/dist/capabilities/public-api-compatibility/contract/config.d.ts +1 -1
  248. package/dist/capabilities/public-api-compatibility/contract/config.d.ts.map +1 -1
  249. package/dist/capabilities/public-api-compatibility/contract/config.js +217 -13
  250. package/dist/capabilities/public-api-compatibility/contract/config.js.map +1 -1
  251. package/dist/capabilities/public-api-compatibility/module.d.ts.map +1 -1
  252. package/dist/capabilities/public-api-compatibility/module.js +5 -2
  253. package/dist/capabilities/public-api-compatibility/module.js.map +1 -1
  254. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts +3 -0
  255. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts.map +1 -0
  256. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js +26 -0
  257. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js.map +1 -0
  258. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts +6 -0
  259. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts.map +1 -0
  260. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js +81 -0
  261. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js.map +1 -0
  262. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts +15 -0
  263. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts.map +1 -0
  264. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js +153 -0
  265. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js.map +1 -0
  266. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts +17 -0
  267. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts.map +1 -0
  268. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js +70 -0
  269. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js.map +1 -0
  270. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts +10 -0
  271. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts.map +1 -0
  272. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js +15 -0
  273. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js.map +1 -0
  274. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts +36 -0
  275. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts.map +1 -0
  276. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js +2 -0
  277. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js.map +1 -0
  278. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts +34 -0
  279. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts.map +1 -0
  280. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js +2 -0
  281. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js.map +1 -0
  282. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts +4 -0
  283. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts.map +1 -0
  284. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js +132 -0
  285. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js.map +1 -0
  286. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts +17 -0
  287. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts.map +1 -0
  288. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js +2 -0
  289. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js.map +1 -0
  290. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts +5 -0
  291. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts.map +1 -0
  292. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js +2 -0
  293. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js.map +1 -0
  294. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts +8 -0
  295. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts.map +1 -0
  296. package/dist/capabilities/repository-agent-workflow/application/rules.js +35 -0
  297. package/dist/capabilities/repository-agent-workflow/application/rules.js.map +1 -0
  298. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts +9 -0
  299. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts.map +1 -0
  300. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js +7 -0
  301. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js.map +1 -0
  302. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts +4 -0
  303. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts.map +1 -0
  304. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js +79 -0
  305. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js.map +1 -0
  306. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts +9 -0
  307. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts.map +1 -0
  308. package/dist/capabilities/repository-agent-workflow/changed-command.js +30 -0
  309. package/dist/capabilities/repository-agent-workflow/changed-command.js.map +1 -0
  310. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts +5 -0
  311. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts.map +1 -0
  312. package/dist/capabilities/repository-agent-workflow/contract/config.js +122 -0
  313. package/dist/capabilities/repository-agent-workflow/contract/config.js.map +1 -0
  314. package/dist/capabilities/repository-agent-workflow/module.d.ts +5 -0
  315. package/dist/capabilities/repository-agent-workflow/module.d.ts.map +1 -0
  316. package/dist/capabilities/repository-agent-workflow/module.js +49 -0
  317. package/dist/capabilities/repository-agent-workflow/module.js.map +1 -0
  318. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.d.ts.map +1 -1
  319. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.js +24 -190
  320. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.js.map +1 -1
  321. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.d.ts +3 -0
  322. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.d.ts.map +1 -0
  323. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.js +31 -0
  324. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/publishable-package-evidence-reader.js.map +1 -0
  325. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.d.ts +6 -0
  326. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.d.ts.map +1 -0
  327. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.js +31 -0
  328. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-digests.js.map +1 -0
  329. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.d.ts +5 -0
  330. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.d.ts.map +1 -0
  331. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.js +73 -0
  332. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-filesystem.js.map +1 -0
  333. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.d.ts +3 -0
  334. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.d.ts.map +1 -0
  335. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.js +16 -0
  336. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/repository-security-input.js.map +1 -0
  337. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.d.ts +3 -0
  338. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.d.ts.map +1 -0
  339. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.js +98 -0
  340. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/security-tool-evidence-reader.js.map +1 -0
  341. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.d.ts +6 -0
  342. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.d.ts.map +1 -0
  343. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.js +208 -0
  344. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-parser.js.map +1 -0
  345. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.d.ts +10 -0
  346. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.d.ts.map +1 -0
  347. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.js +95 -0
  348. package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/workflow-evidence-reader.js.map +1 -0
  349. package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts +88 -1
  350. package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts.map +1 -1
  351. package/dist/capabilities/repository-security-baseline/application/model/repository-security.js +40 -1
  352. package/dist/capabilities/repository-security-baseline/application/model/repository-security.js.map +1 -1
  353. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.d.ts +5 -0
  354. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.d.ts.map +1 -0
  355. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.js +143 -0
  356. package/dist/capabilities/repository-security-baseline/application/policies/dependency-review-ordering.js.map +1 -0
  357. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.d.ts +4 -0
  358. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.d.ts.map +1 -0
  359. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.js +136 -0
  360. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security-tools.js.map +1 -0
  361. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.d.ts.map +1 -1
  362. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js +200 -147
  363. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js.map +1 -1
  364. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.d.ts +4 -0
  365. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.d.ts.map +1 -0
  366. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.js +55 -0
  367. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-workflow-uses.js.map +1 -0
  368. package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.d.ts +14 -0
  369. package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.d.ts.map +1 -0
  370. package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.js +14 -0
  371. package/dist/capabilities/repository-security-baseline/application/policies/repository-security-diagnostic.js.map +1 -0
  372. package/dist/capabilities/repository-security-baseline/application/rules.d.ts +15 -0
  373. package/dist/capabilities/repository-security-baseline/application/rules.d.ts.map +1 -1
  374. package/dist/capabilities/repository-security-baseline/application/rules.js +16 -1
  375. package/dist/capabilities/repository-security-baseline/application/rules.js.map +1 -1
  376. package/dist/capabilities/repository-security-baseline/contract/config.d.ts.map +1 -1
  377. package/dist/capabilities/repository-security-baseline/contract/config.js +137 -4
  378. package/dist/capabilities/repository-security-baseline/contract/config.js.map +1 -1
  379. package/dist/capabilities/repository-security-baseline/module.d.ts.map +1 -1
  380. package/dist/capabilities/repository-security-baseline/module.js +7 -5
  381. package/dist/capabilities/repository-security-baseline/module.js.map +1 -1
  382. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.d.ts.map +1 -1
  383. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js +15 -5
  384. package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js.map +1 -1
  385. package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.d.ts.map +1 -1
  386. package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.js +4 -3
  387. package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.js.map +1 -1
  388. package/dist/capabilities/source-dependencies/application/model/repository-path.d.ts +3 -0
  389. package/dist/capabilities/source-dependencies/application/model/repository-path.d.ts.map +1 -0
  390. package/dist/capabilities/source-dependencies/application/model/repository-path.js +33 -0
  391. package/dist/capabilities/source-dependencies/application/model/repository-path.js.map +1 -0
  392. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts +92 -0
  393. package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts.map +1 -1
  394. package/dist/capabilities/source-dependencies/application/model/source-workspace.js +1 -0
  395. package/dist/capabilities/source-dependencies/application/model/source-workspace.js.map +1 -1
  396. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.d.ts +10 -0
  397. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.d.ts.map +1 -0
  398. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js +264 -0
  399. package/dist/capabilities/source-dependencies/application/policies/evaluate-resolved-source-dependency.js.map +1 -0
  400. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts +2 -8
  401. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts.map +1 -1
  402. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js +62 -194
  403. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js.map +1 -1
  404. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.d.ts +4 -0
  405. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.d.ts.map +1 -0
  406. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.js +315 -0
  407. package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependency-cycles.js.map +1 -0
  408. package/dist/capabilities/source-dependencies/application/rules.d.ts +7 -0
  409. package/dist/capabilities/source-dependencies/application/rules.d.ts.map +1 -1
  410. package/dist/capabilities/source-dependencies/application/rules.js +7 -0
  411. package/dist/capabilities/source-dependencies/application/rules.js.map +1 -1
  412. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.d.ts.map +1 -1
  413. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js +54 -16
  414. package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js.map +1 -1
  415. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts +17 -0
  416. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.d.ts.map +1 -0
  417. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js +216 -0
  418. package/dist/capabilities/source-dependencies/application/use-cases/build-observed-source-graph.js.map +1 -0
  419. package/dist/capabilities/source-dependencies/contract/config.d.ts +1 -1
  420. package/dist/capabilities/source-dependencies/contract/config.d.ts.map +1 -1
  421. package/dist/capabilities/source-dependencies/contract/config.js +57 -14
  422. package/dist/capabilities/source-dependencies/contract/config.js.map +1 -1
  423. package/dist/capabilities/source-dependencies/module.js +1 -1
  424. package/dist/capabilities/source-dependencies/module.js.map +1 -1
  425. package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.d.ts.map +1 -1
  426. package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.js +2 -1
  427. package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.js.map +1 -1
  428. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.d.ts.map +1 -1
  429. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js +9 -1
  430. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js.map +1 -1
  431. package/dist/capability-runtime.d.ts.map +1 -1
  432. package/dist/capability-runtime.js +5 -4
  433. package/dist/capability-runtime.js.map +1 -1
  434. package/dist/cli-arguments.d.ts +12 -0
  435. package/dist/cli-arguments.d.ts.map +1 -0
  436. package/dist/cli-arguments.js +115 -0
  437. package/dist/cli-arguments.js.map +1 -0
  438. package/dist/cli.js +153 -125
  439. package/dist/cli.js.map +1 -1
  440. package/dist/composition/capability-registry.d.ts.map +1 -1
  441. package/dist/composition/capability-registry.js +10 -0
  442. package/dist/composition/capability-registry.js.map +1 -1
  443. package/dist/composition/rule-registry.d.ts.map +1 -1
  444. package/dist/composition/rule-registry.js +10 -0
  445. package/dist/composition/rule-registry.js.map +1 -1
  446. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.d.ts +11 -0
  447. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.d.ts.map +1 -0
  448. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.js +91 -0
  449. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-document-reader.js.map +1 -0
  450. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.d.ts +14 -0
  451. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.d.ts.map +1 -0
  452. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.js +61 -0
  453. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-filesystem.js.map +1 -0
  454. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.d.ts +8 -0
  455. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.d.ts.map +1 -0
  456. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.js +44 -0
  457. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-paths.js.map +1 -0
  458. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.d.ts +6 -0
  459. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.d.ts.map +1 -0
  460. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.js +160 -0
  461. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-reference-resolver.js.map +1 -0
  462. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.d.ts +8 -0
  463. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.d.ts.map +1 -0
  464. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.js +13 -0
  465. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-repository.js.map +1 -0
  466. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.d.ts +6 -0
  467. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.d.ts.map +1 -0
  468. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.js +233 -0
  469. package/dist/documentation-observation/adapters/outbound/filesystem/filesystem-markdown-tree-observer.js.map +1 -0
  470. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.d.ts +3 -0
  471. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.d.ts.map +1 -0
  472. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.js +260 -0
  473. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-document-parser.js.map +1 -0
  474. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.d.ts +15 -0
  475. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.d.ts.map +1 -0
  476. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.js +59 -0
  477. package/dist/documentation-observation/adapters/outbound/filesystem/markdown-reference-target.js.map +1 -0
  478. package/dist/documentation-observation/application/model/markdown-document.d.ts +70 -0
  479. package/dist/documentation-observation/application/model/markdown-document.d.ts.map +1 -0
  480. package/dist/documentation-observation/application/model/markdown-document.js +10 -0
  481. package/dist/documentation-observation/application/model/markdown-document.js.map +1 -0
  482. package/dist/documentation-observation/application/ports/markdown-repository.d.ts +17 -0
  483. package/dist/documentation-observation/application/ports/markdown-repository.d.ts.map +1 -0
  484. package/dist/documentation-observation/application/ports/markdown-repository.js +2 -0
  485. package/dist/documentation-observation/application/ports/markdown-repository.js.map +1 -0
  486. package/dist/filesystem-path-safety.d.ts +38 -0
  487. package/dist/filesystem-path-safety.d.ts.map +1 -1
  488. package/dist/filesystem-path-safety.js +228 -2
  489. package/dist/filesystem-path-safety.js.map +1 -1
  490. package/dist/foundation-config.d.ts +1 -1
  491. package/dist/foundation-config.d.ts.map +1 -1
  492. package/dist/foundation-config.js +12 -1
  493. package/dist/foundation-config.js.map +1 -1
  494. package/dist/index.d.ts +3 -0
  495. package/dist/index.d.ts.map +1 -1
  496. package/dist/index.js +2 -0
  497. package/dist/index.js.map +1 -1
  498. package/dist/local-mode/attach-transaction.d.ts +11 -0
  499. package/dist/local-mode/attach-transaction.d.ts.map +1 -0
  500. package/dist/local-mode/attach-transaction.js +190 -0
  501. package/dist/local-mode/attach-transaction.js.map +1 -0
  502. package/dist/local-mode/consumer-policy.d.ts +1 -9
  503. package/dist/local-mode/consumer-policy.d.ts.map +1 -1
  504. package/dist/local-mode/consumer-policy.js +102 -94
  505. package/dist/local-mode/consumer-policy.js.map +1 -1
  506. package/dist/local-mode/index.d.ts +1 -1
  507. package/dist/local-mode/index.d.ts.map +1 -1
  508. package/dist/local-mode/inspection.d.ts.map +1 -1
  509. package/dist/local-mode/inspection.js +126 -118
  510. package/dist/local-mode/inspection.js.map +1 -1
  511. package/dist/local-mode/local-state-store.d.ts +6 -0
  512. package/dist/local-mode/local-state-store.d.ts.map +1 -0
  513. package/dist/local-mode/local-state-store.js +138 -0
  514. package/dist/local-mode/local-state-store.js.map +1 -0
  515. package/dist/local-mode/process-runner.d.ts +1 -4
  516. package/dist/local-mode/process-runner.d.ts.map +1 -1
  517. package/dist/local-mode/process-runner.js +1 -19
  518. package/dist/local-mode/process-runner.js.map +1 -1
  519. package/dist/local-mode/registry-recovery.d.ts +5 -0
  520. package/dist/local-mode/registry-recovery.d.ts.map +1 -0
  521. package/dist/local-mode/registry-recovery.js +112 -0
  522. package/dist/local-mode/registry-recovery.js.map +1 -0
  523. package/dist/local-mode/service.d.ts +1 -1
  524. package/dist/local-mode/service.d.ts.map +1 -1
  525. package/dist/local-mode/service.js +14 -398
  526. package/dist/local-mode/service.js.map +1 -1
  527. package/dist/local-mode/types.d.ts +10 -12
  528. package/dist/local-mode/types.d.ts.map +1 -1
  529. package/dist/package-self-check.d.ts +1 -1
  530. package/dist/package-self-check.d.ts.map +1 -1
  531. package/dist/package-self-check.js +15 -2
  532. package/dist/package-self-check.js.map +1 -1
  533. package/dist/process-execution/node-process-runner.d.ts +10 -0
  534. package/dist/process-execution/node-process-runner.d.ts.map +1 -0
  535. package/dist/process-execution/node-process-runner.js +270 -0
  536. package/dist/process-execution/node-process-runner.js.map +1 -0
  537. package/dist/process-execution/types.d.ts +23 -0
  538. package/dist/process-execution/types.d.ts.map +1 -0
  539. package/dist/process-execution/types.js +2 -0
  540. package/dist/process-execution/types.js.map +1 -0
  541. package/dist/process-execution/windows-managed-process.d.ts +13 -0
  542. package/dist/process-execution/windows-managed-process.d.ts.map +1 -0
  543. package/dist/process-execution/windows-managed-process.js +389 -0
  544. package/dist/process-execution/windows-managed-process.js.map +1 -0
  545. package/dist/process-execution/windows-process-host.d.ts +2 -0
  546. package/dist/process-execution/windows-process-host.d.ts.map +1 -0
  547. package/dist/process-execution/windows-process-host.js +59 -0
  548. package/dist/process-execution/windows-process-host.js.map +1 -0
  549. package/dist/public-api-surface.d.ts +4 -0
  550. package/dist/public-api-surface.d.ts.map +1 -0
  551. package/dist/public-api-surface.js +4 -0
  552. package/dist/public-api-surface.js.map +1 -0
  553. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts +9 -0
  554. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts.map +1 -0
  555. package/dist/scaffolding/adapters/memory/memory-workspace.js +93 -0
  556. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +1 -0
  557. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +6 -0
  558. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -0
  559. package/dist/scaffolding/adapters/node/filesystem-journal.js +79 -0
  560. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -0
  561. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +7 -0
  562. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -0
  563. package/dist/scaffolding/adapters/node/filesystem-path-guard.js +144 -0
  564. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -0
  565. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +13 -0
  566. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +1 -0
  567. package/dist/scaffolding/adapters/node/filesystem-workspace.js +336 -0
  568. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +1 -0
  569. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts +2 -0
  570. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts.map +1 -0
  571. package/dist/scaffolding/adapters/node/installed-foundation-version.js +10 -0
  572. package/dist/scaffolding/adapters/node/installed-foundation-version.js.map +1 -0
  573. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +17 -0
  574. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +1 -0
  575. package/dist/scaffolding/adapters/node/node-input-loader.js +157 -0
  576. package/dist/scaffolding/adapters/node/node-input-loader.js.map +1 -0
  577. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +3 -0
  578. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -0
  579. package/dist/scaffolding/adapters/node/node-plan-authority.js +18 -0
  580. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -0
  581. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +4 -0
  582. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +1 -0
  583. package/dist/scaffolding/adapters/node/node-receipt-validator.js +10 -0
  584. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +1 -0
  585. package/dist/scaffolding/cli-command.d.ts +8 -0
  586. package/dist/scaffolding/cli-command.d.ts.map +1 -0
  587. package/dist/scaffolding/cli-command.js +60 -0
  588. package/dist/scaffolding/cli-command.js.map +1 -0
  589. package/dist/scaffolding/contract/types.d.ts +296 -0
  590. package/dist/scaffolding/contract/types.d.ts.map +1 -0
  591. package/dist/scaffolding/contract/types.js +2 -0
  592. package/dist/scaffolding/contract/types.js.map +1 -0
  593. package/dist/scaffolding/definitions/conformance-fixture.d.ts +3 -0
  594. package/dist/scaffolding/definitions/conformance-fixture.d.ts.map +1 -0
  595. package/dist/scaffolding/definitions/conformance-fixture.js +217 -0
  596. package/dist/scaffolding/definitions/conformance-fixture.js.map +1 -0
  597. package/dist/scaffolding/definitions/registry.d.ts +3 -0
  598. package/dist/scaffolding/definitions/registry.d.ts.map +1 -0
  599. package/dist/scaffolding/definitions/registry.js +6 -0
  600. package/dist/scaffolding/definitions/registry.js.map +1 -0
  601. package/dist/scaffolding/index.d.ts +11 -0
  602. package/dist/scaffolding/index.d.ts.map +1 -0
  603. package/dist/scaffolding/index.js +9 -0
  604. package/dist/scaffolding/index.js.map +1 -0
  605. package/dist/scaffolding/kernel/canonical-json.d.ts +6 -0
  606. package/dist/scaffolding/kernel/canonical-json.d.ts.map +1 -0
  607. package/dist/scaffolding/kernel/canonical-json.js +55 -0
  608. package/dist/scaffolding/kernel/canonical-json.js.map +1 -0
  609. package/dist/scaffolding/kernel/compiler.d.ts +4 -0
  610. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -0
  611. package/dist/scaffolding/kernel/compiler.js +297 -0
  612. package/dist/scaffolding/kernel/compiler.js.map +1 -0
  613. package/dist/scaffolding/kernel/definition-registry.d.ts +50 -0
  614. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -0
  615. package/dist/scaffolding/kernel/definition-registry.js +92 -0
  616. package/dist/scaffolding/kernel/definition-registry.js.map +1 -0
  617. package/dist/scaffolding/kernel/limits.d.ts +5 -0
  618. package/dist/scaffolding/kernel/limits.d.ts.map +1 -0
  619. package/dist/scaffolding/kernel/limits.js +5 -0
  620. package/dist/scaffolding/kernel/limits.js.map +1 -0
  621. package/dist/scaffolding/kernel/plan-validation.d.ts +3 -0
  622. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -0
  623. package/dist/scaffolding/kernel/plan-validation.js +44 -0
  624. package/dist/scaffolding/kernel/plan-validation.js.map +1 -0
  625. package/dist/scaffolding/kernel/receipt.d.ts +35 -0
  626. package/dist/scaffolding/kernel/receipt.d.ts.map +1 -0
  627. package/dist/scaffolding/kernel/receipt.js +206 -0
  628. package/dist/scaffolding/kernel/receipt.js.map +1 -0
  629. package/dist/scaffolding/scaffold-error.d.ts +8 -0
  630. package/dist/scaffolding/scaffold-error.d.ts.map +1 -0
  631. package/dist/scaffolding/scaffold-error.js +11 -0
  632. package/dist/scaffolding/scaffold-error.js.map +1 -0
  633. package/dist/scaffolding/service.d.ts +8 -0
  634. package/dist/scaffolding/service.d.ts.map +1 -0
  635. package/dist/scaffolding/service.js +15 -0
  636. package/dist/scaffolding/service.js.map +1 -0
  637. package/dist/schema-ids.d.ts +1 -1
  638. package/dist/schema-ids.d.ts.map +1 -1
  639. package/dist/schema-ids.js +16 -0
  640. package/dist/schema-ids.js.map +1 -1
  641. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.d.ts.map +1 -1
  642. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js +17 -12
  643. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js.map +1 -1
  644. package/dist/strict-yaml.d.ts +1 -1
  645. package/dist/strict-yaml.d.ts.map +1 -1
  646. package/dist/strict-yaml.js +33 -33
  647. package/dist/strict-yaml.js.map +1 -1
  648. package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.d.ts.map +1 -1
  649. package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.js +7 -6
  650. package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.js.map +1 -1
  651. package/package.json +13 -1
  652. package/presets/oxlint/maintainability-tests.json +23 -0
  653. package/presets/oxlint/maintainability.json +23 -0
  654. package/schemas/architecture-source-dependencies/v2.schema.json +102 -0
  655. package/schemas/contract-json-schema-release-baseline/v1.schema.json +65 -0
  656. package/schemas/contract-json-schema-releases/v1.schema.json +119 -0
  657. package/schemas/contract-protobuf-evolution/v1.schema.json +115 -0
  658. package/schemas/contract-protobuf-evolution-baseline/v1.schema.json +54 -0
  659. package/schemas/documentation-local-references/v1.schema.json +29 -0
  660. package/schemas/foundation-config/v1.schema.json +50 -0
  661. package/schemas/governance-architecture-decision-baseline/v1.schema.json +37 -0
  662. package/schemas/governance-architecture-decisions/v1.schema.json +63 -0
  663. package/schemas/package-public-api-baseline/v1.schema.json +1 -1
  664. package/schemas/package-public-api-baseline/v2.schema.json +62 -0
  665. package/schemas/package-public-api-compatibility/v1.schema.json +2 -0
  666. package/schemas/package-public-api-compatibility/v2.schema.json +113 -0
  667. package/schemas/repository-agent-workflow/v1.schema.json +92 -0
  668. package/schemas/repository-security-baseline/v1.schema.json +95 -2
  669. package/schemas/scaffold-intent/v1.schema.json +60 -0
  670. package/schemas/scaffold-plan/v1.schema.json +250 -0
  671. package/schemas/scaffold-receipt/v1.schema.json +299 -0
  672. package/schemas/scaffold-target-catalog/v1.schema.json +52 -0
  673. package/schemas/scaffolding-config/v1.schema.json +99 -0
@@ -0,0 +1,178 @@
1
+ import { ARCHITECTURE_DECISION_STATUSES } from "../model/architecture-decision.js";
2
+ import { ARCHITECTURE_DECISION_GOVERNANCE_RULES } from "../rules.js";
3
+ import { architectureDecisionDiagnostic } from "./architecture-decision-diagnostic.js";
4
+ const ADR_ID = /^ADR-\d{4}$/u;
5
+ const ADR_FILENAME = /^(\d{4})-[a-z0-9]+(?:-[a-z0-9]+)*\.md$/u;
6
+ function record(value) {
7
+ return typeof value === "object" && value !== null && !Array.isArray(value)
8
+ ? value
9
+ : undefined;
10
+ }
11
+ function strings(value) {
12
+ if (value === undefined) {
13
+ return [];
14
+ }
15
+ if (!Array.isArray(value) || value.some((entry) => typeof entry !== "string")) {
16
+ return undefined;
17
+ }
18
+ const entries = value;
19
+ return new Set(entries).size === entries.length ? [...entries].toSorted() : undefined;
20
+ }
21
+ function architectureDecisionIds(value) {
22
+ const entries = strings(value);
23
+ return entries?.every((entry) => ADR_ID.test(entry)) === true
24
+ ? entries
25
+ : undefined;
26
+ }
27
+ function architectureDecisionStatus(value) {
28
+ return typeof value === "string" &&
29
+ ARCHITECTURE_DECISION_STATUSES.includes(value)
30
+ ? value
31
+ : undefined;
32
+ }
33
+ function filename(path) {
34
+ const segments = path.split("/");
35
+ return segments.at(-1) ?? path;
36
+ }
37
+ function frontmatterMetadata(document) {
38
+ const subject = document.repositoryPath;
39
+ if (document.frontmatter.kind === "absent") {
40
+ return {
41
+ diagnostics: [
42
+ architectureDecisionDiagnostic({
43
+ message: "ADR document requires YAML frontmatter.",
44
+ path: document.repositoryPath,
45
+ rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.frontmatterInvalid,
46
+ subject
47
+ })
48
+ ],
49
+ kind: "invalid"
50
+ };
51
+ }
52
+ if (document.frontmatter.kind === "invalid") {
53
+ return {
54
+ diagnostics: [
55
+ architectureDecisionDiagnostic({
56
+ evidence: [{ kind: "frontmatter-error", value: document.frontmatter.message }],
57
+ message: "ADR frontmatter is invalid.",
58
+ path: document.repositoryPath,
59
+ rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.frontmatterInvalid,
60
+ subject
61
+ })
62
+ ],
63
+ kind: "invalid"
64
+ };
65
+ }
66
+ const metadata = record(document.frontmatter.value);
67
+ return metadata === undefined
68
+ ? {
69
+ diagnostics: [
70
+ architectureDecisionDiagnostic({
71
+ message: "ADR frontmatter must be a YAML object.",
72
+ path: document.repositoryPath,
73
+ rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.frontmatterInvalid,
74
+ subject
75
+ })
76
+ ],
77
+ kind: "invalid"
78
+ }
79
+ : { kind: "valid", metadata };
80
+ }
81
+ function metadataFields(input) {
82
+ const { diagnostics, document, metadata } = input;
83
+ const subject = document.repositoryPath;
84
+ const id = metadata["id"];
85
+ const status = architectureDecisionStatus(metadata["status"]);
86
+ const supersedes = architectureDecisionIds(metadata["supersedes"]);
87
+ const supersededBy = architectureDecisionIds(metadata["superseded_by"]);
88
+ const idIsValid = typeof id === "string" && ADR_ID.test(id);
89
+ if (!idIsValid) {
90
+ diagnostics.push(architectureDecisionDiagnostic({
91
+ message: "ADR frontmatter id must match ADR-NNNN.",
92
+ path: document.repositoryPath,
93
+ rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.frontmatterInvalid,
94
+ subject
95
+ }));
96
+ }
97
+ if (status === undefined) {
98
+ diagnostics.push(architectureDecisionDiagnostic({
99
+ message: "ADR frontmatter status must be proposed, accepted, or superseded.",
100
+ path: document.repositoryPath,
101
+ rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.frontmatterInvalid,
102
+ subject
103
+ }));
104
+ }
105
+ if (supersedes === undefined || supersededBy === undefined) {
106
+ diagnostics.push(architectureDecisionDiagnostic({
107
+ message: "ADR supersedes and superseded_by metadata must be arrays of unique ADR IDs.",
108
+ path: document.repositoryPath,
109
+ rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.frontmatterInvalid,
110
+ subject
111
+ }));
112
+ }
113
+ return idIsValid &&
114
+ status !== undefined &&
115
+ supersedes !== undefined &&
116
+ supersededBy !== undefined
117
+ ? { id, status, supersededBy, supersedes }
118
+ : undefined;
119
+ }
120
+ function filenameDiagnostic(input) {
121
+ const fileMatch = filename(input.document.repositoryPath).match(ADR_FILENAME);
122
+ if (fileMatch?.[1] !== undefined && input.id === `ADR-${fileMatch[1]}`) {
123
+ return undefined;
124
+ }
125
+ return architectureDecisionDiagnostic({
126
+ evidence: [{ kind: "adr-id", value: input.id }],
127
+ message: `ADR filename must match ${input.id}: ${fileMatch?.[1] === undefined ? "NNNN-kebab-case.md" : `${fileMatch[1]}-kebab-case.md`}.`,
128
+ path: input.document.repositoryPath,
129
+ rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.filenameMismatch,
130
+ subject: input.id
131
+ });
132
+ }
133
+ function headingDiagnostic(input) {
134
+ const topLevelHeadings = input.document.headings.filter((heading) => heading.depth === 1);
135
+ const topLevelHeading = topLevelHeadings[0];
136
+ const expectedHeadingPrefix = `${input.id}: `;
137
+ const headingIsValid = topLevelHeadings.length === 1 &&
138
+ topLevelHeading !== undefined &&
139
+ topLevelHeading.text.startsWith(expectedHeadingPrefix) &&
140
+ topLevelHeading.text.slice(expectedHeadingPrefix.length).trim().length > 0;
141
+ return headingIsValid
142
+ ? undefined
143
+ : architectureDecisionDiagnostic({
144
+ evidence: [{ kind: "expected-heading-prefix", value: expectedHeadingPrefix }],
145
+ message: `ADR requires exactly one level-one heading beginning with ${expectedHeadingPrefix}.`,
146
+ path: input.document.repositoryPath,
147
+ rule: ARCHITECTURE_DECISION_GOVERNANCE_RULES.headingMismatch,
148
+ subject: input.id
149
+ });
150
+ }
151
+ export function parseArchitectureDecisionDocument(document) {
152
+ const metadata = frontmatterMetadata(document);
153
+ if (metadata.kind === "invalid") {
154
+ return { diagnostics: metadata.diagnostics };
155
+ }
156
+ const diagnostics = [];
157
+ const fields = metadataFields({ diagnostics, document, metadata: metadata.metadata });
158
+ if (fields === undefined) {
159
+ return { diagnostics };
160
+ }
161
+ const identityDiagnostics = [
162
+ filenameDiagnostic({ document, id: fields.id }),
163
+ headingDiagnostic({ document, id: fields.id })
164
+ ].filter((entry) => entry !== undefined);
165
+ diagnostics.push(...identityDiagnostics);
166
+ return {
167
+ decision: {
168
+ document,
169
+ id: fields.id,
170
+ metadata: metadata.metadata,
171
+ status: fields.status,
172
+ supersededBy: fields.supersededBy,
173
+ supersedes: fields.supersedes
174
+ },
175
+ diagnostics
176
+ };
177
+ }
178
+ //# sourceMappingURL=parse-architecture-decision-document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-architecture-decision-document.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/policies/parse-architecture-decision-document.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { AcceptedArchitectureDecisionBaseline } from "../model/architecture-decision.js";
2
+ export type ArchitectureDecisionBaselineReadResult = {
3
+ readonly kind: "invalid";
4
+ readonly message: string;
5
+ } | {
6
+ readonly kind: "missing";
7
+ } | {
8
+ readonly kind: "unsafe";
9
+ readonly message: string;
10
+ } | {
11
+ readonly kind: "valid";
12
+ /** Opaque adapter-issued revision used to reject concurrent baseline changes. */
13
+ readonly revision: string;
14
+ readonly value: unknown;
15
+ };
16
+ export type ArchitectureDecisionBaselineExpectedState = {
17
+ readonly kind: "missing";
18
+ } | {
19
+ readonly kind: "valid";
20
+ readonly revision: string;
21
+ };
22
+ export type ArchitectureDecisionBaselineWriteResult = "created" | "unchanged" | "updated";
23
+ export interface ArchitectureDecisionBaselineRepository {
24
+ read(input: {
25
+ readonly consumerRoot: string;
26
+ readonly path: string;
27
+ readonly signal?: AbortSignal;
28
+ }): Promise<ArchitectureDecisionBaselineReadResult>;
29
+ write(input: {
30
+ readonly baseline: AcceptedArchitectureDecisionBaseline;
31
+ readonly consumerRoot: string;
32
+ readonly expected: ArchitectureDecisionBaselineExpectedState;
33
+ readonly path: string;
34
+ readonly signal?: AbortSignal;
35
+ }): Promise<ArchitectureDecisionBaselineWriteResult>;
36
+ }
37
+ //# sourceMappingURL=architecture-decision-baseline-repository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-decision-baseline-repository.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oCAAoC,EAAE,MAAM,mCAAmC,CAAC;AAE9F,MAAM,MAAM,sCAAsC,GAC9C;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,CAAC;AAEN,MAAM,MAAM,yCAAyC,GACjD;IACE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEN,MAAM,MAAM,uCAAuC,GAC/C,SAAS,GACT,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,sCAAsC;IACrD,IAAI,CAAC,KAAK,EAAE;QACV,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAEpD,KAAK,CAAC,KAAK,EAAE;QACX,QAAQ,CAAC,QAAQ,EAAE,oCAAoC,CAAC;QACxD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,QAAQ,EAAE,yCAAyC,CAAC;QAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;KAC/B,GAAG,OAAO,CAAC,uCAAuC,CAAC,CAAC;CACtD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=architecture-decision-baseline-repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-decision-baseline-repository.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/ports/architecture-decision-baseline-repository.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export interface ArchitectureDecisionFingerprint {
2
+ digest(payload: string): string;
3
+ }
4
+ //# sourceMappingURL=architecture-decision-fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-decision-fingerprint.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,+BAA+B;IAC9C,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=architecture-decision-fingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-decision-fingerprint.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/ports/architecture-decision-fingerprint.ts"],"names":[],"mappings":""}
@@ -0,0 +1,30 @@
1
+ import type { DiagnosticSeverity } from "../../../check-contract.js";
2
+ export interface ArchitectureDecisionGovernanceRuleMetadata {
3
+ readonly documentation: string;
4
+ readonly id: string;
5
+ readonly rationale: string;
6
+ readonly remediation: string;
7
+ readonly requiresArchitectureReview: boolean;
8
+ readonly severity: DiagnosticSeverity;
9
+ }
10
+ export declare const ARCHITECTURE_DECISION_GOVERNANCE_RULES: Readonly<{
11
+ acceptedBaselineInvalid: ArchitectureDecisionGovernanceRuleMetadata;
12
+ acceptedBaselineMissing: ArchitectureDecisionGovernanceRuleMetadata;
13
+ acceptedBaselineUnavailable: ArchitectureDecisionGovernanceRuleMetadata;
14
+ acceptedDecisionMissing: ArchitectureDecisionGovernanceRuleMetadata;
15
+ acceptedDecisionMutated: ArchitectureDecisionGovernanceRuleMetadata;
16
+ baselinePathMismatch: ArchitectureDecisionGovernanceRuleMetadata;
17
+ duplicateId: ArchitectureDecisionGovernanceRuleMetadata;
18
+ filenameMismatch: ArchitectureDecisionGovernanceRuleMetadata;
19
+ frontmatterInvalid: ArchitectureDecisionGovernanceRuleMetadata;
20
+ headingMismatch: ArchitectureDecisionGovernanceRuleMetadata;
21
+ indexMembership: ArchitectureDecisionGovernanceRuleMetadata;
22
+ indexMissing: ArchitectureDecisionGovernanceRuleMetadata;
23
+ lifecycleInvalid: ArchitectureDecisionGovernanceRuleMetadata;
24
+ sourceUnavailable: ArchitectureDecisionGovernanceRuleMetadata;
25
+ supersedesCycle: ArchitectureDecisionGovernanceRuleMetadata;
26
+ supersedesMismatch: ArchitectureDecisionGovernanceRuleMetadata;
27
+ symbolicLink: ArchitectureDecisionGovernanceRuleMetadata;
28
+ }>;
29
+ export declare const ARCHITECTURE_DECISION_GOVERNANCE_RULES_BY_ID: ReadonlyMap<string, ArchitectureDecisionGovernanceRuleMetadata>;
30
+ //# sourceMappingURL=rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/governance-architecture-decisions/application/rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,MAAM,WAAW,0CAA0C;IACzD,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC;IAC7C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;CACvC;AAkBD,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;EA0FjD,CAAC;AAEH,eAAO,MAAM,4CAA4C,EAAE,WAAW,CACpE,MAAM,EACN,0CAA0C,CAM3C,CAAC"}
@@ -0,0 +1,34 @@
1
+ function rule(suffix, rationale, remediation, requiresArchitectureReview = false) {
2
+ return Object.freeze({
3
+ documentation: "docs/architecture/executable-capabilities.md#governancearchitecture-decisions",
4
+ id: `governance.architecture-decisions.${suffix}`,
5
+ rationale,
6
+ remediation,
7
+ requiresArchitectureReview,
8
+ severity: "error"
9
+ });
10
+ }
11
+ export const ARCHITECTURE_DECISION_GOVERNANCE_RULES = Object.freeze({
12
+ acceptedBaselineInvalid: rule("accepted-baseline-invalid", "An immutable decision baseline must be complete and structurally verifiable.", "Restore a valid baseline generated from accepted architecture decisions."),
13
+ acceptedBaselineMissing: rule("accepted-baseline-missing", "Accepted decisions must be present in the immutable baseline before they can be trusted as stable governance evidence.", "Promote the accepted decision into the immutable baseline through the reviewed release workflow.", true),
14
+ acceptedBaselineUnavailable: rule("accepted-baseline-unavailable", "Accepted decision immutability cannot be checked without a safe baseline artifact.", "Restore the configured baseline as a regular repository file."),
15
+ acceptedDecisionMissing: rule("accepted-decision-missing", "An immutable baseline entry must continue to identify an accepted or superseded decision document.", "Restore the decision document or perform an explicitly reviewed baseline migration.", true),
16
+ acceptedDecisionMutated: rule("accepted-decision-mutated", "Accepted decision content is immutable apart from lifecycle status and superseded_by metadata.", "Create a successor ADR instead of editing the accepted decision."),
17
+ baselinePathMismatch: rule("baseline-path-mismatch", "A baseline path is part of the stable identity of an accepted decision.", "Restore the original filename or perform an explicitly reviewed baseline migration.", true),
18
+ duplicateId: rule("duplicate-id", "Architecture decision identifiers must be globally unique within governed ADR roots.", "Assign a new monotonic ADR identifier to one document."),
19
+ filenameMismatch: rule("filename-mismatch", "ADR filename numbering must agree with the document identity.", "Use NNNN-kebab-case.md with an ID of ADR-NNNN."),
20
+ frontmatterInvalid: rule("frontmatter-invalid", "ADR lifecycle metadata must be structured and unambiguous.", "Add valid YAML frontmatter with id and status fields."),
21
+ headingMismatch: rule("heading-mismatch", "An ADR title must expose the same identity as its metadata and filename.", "Use exactly one level-one heading in the form ADR-NNNN: concise title."),
22
+ indexMembership: rule("index-membership", "The ADR index must present each decision under exactly its lifecycle section.", "List the ADR once under the configured section for its current status."),
23
+ indexMissing: rule("index-missing", "A configured ADR index is required to make lifecycle evidence discoverable.", "Create the configured index document as a regular Markdown file."),
24
+ lifecycleInvalid: rule("lifecycle-invalid", "ADR status and lifecycle references must describe one coherent decision history.", "Correct status, supersedes, and superseded_by metadata."),
25
+ sourceUnavailable: rule("source-unavailable", "ADR governance cannot make a complete decision inventory when sources are unavailable.", "Restore a readable regular Markdown source under the governed ADR roots."),
26
+ supersedesCycle: rule("supersedes-cycle", "Supersession must form an acyclic historical relation.", "Create a forward successor relation without referring back to a predecessor."),
27
+ supersedesMismatch: rule("supersedes-mismatch", "Supersession references must be bidirectional so historical navigation is deterministic.", "Update both predecessor and successor metadata to reference each other."),
28
+ symbolicLink: rule("symbolic-link", "ADR evidence must not traverse symbolic links because they can bypass repository containment.", "Replace the symbolic link with a regular repository file or directory.", true)
29
+ });
30
+ export const ARCHITECTURE_DECISION_GOVERNANCE_RULES_BY_ID = new Map(Object.values(ARCHITECTURE_DECISION_GOVERNANCE_RULES).map((metadata) => [
31
+ metadata.id,
32
+ metadata
33
+ ]));
34
+ //# sourceMappingURL=rules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../../../src/capabilities/governance-architecture-decisions/application/rules.ts"],"names":[],"mappings":"AAWA,SAAS,IAAI,CACX,MAAc,EACd,SAAiB,EACjB,WAAmB,EACnB,0BAA0B,GAAG,KAAK;IAElC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,+EAA+E;QAC9F,EAAE,EAAE,qCAAqC,MAAM,EAAE;QACjD,SAAS;QACT,WAAW;QACX,0BAA0B;QAC1B,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,sCAAsC,GAAG,MAAM,CAAC,MAAM,CAAC;IAClE,uBAAuB,EAAE,IAAI,CAC3B,2BAA2B,EAC3B,8EAA8E,EAC9E,0EAA0E,CAC3E;IACD,uBAAuB,EAAE,IAAI,CAC3B,2BAA2B,EAC3B,wHAAwH,EACxH,kGAAkG,EAClG,IAAI,CACL;IACD,2BAA2B,EAAE,IAAI,CAC/B,+BAA+B,EAC/B,oFAAoF,EACpF,+DAA+D,CAChE;IACD,uBAAuB,EAAE,IAAI,CAC3B,2BAA2B,EAC3B,oGAAoG,EACpG,qFAAqF,EACrF,IAAI,CACL;IACD,uBAAuB,EAAE,IAAI,CAC3B,2BAA2B,EAC3B,gGAAgG,EAChG,kEAAkE,CACnE;IACD,oBAAoB,EAAE,IAAI,CACxB,wBAAwB,EACxB,yEAAyE,EACzE,qFAAqF,EACrF,IAAI,CACL;IACD,WAAW,EAAE,IAAI,CACf,cAAc,EACd,sFAAsF,EACtF,wDAAwD,CACzD;IACD,gBAAgB,EAAE,IAAI,CACpB,mBAAmB,EACnB,+DAA+D,EAC/D,gDAAgD,CACjD;IACD,kBAAkB,EAAE,IAAI,CACtB,qBAAqB,EACrB,4DAA4D,EAC5D,uDAAuD,CACxD;IACD,eAAe,EAAE,IAAI,CACnB,kBAAkB,EAClB,0EAA0E,EAC1E,wEAAwE,CACzE;IACD,eAAe,EAAE,IAAI,CACnB,kBAAkB,EAClB,+EAA+E,EAC/E,wEAAwE,CACzE;IACD,YAAY,EAAE,IAAI,CAChB,eAAe,EACf,6EAA6E,EAC7E,kEAAkE,CACnE;IACD,gBAAgB,EAAE,IAAI,CACpB,mBAAmB,EACnB,kFAAkF,EAClF,yDAAyD,CAC1D;IACD,iBAAiB,EAAE,IAAI,CACrB,oBAAoB,EACpB,wFAAwF,EACxF,0EAA0E,CAC3E;IACD,eAAe,EAAE,IAAI,CACnB,kBAAkB,EAClB,wDAAwD,EACxD,8EAA8E,CAC/E;IACD,kBAAkB,EAAE,IAAI,CACtB,qBAAqB,EACrB,0FAA0F,EAC1F,yEAAyE,CAC1E;IACD,YAAY,EAAE,IAAI,CAChB,eAAe,EACf,+FAA+F,EAC/F,wEAAwE,EACxE,IAAI,CACL;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4CAA4C,GAGrD,IAAI,GAAG,CACT,MAAM,CAAC,MAAM,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtE,QAAQ,CAAC,EAAE;IACX,QAAQ;CACT,CAAC,CACH,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { FoundationDiagnostic } from "../../../../check-contract.js";
2
+ import type { MarkdownRepository } from "../../../../documentation-observation/application/ports/markdown-repository.js";
3
+ import type { ArchitectureDecision, ArchitectureDecisionPolicy } from "../model/architecture-decision.js";
4
+ import type { ArchitectureDecisionBaselineReadResult, ArchitectureDecisionBaselineRepository } from "../ports/architecture-decision-baseline-repository.js";
5
+ import type { ArchitectureDecisionFingerprint } from "../ports/architecture-decision-fingerprint.js";
6
+ export interface AnalyzeArchitectureDecisionsInput {
7
+ readonly consumerRoot: string;
8
+ readonly policy: ArchitectureDecisionPolicy;
9
+ readonly signal?: AbortSignal;
10
+ }
11
+ export interface AnalyzeArchitectureDecisionsDependencies {
12
+ readonly baselineRepository: ArchitectureDecisionBaselineRepository;
13
+ readonly fingerprint: ArchitectureDecisionFingerprint;
14
+ readonly markdownRepository: MarkdownRepository;
15
+ }
16
+ /**
17
+ * The exact baseline observation that was evaluated with the current ADR
18
+ * catalog. Consumers that need accepted-decision evidence must use this
19
+ * snapshot rather than reading the mutable file again.
20
+ */
21
+ export interface ArchitectureDecisionEvidenceAnalysis {
22
+ readonly baseline: ArchitectureDecisionBaselineReadResult;
23
+ readonly decisions: readonly ArchitectureDecision[];
24
+ readonly diagnostics: readonly FoundationDiagnostic[];
25
+ }
26
+ export declare function analyzeArchitectureDecisionEvidence(input: AnalyzeArchitectureDecisionsInput, dependencies: AnalyzeArchitectureDecisionsDependencies): Promise<ArchitectureDecisionEvidenceAnalysis>;
27
+ export declare function analyzeArchitectureDecisions(input: AnalyzeArchitectureDecisionsInput, dependencies: AnalyzeArchitectureDecisionsDependencies): Promise<readonly FoundationDiagnostic[]>;
28
+ //# sourceMappingURL=analyze-architecture-decisions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-architecture-decisions.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAE1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gFAAgF,CAAC;AACzH,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EACV,sCAAsC,EACtC,sCAAsC,EACvC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AAIrG,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;IACpE,QAAQ,CAAC,WAAW,EAAE,+BAA+B,CAAC;IACtD,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;CACjD;AAED;;;;GAIG;AACH,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,QAAQ,EAAE,sCAAsC,CAAC;IAC1D,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,oBAAoB,EAAE,CAAC;CACvD;AAED,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,iCAAiC,EACxC,YAAY,EAAE,wCAAwC,GACrD,OAAO,CAAC,oCAAoC,CAAC,CA8B/C;AAED,wBAAsB,4BAA4B,CAChD,KAAK,EAAE,iCAAiC,EACxC,YAAY,EAAE,wCAAwC,GACrD,OAAO,CAAC,SAAS,oBAAoB,EAAE,CAAC,CAE1C"}
@@ -0,0 +1,35 @@
1
+ import { assertNotCancelled } from "../../../../strict-yaml.js";
2
+ import { evaluateArchitectureDecisionBaselineDiagnostics } from "../policies/evaluate-architecture-decisions.js";
3
+ import { inspectArchitectureDecisionCatalog } from "./inspect-architecture-decision-catalog.js";
4
+ export async function analyzeArchitectureDecisionEvidence(input, dependencies) {
5
+ assertNotCancelled(input.signal);
6
+ const [baseline, catalog] = await Promise.all([
7
+ dependencies.baselineRepository.read({
8
+ consumerRoot: input.consumerRoot,
9
+ path: input.policy.acceptedBaselinePath,
10
+ ...(input.signal === undefined ? {} : { signal: input.signal })
11
+ }),
12
+ inspectArchitectureDecisionCatalog({
13
+ consumerRoot: input.consumerRoot,
14
+ policy: input.policy,
15
+ ...(input.signal === undefined ? {} : { signal: input.signal })
16
+ }, dependencies)
17
+ ]);
18
+ return Object.freeze({
19
+ baseline,
20
+ decisions: catalog.decisions,
21
+ diagnostics: Object.freeze([
22
+ ...catalog.diagnostics,
23
+ ...evaluateArchitectureDecisionBaselineDiagnostics({
24
+ baseline,
25
+ decisions: catalog.decisions,
26
+ fingerprint: dependencies.fingerprint,
27
+ path: input.policy.acceptedBaselinePath
28
+ })
29
+ ])
30
+ });
31
+ }
32
+ export async function analyzeArchitectureDecisions(input, dependencies) {
33
+ return (await analyzeArchitectureDecisionEvidence(input, dependencies)).diagnostics;
34
+ }
35
+ //# sourceMappingURL=analyze-architecture-decisions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyze-architecture-decisions.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/use-cases/analyze-architecture-decisions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAWhE,OAAO,EAAE,+CAA+C,EAAE,MAAM,gDAAgD,CAAC;AACjH,OAAO,EAAE,kCAAkC,EAAE,MAAM,4CAA4C,CAAC;AAyBhG,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,KAAwC,EACxC,YAAsD;IAEtD,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5C,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC;YACnC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,oBAAoB;YACvC,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SAChE,CAAC;QACF,kCAAkC,CAChC;YACE,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;SAChE,EACD,YAAY,CACb;KACF,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,QAAQ;QACR,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC;YACzB,GAAG,OAAO,CAAC,WAAW;YACtB,GAAG,+CAA+C,CAAC;gBACjD,QAAQ;gBACR,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,oBAAoB;aACxC,CAAC;SACH,CAAC;KACH,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAwC,EACxC,YAAsD;IAEtD,OAAO,CAAC,MAAM,mCAAmC,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;AACtF,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { MarkdownRepository } from "../../../../documentation-observation/application/ports/markdown-repository.js";
2
+ import type { ArchitectureDecisionPolicy } from "../model/architecture-decision.js";
3
+ import { type ArchitectureDecisionCatalogEvaluation } from "../policies/evaluate-architecture-decisions.js";
4
+ export interface InspectArchitectureDecisionCatalogInput {
5
+ readonly consumerRoot: string;
6
+ readonly policy: ArchitectureDecisionPolicy;
7
+ readonly signal?: AbortSignal;
8
+ }
9
+ export interface InspectArchitectureDecisionCatalogDependencies {
10
+ readonly markdownRepository: MarkdownRepository;
11
+ }
12
+ /**
13
+ * Builds the current ADR inventory without reading or evaluating the baseline.
14
+ * Promotion uses this exact path so no write can bypass catalog validation.
15
+ */
16
+ export declare function inspectArchitectureDecisionCatalog(input: InspectArchitectureDecisionCatalogInput, dependencies: InspectArchitectureDecisionCatalogDependencies): Promise<ArchitectureDecisionCatalogEvaluation>;
17
+ //# sourceMappingURL=inspect-architecture-decision-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect-architecture-decision-catalog.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gFAAgF,CAAC;AACzH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAGL,KAAK,qCAAqC,EAC3C,MAAM,gDAAgD,CAAC;AAGxD,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,8CAA8C;IAC7D,QAAQ,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;CACjD;AAED;;;GAGG;AACH,wBAAsB,kCAAkC,CACtD,KAAK,EAAE,uCAAuC,EAC9C,YAAY,EAAE,8CAA8C,GAC3D,OAAO,CAAC,qCAAqC,CAAC,CAoBhD"}
@@ -0,0 +1,29 @@
1
+ import { assertNotCancelled } from "../../../../strict-yaml.js";
2
+ import { evaluateArchitectureDecisionCatalog, parseArchitectureDecisionCatalog } from "../policies/evaluate-architecture-decisions.js";
3
+ import { resolveArchitectureDecisionIndexMemberships } from "./resolve-architecture-decision-index-memberships.js";
4
+ /**
5
+ * Builds the current ADR inventory without reading or evaluating the baseline.
6
+ * Promotion uses this exact path so no write can bypass catalog validation.
7
+ */
8
+ export async function inspectArchitectureDecisionCatalog(input, dependencies) {
9
+ assertNotCancelled(input.signal);
10
+ const observation = await dependencies.markdownRepository.observe({
11
+ consumerRoot: input.consumerRoot,
12
+ roots: input.policy.adrRoots,
13
+ ...(input.signal === undefined ? {} : { signal: input.signal })
14
+ });
15
+ const catalog = parseArchitectureDecisionCatalog(observation, input.policy);
16
+ const memberships = await resolveArchitectureDecisionIndexMemberships({
17
+ consumerRoot: input.consumerRoot,
18
+ decisions: catalog.decisions,
19
+ index: catalog.index,
20
+ repository: dependencies.markdownRepository,
21
+ ...(input.signal === undefined ? {} : { signal: input.signal })
22
+ });
23
+ return evaluateArchitectureDecisionCatalog({
24
+ catalog,
25
+ memberships,
26
+ policy: input.policy,
27
+ });
28
+ }
29
+ //# sourceMappingURL=inspect-architecture-decision-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspect-architecture-decision-catalog.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/use-cases/inspect-architecture-decision-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAGhE,OAAO,EACL,mCAAmC,EACnC,gCAAgC,EAEjC,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,2CAA2C,EAAE,MAAM,sDAAsD,CAAC;AAYnH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,KAA8C,EAC9C,YAA4D;IAE5D,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAChE,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ;QAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,gCAAgC,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,MAAM,2CAA2C,CAAC;QACpE,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU,EAAE,YAAY,CAAC,kBAAkB;QAC3C,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAChE,CAAC,CAAC;IACH,OAAO,mCAAmC,CAAC;QACzC,OAAO;QACP,WAAW;QACX,MAAM,EAAE,KAAK,CAAC,MAAM;KACrB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { AcceptedArchitectureDecisionBaseline, ArchitectureDecisionPolicy } from "../model/architecture-decision.js";
2
+ import type { ArchitectureDecisionFingerprint } from "../ports/architecture-decision-fingerprint.js";
3
+ import type { ArchitectureDecisionBaselineRepository, ArchitectureDecisionBaselineWriteResult } from "../ports/architecture-decision-baseline-repository.js";
4
+ import { type InspectArchitectureDecisionCatalogDependencies } from "./inspect-architecture-decision-catalog.js";
5
+ export interface ArchitectureDecisionBaselinePromotion {
6
+ readonly baseline: AcceptedArchitectureDecisionBaseline;
7
+ readonly writeResult: ArchitectureDecisionBaselineWriteResult;
8
+ }
9
+ export interface PromoteArchitectureDecisionBaselineInput {
10
+ readonly consumerRoot: string;
11
+ readonly policy: ArchitectureDecisionPolicy;
12
+ readonly signal?: AbortSignal;
13
+ }
14
+ export interface PromoteArchitectureDecisionBaselineDependencies extends InspectArchitectureDecisionCatalogDependencies {
15
+ readonly baselineRepository: ArchitectureDecisionBaselineRepository;
16
+ readonly fingerprint: ArchitectureDecisionFingerprint;
17
+ }
18
+ export declare function promoteArchitectureDecisionBaseline(input: PromoteArchitectureDecisionBaselineInput, dependencies: PromoteArchitectureDecisionBaselineDependencies): Promise<ArchitectureDecisionBaselinePromotion>;
19
+ //# sourceMappingURL=promote-architecture-decision-baseline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote-architecture-decision-baseline.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oCAAoC,EACpC,0BAA0B,EAC3B,MAAM,mCAAmC,CAAC;AAM3C,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,+CAA+C,CAAC;AACrG,OAAO,KAAK,EAEV,sCAAsC,EACtC,uCAAuC,EACxC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAEL,KAAK,8CAA8C,EACpD,MAAM,4CAA4C,CAAC;AAEpD,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,QAAQ,EAAE,oCAAoC,CAAC;IACxD,QAAQ,CAAC,WAAW,EAAE,uCAAuC,CAAC;CAC/D;AAED,MAAM,WAAW,wCAAwC;IACvD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,+CACf,SAAQ,8CAA8C;IACtD,QAAQ,CAAC,kBAAkB,EAAE,sCAAsC,CAAC;IACpE,QAAQ,CAAC,WAAW,EAAE,+BAA+B,CAAC;CACvD;AAyDD,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,wCAAwC,EAC/C,YAAY,EAAE,+CAA+C,GAC5D,OAAO,CAAC,qCAAqC,CAAC,CAuDhD"}
@@ -0,0 +1,85 @@
1
+ import { CapabilityInputError } from "../../../../capability-runtime.js";
2
+ import { assertNotCancelled } from "../../../../strict-yaml.js";
3
+ import { buildAcceptedArchitectureDecisionBaseline, findHistoricalArchitectureDecisionBaselineViolation, parseAcceptedArchitectureDecisionBaseline } from "../policies/accepted-architecture-decision-baseline.js";
4
+ import { inspectArchitectureDecisionCatalog } from "./inspect-architecture-decision-catalog.js";
5
+ function promotionError(code, message) {
6
+ throw new CapabilityInputError({
7
+ code,
8
+ message,
9
+ phase: "architecture-decision-baseline-promotion",
10
+ retryable: false
11
+ });
12
+ }
13
+ function expectedBaselineState(input) {
14
+ if (input.kind === "missing") {
15
+ return { kind: "missing" };
16
+ }
17
+ if (input.revision === undefined) {
18
+ promotionError("ARCHITECTURE_DECISION_BASELINE_PROMOTION_INVALID_STATE", "The accepted-decision baseline is missing its concurrency revision.");
19
+ }
20
+ return { kind: "valid", revision: input.revision };
21
+ }
22
+ function validateHistoricalBaseline(input) {
23
+ const violation = findHistoricalArchitectureDecisionBaselineViolation(input);
24
+ if (violation === undefined) {
25
+ return;
26
+ }
27
+ switch (violation.kind) {
28
+ case "missing":
29
+ promotionError("ARCHITECTURE_DECISION_BASELINE_PROMOTION_HISTORICAL_ENTRY_MISSING", `Historical ADR ${violation.id} is absent from the current accepted or superseded ADR catalog.`);
30
+ break;
31
+ case "path-mismatch":
32
+ promotionError("ARCHITECTURE_DECISION_BASELINE_PROMOTION_HISTORICAL_ENTRY_MOVED", `Historical ADR ${violation.id} moved from ${violation.expectedPath} to ${violation.actualPath}.`);
33
+ break;
34
+ case "digest-mismatch":
35
+ promotionError("ARCHITECTURE_DECISION_BASELINE_PROMOTION_HISTORICAL_ENTRY_MUTATED", `Historical ADR ${violation.id} differs from immutable baseline digest ${violation.expectedDigest}.`);
36
+ break;
37
+ }
38
+ }
39
+ export async function promoteArchitectureDecisionBaseline(input, dependencies) {
40
+ assertNotCancelled(input.signal);
41
+ const catalog = await inspectArchitectureDecisionCatalog(input, dependencies);
42
+ if (catalog.diagnostics.length > 0) {
43
+ const subjects = catalog.diagnostics
44
+ .map((diagnostic) => diagnostic.subject)
45
+ .toSorted()
46
+ .slice(0, 3)
47
+ .join(", ");
48
+ promotionError("ARCHITECTURE_DECISION_BASELINE_PROMOTION_CATALOG_INVALID", `ADR catalog must pass parse, identity, lifecycle, and index validation before baseline promotion${subjects.length === 0 ? "." : `: ${subjects}.`}`);
49
+ }
50
+ const baseline = buildAcceptedArchitectureDecisionBaseline({
51
+ decisions: catalog.decisions,
52
+ fingerprint: dependencies.fingerprint
53
+ });
54
+ assertNotCancelled(input.signal);
55
+ const existing = await dependencies.baselineRepository.read({
56
+ consumerRoot: input.consumerRoot,
57
+ path: input.policy.acceptedBaselinePath,
58
+ ...(input.signal === undefined ? {} : { signal: input.signal })
59
+ });
60
+ let expected;
61
+ if (existing.kind === "missing") {
62
+ expected = expectedBaselineState(existing);
63
+ }
64
+ else if (existing.kind === "valid") {
65
+ const historical = parseAcceptedArchitectureDecisionBaseline(existing.value);
66
+ if (historical === undefined) {
67
+ promotionError("ARCHITECTURE_DECISION_BASELINE_PROMOTION_EXISTING_INVALID", "The existing accepted-decision baseline has an invalid immutable shape.");
68
+ }
69
+ validateHistoricalBaseline({ existing: historical, next: baseline });
70
+ expected = expectedBaselineState(existing);
71
+ }
72
+ else {
73
+ promotionError("ARCHITECTURE_DECISION_BASELINE_PROMOTION_EXISTING_UNSAFE", `The existing accepted-decision baseline cannot be safely promoted: ${existing.message}`);
74
+ }
75
+ assertNotCancelled(input.signal);
76
+ const writeResult = await dependencies.baselineRepository.write({
77
+ baseline,
78
+ consumerRoot: input.consumerRoot,
79
+ expected,
80
+ path: input.policy.acceptedBaselinePath,
81
+ ...(input.signal === undefined ? {} : { signal: input.signal })
82
+ });
83
+ return Object.freeze({ baseline, writeResult });
84
+ }
85
+ //# sourceMappingURL=promote-architecture-decision-baseline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promote-architecture-decision-baseline.js","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/use-cases/promote-architecture-decision-baseline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { MarkdownDocumentObservation } from "../../../../documentation-observation/application/model/markdown-document.js";
2
+ import type { MarkdownRepository } from "../../../../documentation-observation/application/ports/markdown-repository.js";
3
+ import type { ArchitectureDecision } from "../model/architecture-decision.js";
4
+ import { type ArchitectureDecisionIndexMembership } from "../policies/evaluate-architecture-decision-index.js";
5
+ export declare function resolveArchitectureDecisionIndexMemberships(input: {
6
+ readonly consumerRoot: string;
7
+ readonly decisions: readonly ArchitectureDecision[];
8
+ readonly index: MarkdownDocumentObservation | undefined;
9
+ readonly repository: MarkdownRepository;
10
+ readonly signal?: AbortSignal;
11
+ }): Promise<readonly ArchitectureDecisionIndexMembership[]>;
12
+ //# sourceMappingURL=resolve-architecture-decision-index-memberships.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-architecture-decision-index-memberships.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/governance-architecture-decisions/application/use-cases/resolve-architecture-decision-index-memberships.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,8EAA8E,CAAC;AAChI,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gFAAgF,CAAC;AACzH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAEL,KAAK,mCAAmC,EACzC,MAAM,qDAAqD,CAAC;AAE7D,wBAAsB,2CAA2C,CAAC,KAAK,EAAE;IACvE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,2BAA2B,GAAG,SAAS,CAAC;IACxD,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B,GAAG,OAAO,CAAC,SAAS,mCAAmC,EAAE,CAAC,CA0D1D"}