@agent-teams/engineering-foundation 0.7.0 → 0.9.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 (275) hide show
  1. package/README.md +6 -2
  2. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/crypto/node-sha256-digest.d.ts +6 -0
  3. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/crypto/node-sha256-digest.d.ts.map +1 -0
  4. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/crypto/node-sha256-digest.js +7 -0
  5. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/crypto/node-sha256-digest.js.map +1 -0
  6. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.d.ts +8 -0
  7. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.d.ts.map +1 -0
  8. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.js +131 -0
  9. package/dist/capabilities/contract-protobuf-evolution/adapters/outbound/qualification/filesystem-buf-breaking-qualification-evidence.js.map +1 -0
  10. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.d.ts +37 -0
  11. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.d.ts.map +1 -0
  12. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.js +258 -0
  13. package/dist/capabilities/contract-protobuf-evolution/application/model/buf-breaking-qualification.js.map +1 -0
  14. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts +52 -2
  15. package/dist/capabilities/contract-protobuf-evolution/application/model/protobuf-release-evidence.d.ts.map +1 -1
  16. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.d.ts.map +1 -1
  17. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js +0 -3
  18. package/dist/capabilities/contract-protobuf-evolution/application/policies/evaluate-protobuf-evolution.js.map +1 -1
  19. package/dist/capabilities/contract-protobuf-evolution/application/ports/buf-breaking-qualification-evidence.d.ts +14 -0
  20. package/dist/capabilities/contract-protobuf-evolution/application/ports/buf-breaking-qualification-evidence.d.ts.map +1 -0
  21. package/dist/capabilities/contract-protobuf-evolution/application/ports/buf-breaking-qualification-evidence.js +2 -0
  22. package/dist/capabilities/contract-protobuf-evolution/application/ports/buf-breaking-qualification-evidence.js.map +1 -0
  23. package/dist/capabilities/contract-protobuf-evolution/application/ports/sha256-digest.d.ts +5 -0
  24. package/dist/capabilities/contract-protobuf-evolution/application/ports/sha256-digest.d.ts.map +1 -0
  25. package/dist/capabilities/contract-protobuf-evolution/application/ports/sha256-digest.js +2 -0
  26. package/dist/capabilities/contract-protobuf-evolution/application/ports/sha256-digest.js.map +1 -0
  27. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts +2 -0
  28. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.d.ts.map +1 -1
  29. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js +10 -1
  30. package/dist/capabilities/contract-protobuf-evolution/application/use-cases/resolve-protobuf-evolution-policy.js.map +1 -1
  31. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts.map +1 -1
  32. package/dist/capabilities/contract-protobuf-evolution/contract/config.js +30 -15
  33. package/dist/capabilities/contract-protobuf-evolution/contract/config.js.map +1 -1
  34. package/dist/capabilities/contract-protobuf-evolution/module.d.ts +3 -1
  35. package/dist/capabilities/contract-protobuf-evolution/module.d.ts.map +1 -1
  36. package/dist/capabilities/contract-protobuf-evolution/module.js +4 -1
  37. package/dist/capabilities/contract-protobuf-evolution/module.js.map +1 -1
  38. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.d.ts +21 -0
  39. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.d.ts.map +1 -0
  40. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.js +301 -0
  41. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.js.map +1 -0
  42. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts +2 -0
  43. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts.map +1 -1
  44. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js +28 -41
  45. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js.map +1 -1
  46. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.d.ts +8 -0
  47. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.d.ts.map +1 -0
  48. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.js +102 -0
  49. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.js.map +1 -0
  50. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts +14 -0
  51. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts.map +1 -1
  52. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js +22 -0
  53. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js.map +1 -1
  54. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.d.ts +21 -0
  55. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.d.ts.map +1 -0
  56. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.js +2 -0
  57. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.js.map +1 -0
  58. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.d.ts +18 -0
  59. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.d.ts.map +1 -0
  60. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.js +2 -0
  61. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.js.map +1 -0
  62. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.d.ts +22 -0
  63. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.d.ts.map +1 -0
  64. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.js +221 -0
  65. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.js.map +1 -0
  66. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  67. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +1 -14
  68. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  69. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts +4 -4
  70. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.d.ts.map +1 -1
  71. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js +34 -46
  72. package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/public-api-baseline-mapper.js.map +1 -1
  73. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts +18 -75
  74. package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts.map +1 -1
  75. package/dist/capabilities/public-api-compatibility/application/model/public-api.js +7 -29
  76. package/dist/capabilities/public-api-compatibility/application/model/public-api.js.map +1 -1
  77. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts +1 -5
  78. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.d.ts.map +1 -1
  79. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js +1 -8
  80. package/dist/capabilities/public-api-compatibility/application/policies/accepted-breaking-change.js.map +1 -1
  81. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.d.ts.map +1 -1
  82. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js +5 -38
  83. package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js.map +1 -1
  84. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.d.ts +1 -1
  85. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js +2 -2
  86. package/dist/capabilities/public-api-compatibility/application/policies/validate-package-export-coverage.js.map +1 -1
  87. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts.map +1 -1
  88. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js +0 -1
  89. package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js.map +1 -1
  90. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts.map +1 -1
  91. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js +0 -38
  92. package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js.map +1 -1
  93. package/dist/capabilities/public-api-compatibility/contract/config.d.ts +1 -1
  94. package/dist/capabilities/public-api-compatibility/contract/config.d.ts.map +1 -1
  95. package/dist/capabilities/public-api-compatibility/contract/config.js +32 -106
  96. package/dist/capabilities/public-api-compatibility/contract/config.js.map +1 -1
  97. package/dist/cli-arguments.d.ts +2 -0
  98. package/dist/cli-arguments.d.ts.map +1 -1
  99. package/dist/cli-arguments.js +34 -2
  100. package/dist/cli-arguments.js.map +1 -1
  101. package/dist/cli.js +40 -1
  102. package/dist/cli.js.map +1 -1
  103. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.d.ts +13 -0
  104. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.d.ts.map +1 -0
  105. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js +257 -0
  106. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js.map +1 -0
  107. package/dist/scaffolding/adapters/node/filesystem-authority.d.ts +20 -0
  108. package/dist/scaffolding/adapters/node/filesystem-authority.d.ts.map +1 -0
  109. package/dist/scaffolding/adapters/node/filesystem-authority.js +55 -0
  110. package/dist/scaffolding/adapters/node/filesystem-authority.js.map +1 -0
  111. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts +20 -0
  112. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts.map +1 -0
  113. package/dist/scaffolding/adapters/node/filesystem-file-identity.js +122 -0
  114. package/dist/scaffolding/adapters/node/filesystem-file-identity.js.map +1 -0
  115. package/dist/scaffolding/adapters/node/filesystem-finalization.d.ts +22 -0
  116. package/dist/scaffolding/adapters/node/filesystem-finalization.d.ts.map +1 -0
  117. package/dist/scaffolding/adapters/node/filesystem-finalization.js +169 -0
  118. package/dist/scaffolding/adapters/node/filesystem-finalization.js.map +1 -0
  119. package/dist/scaffolding/adapters/node/filesystem-journal-state.d.ts +25 -0
  120. package/dist/scaffolding/adapters/node/filesystem-journal-state.d.ts.map +1 -0
  121. package/dist/scaffolding/adapters/node/filesystem-journal-state.js +119 -0
  122. package/dist/scaffolding/adapters/node/filesystem-journal-state.js.map +1 -0
  123. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +7 -4
  124. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -1
  125. package/dist/scaffolding/adapters/node/filesystem-journal.js +104 -29
  126. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -1
  127. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts +16 -0
  128. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts.map +1 -0
  129. package/dist/scaffolding/adapters/node/filesystem-operation-state.js +158 -0
  130. package/dist/scaffolding/adapters/node/filesystem-operation-state.js.map +1 -0
  131. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +2 -2
  132. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -1
  133. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -1
  134. package/dist/scaffolding/adapters/node/node-authority-error.d.ts +4 -0
  135. package/dist/scaffolding/adapters/node/node-authority-error.d.ts.map +1 -0
  136. package/dist/scaffolding/adapters/node/node-authority-error.js +7 -0
  137. package/dist/scaffolding/adapters/node/node-authority-error.js.map +1 -0
  138. package/dist/scaffolding/adapters/node/node-authority-input-loader.d.ts +20 -0
  139. package/dist/scaffolding/adapters/node/node-authority-input-loader.d.ts.map +1 -0
  140. package/dist/scaffolding/adapters/node/node-authority-input-loader.js +180 -0
  141. package/dist/scaffolding/adapters/node/node-authority-input-loader.js.map +1 -0
  142. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.d.ts +4 -0
  143. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.d.ts.map +1 -0
  144. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js +10 -0
  145. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js.map +1 -0
  146. package/dist/scaffolding/adapters/node/node-owner-document-resolver.d.ts +17 -0
  147. package/dist/scaffolding/adapters/node/node-owner-document-resolver.d.ts.map +1 -0
  148. package/dist/scaffolding/adapters/node/node-owner-document-resolver.js +161 -0
  149. package/dist/scaffolding/adapters/node/node-owner-document-resolver.js.map +1 -0
  150. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +14 -2
  151. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -1
  152. package/dist/scaffolding/adapters/node/node-plan-authority.js +28 -9
  153. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -1
  154. package/dist/scaffolding/adapters/node/node-repository-file.d.ts +9 -0
  155. package/dist/scaffolding/adapters/node/node-repository-file.d.ts.map +1 -0
  156. package/dist/scaffolding/adapters/node/node-repository-file.js +65 -0
  157. package/dist/scaffolding/adapters/node/node-repository-file.js.map +1 -0
  158. package/dist/scaffolding/adapters/node/node-scaffold-limits.d.ts +2 -0
  159. package/dist/scaffolding/adapters/node/node-scaffold-limits.d.ts.map +1 -0
  160. package/dist/scaffolding/adapters/node/node-scaffold-limits.js +2 -0
  161. package/dist/scaffolding/adapters/node/node-scaffold-limits.js.map +1 -0
  162. package/dist/scaffolding/authority-service.d.ts +7 -0
  163. package/dist/scaffolding/authority-service.d.ts.map +1 -0
  164. package/dist/scaffolding/authority-service.js +15 -0
  165. package/dist/scaffolding/authority-service.js.map +1 -0
  166. package/dist/scaffolding/canonical-api.d.ts +14 -0
  167. package/dist/scaffolding/canonical-api.d.ts.map +1 -0
  168. package/dist/scaffolding/canonical-api.js +32 -0
  169. package/dist/scaffolding/canonical-api.js.map +1 -0
  170. package/dist/scaffolding/cli-command.d.ts.map +1 -1
  171. package/dist/scaffolding/cli-command.js +1 -2
  172. package/dist/scaffolding/cli-command.js.map +1 -1
  173. package/dist/scaffolding/contract/receipt-authority-types.d.ts +125 -0
  174. package/dist/scaffolding/contract/receipt-authority-types.d.ts.map +1 -0
  175. package/dist/scaffolding/contract/receipt-authority-types.js +2 -0
  176. package/dist/scaffolding/contract/receipt-authority-types.js.map +1 -0
  177. package/dist/scaffolding/contract/scaffold-contract.d.ts +329 -0
  178. package/dist/scaffolding/contract/scaffold-contract.d.ts.map +1 -0
  179. package/dist/scaffolding/contract/scaffold-contract.js +2 -0
  180. package/dist/scaffolding/contract/scaffold-contract.js.map +1 -0
  181. package/dist/scaffolding/contract/types.d.ts +130 -193
  182. package/dist/scaffolding/contract/types.d.ts.map +1 -1
  183. package/dist/scaffolding/definitions/node-typescript-library.d.ts +3 -0
  184. package/dist/scaffolding/definitions/node-typescript-library.d.ts.map +1 -0
  185. package/dist/scaffolding/definitions/node-typescript-library.js +134 -0
  186. package/dist/scaffolding/definitions/node-typescript-library.js.map +1 -0
  187. package/dist/scaffolding/definitions/registry.d.ts +1 -1
  188. package/dist/scaffolding/definitions/registry.d.ts.map +1 -1
  189. package/dist/scaffolding/definitions/registry.js +6 -2
  190. package/dist/scaffolding/definitions/registry.js.map +1 -1
  191. package/dist/scaffolding/index.d.ts +4 -8
  192. package/dist/scaffolding/index.d.ts.map +1 -1
  193. package/dist/scaffolding/index.js +2 -7
  194. package/dist/scaffolding/index.js.map +1 -1
  195. package/dist/scaffolding/kernel/authority-compiler.d.ts +4 -0
  196. package/dist/scaffolding/kernel/authority-compiler.d.ts.map +1 -0
  197. package/dist/scaffolding/kernel/authority-compiler.js +78 -0
  198. package/dist/scaffolding/kernel/authority-compiler.js.map +1 -0
  199. package/dist/scaffolding/kernel/authority-evidence.d.ts +13 -0
  200. package/dist/scaffolding/kernel/authority-evidence.d.ts.map +1 -0
  201. package/dist/scaffolding/kernel/authority-evidence.js +79 -0
  202. package/dist/scaffolding/kernel/authority-evidence.js.map +1 -0
  203. package/dist/scaffolding/kernel/authority-receipt.d.ts +11 -0
  204. package/dist/scaffolding/kernel/authority-receipt.d.ts.map +1 -0
  205. package/dist/scaffolding/kernel/authority-receipt.js +189 -0
  206. package/dist/scaffolding/kernel/authority-receipt.js.map +1 -0
  207. package/dist/scaffolding/kernel/compiler.d.ts +28 -2
  208. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -1
  209. package/dist/scaffolding/kernel/compiler.js +22 -36
  210. package/dist/scaffolding/kernel/compiler.js.map +1 -1
  211. package/dist/scaffolding/kernel/definition-registry.d.ts +6 -3
  212. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -1
  213. package/dist/scaffolding/kernel/definition-registry.js +17 -1
  214. package/dist/scaffolding/kernel/definition-registry.js.map +1 -1
  215. package/dist/scaffolding/kernel/plan-content-validation.d.ts +3 -0
  216. package/dist/scaffolding/kernel/plan-content-validation.d.ts.map +1 -0
  217. package/dist/scaffolding/kernel/plan-content-validation.js +44 -0
  218. package/dist/scaffolding/kernel/plan-content-validation.js.map +1 -0
  219. package/dist/scaffolding/kernel/plan-validation.d.ts +2 -2
  220. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -1
  221. package/dist/scaffolding/kernel/plan-validation.js +16 -40
  222. package/dist/scaffolding/kernel/plan-validation.js.map +1 -1
  223. package/dist/scaffolding/scaffold-defaults.d.ts +2 -0
  224. package/dist/scaffolding/scaffold-defaults.d.ts.map +1 -0
  225. package/dist/scaffolding/scaffold-defaults.js +2 -0
  226. package/dist/scaffolding/scaffold-defaults.js.map +1 -0
  227. package/dist/scaffolding/scaffold-error.d.ts +3 -3
  228. package/dist/scaffolding/scaffold-error.d.ts.map +1 -1
  229. package/dist/scaffolding/scaffold-error.js.map +1 -1
  230. package/dist/schema-catalog.d.ts +2 -2
  231. package/dist/schema-catalog.d.ts.map +1 -1
  232. package/dist/schema-catalog.js +41 -8
  233. package/dist/schema-catalog.js.map +1 -1
  234. package/dist/schema-ids.d.ts +2 -1
  235. package/dist/schema-ids.d.ts.map +1 -1
  236. package/dist/schema-ids.js +3 -2
  237. package/dist/schema-ids.js.map +1 -1
  238. package/package.json +25 -2
  239. package/schemas/contract-protobuf-breaking-qualification/v1.schema.json +93 -0
  240. package/schemas/contract-protobuf-evolution/v1.schema.json +47 -15
  241. package/schemas/package-public-api-baseline/v1.schema.json +49 -12
  242. package/schemas/package-public-api-compatibility/v1.schema.json +46 -5
  243. package/schemas/scaffold-authority-evidence/v1.schema.json +103 -0
  244. package/schemas/scaffold-intent/v1.schema.json +1 -1
  245. package/schemas/scaffold-plan/v1.schema.json +86 -8
  246. package/schemas/scaffold-receipt/v1.schema.json +102 -221
  247. package/schemas/scaffold-recovery-journal/v1.schema.json +31 -0
  248. package/schemas/scaffold-target-catalog/v1.schema.json +9 -8
  249. package/schemas/scaffolding-config/v1.schema.json +38 -2
  250. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts +0 -9
  251. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts.map +0 -1
  252. package/dist/scaffolding/adapters/memory/memory-workspace.js +0 -93
  253. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +0 -1
  254. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +0 -13
  255. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +0 -1
  256. package/dist/scaffolding/adapters/node/filesystem-workspace.js +0 -336
  257. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +0 -1
  258. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +0 -17
  259. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +0 -1
  260. package/dist/scaffolding/adapters/node/node-input-loader.js +0 -157
  261. package/dist/scaffolding/adapters/node/node-input-loader.js.map +0 -1
  262. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +0 -4
  263. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +0 -1
  264. package/dist/scaffolding/adapters/node/node-receipt-validator.js +0 -10
  265. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +0 -1
  266. package/dist/scaffolding/kernel/receipt.d.ts +0 -35
  267. package/dist/scaffolding/kernel/receipt.d.ts.map +0 -1
  268. package/dist/scaffolding/kernel/receipt.js +0 -206
  269. package/dist/scaffolding/kernel/receipt.js.map +0 -1
  270. package/dist/scaffolding/service.d.ts +0 -8
  271. package/dist/scaffolding/service.d.ts.map +0 -1
  272. package/dist/scaffolding/service.js +0 -15
  273. package/dist/scaffolding/service.js.map +0 -1
  274. package/schemas/package-public-api-baseline/v2.schema.json +0 -62
  275. package/schemas/package-public-api-compatibility/v2.schema.json +0 -113
@@ -0,0 +1,93 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schemas.agent-teams.ai/engineering-foundation/contract-protobuf-breaking-qualification/v1",
4
+ "title": "Hardened Buf FILE breaking qualification evidence",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "producerId",
10
+ "producerVersion",
11
+ "policy",
12
+ "contractId",
13
+ "bufVersion",
14
+ "modulePath",
15
+ "bufConfigPath",
16
+ "evidencePath",
17
+ "bufConfigDigest",
18
+ "baselineDescriptorImagePath",
19
+ "baselineDescriptorImageDigest",
20
+ "candidateDescriptorImageDigest",
21
+ "breakingPolicyConfigDigest",
22
+ "invocationDigest",
23
+ "result",
24
+ "evidenceDigest"
25
+ ],
26
+ "properties": {
27
+ "schemaVersion": { "const": 1 },
28
+ "producerId": { "const": "agent-teams-foundation.buf-breaking-qualification" },
29
+ "producerVersion": { "const": 1 },
30
+ "policy": { "const": "FILE" },
31
+ "contractId": { "type": "string", "pattern": "^[a-z][a-z0-9.-]{1,119}$" },
32
+ "bufVersion": { "type": "string", "minLength": 1, "maxLength": 80 },
33
+ "modulePath": { "$ref": "#/$defs/repositoryPath" },
34
+ "bufConfigPath": { "$ref": "#/$defs/repositoryPath" },
35
+ "evidencePath": { "$ref": "#/$defs/repositoryPath" },
36
+ "bufConfigDigest": { "$ref": "#/$defs/digest" },
37
+ "baselineDescriptorImagePath": { "$ref": "#/$defs/repositoryPath" },
38
+ "baselineDescriptorImageDigest": { "$ref": "#/$defs/digest" },
39
+ "candidateDescriptorImageDigest": { "$ref": "#/$defs/digest" },
40
+ "breakingPolicyConfigDigest": { "$ref": "#/$defs/digest" },
41
+ "invocationDigest": { "$ref": "#/$defs/digest" },
42
+ "result": {
43
+ "type": "object",
44
+ "additionalProperties": false,
45
+ "required": ["status", "findings", "findingSetDigest", "rawOutputDigest"],
46
+ "properties": {
47
+ "status": { "enum": ["compatible", "breaking"] },
48
+ "findings": {
49
+ "type": "array",
50
+ "maxItems": 10000,
51
+ "items": { "$ref": "#/$defs/finding" }
52
+ },
53
+ "findingSetDigest": { "$ref": "#/$defs/digest" },
54
+ "rawOutputDigest": { "$ref": "#/$defs/digest" }
55
+ }
56
+ },
57
+ "evidenceDigest": { "$ref": "#/$defs/digest" }
58
+ },
59
+ "$defs": {
60
+ "digest": {
61
+ "type": "string",
62
+ "pattern": "^sha256:[a-f0-9]{64}$"
63
+ },
64
+ "repositoryPath": {
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "maxLength": 300,
68
+ "pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*//)[^\\u0000]+$"
69
+ },
70
+ "finding": {
71
+ "type": "object",
72
+ "additionalProperties": false,
73
+ "required": [
74
+ "path",
75
+ "startLine",
76
+ "startColumn",
77
+ "endLine",
78
+ "endColumn",
79
+ "type",
80
+ "message"
81
+ ],
82
+ "properties": {
83
+ "path": { "type": "string", "minLength": 1, "maxLength": 500 },
84
+ "startLine": { "type": "integer", "minimum": 1 },
85
+ "startColumn": { "type": "integer", "minimum": 1 },
86
+ "endLine": { "type": "integer", "minimum": 1 },
87
+ "endColumn": { "type": "integer", "minimum": 1 },
88
+ "type": { "type": "string", "minLength": 1, "maxLength": 240 },
89
+ "message": { "type": "string", "minLength": 1, "maxLength": 4000 }
90
+ }
91
+ }
92
+ }
93
+ }
@@ -1,10 +1,16 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schemas.agent-teams.ai/engineering-foundation/contract-protobuf-evolution/v1",
4
- "title": "Protobuf contract evolution release evidence",
4
+ "title": "Protobuf contract evolution with qualified Buf FILE evidence",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
- "required": ["schemaVersion", "releasedBaselinePath", "approvedBreakingChanges", "current"],
7
+ "required": [
8
+ "schemaVersion",
9
+ "releasedBaselinePath",
10
+ "approvedBreakingChanges",
11
+ "qualification",
12
+ "current"
13
+ ],
8
14
  "properties": {
9
15
  "schemaVersion": { "const": 1 },
10
16
  "releasedBaselinePath": { "$ref": "#/$defs/releasedBaselinePath" },
@@ -15,6 +21,7 @@
15
21
  "maxItems": 100,
16
22
  "items": { "$ref": "#/$defs/breakingApproval" }
17
23
  },
24
+ "qualification": { "$ref": "#/$defs/qualification" },
18
25
  "current": { "$ref": "#/$defs/current" }
19
26
  },
20
27
  "$defs": {
@@ -26,6 +33,12 @@
26
33
  "type": "string",
27
34
  "pattern": "^[a-z][a-z0-9.-]{1,119}$"
28
35
  },
36
+ "repositoryPath": {
37
+ "type": "string",
38
+ "minLength": 1,
39
+ "maxLength": 300,
40
+ "pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*//)[^\\u0000]+$"
41
+ },
29
42
  "releasedBaselinePath": {
30
43
  "type": "string",
31
44
  "minLength": 1,
@@ -59,6 +72,37 @@
59
72
  "version": { "type": "string", "minLength": 1, "maxLength": 240 }
60
73
  }
61
74
  },
75
+ "qualification": {
76
+ "type": "object",
77
+ "additionalProperties": false,
78
+ "required": [
79
+ "modulePath",
80
+ "bufConfigPath",
81
+ "releasedDescriptorImagePath",
82
+ "evidencePath"
83
+ ],
84
+ "properties": {
85
+ "modulePath": { "$ref": "#/$defs/repositoryPath" },
86
+ "bufConfigPath": {
87
+ "allOf": [
88
+ { "$ref": "#/$defs/repositoryPath" },
89
+ { "type": "string", "pattern": "\\.ya?ml$" }
90
+ ]
91
+ },
92
+ "releasedDescriptorImagePath": {
93
+ "allOf": [
94
+ { "$ref": "#/$defs/repositoryPath" },
95
+ { "type": "string", "pattern": "^architecture/contracts/.+\\.binpb$" }
96
+ ]
97
+ },
98
+ "evidencePath": {
99
+ "allOf": [
100
+ { "$ref": "#/$defs/repositoryPath" },
101
+ { "type": "string", "pattern": "^architecture/evidence/protobuf/.+\\.json$" }
102
+ ]
103
+ }
104
+ }
105
+ },
62
106
  "current": {
63
107
  "type": "object",
64
108
  "additionalProperties": false,
@@ -69,10 +113,8 @@
69
113
  "bufVersion",
70
114
  "bufConfigDigest",
71
115
  "descriptorImageDigest",
72
- "releasedDescriptorImageDigest",
73
116
  "generatorVersions",
74
- "generationDrift",
75
- "breaking"
117
+ "generationDrift"
76
118
  ],
77
119
  "properties": {
78
120
  "schemaVersion": { "const": 1 },
@@ -81,7 +123,6 @@
81
123
  "bufVersion": { "type": "string", "minLength": 1, "maxLength": 80 },
82
124
  "bufConfigDigest": { "$ref": "#/$defs/digest" },
83
125
  "descriptorImageDigest": { "$ref": "#/$defs/digest" },
84
- "releasedDescriptorImageDigest": { "$ref": "#/$defs/digest" },
85
126
  "generatorVersions": {
86
127
  "type": "array",
87
128
  "maxItems": 100,
@@ -95,15 +136,6 @@
95
136
  "expectedGeneratedOutputDigest": { "$ref": "#/$defs/digest" },
96
137
  "observedGeneratedOutputDigest": { "$ref": "#/$defs/digest" }
97
138
  }
98
- },
99
- "breaking": {
100
- "type": "object",
101
- "additionalProperties": false,
102
- "required": ["status"],
103
- "properties": {
104
- "status": { "enum": ["compatible", "breaking", "not-run"] },
105
- "fingerprint": { "$ref": "#/$defs/digest" }
106
- }
107
139
  }
108
140
  }
109
141
  },
@@ -8,8 +8,17 @@
8
8
  "schemaVersion",
9
9
  "packageName",
10
10
  "packageVersion",
11
- "extractorVersion",
12
- "items"
11
+ "extractorVersion"
12
+ ],
13
+ "oneOf": [
14
+ {
15
+ "required": ["entrypoints"],
16
+ "properties": { "entrypoints": {} }
17
+ },
18
+ {
19
+ "required": ["items"],
20
+ "properties": { "items": {} }
21
+ }
13
22
  ],
14
23
  "properties": {
15
24
  "schemaVersion": { "const": 1 },
@@ -19,19 +28,47 @@
19
28
  "pattern": "^(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-(?:(?:0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(?:\\.(?:0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$"
20
29
  },
21
30
  "extractorVersion": { "type": "string", "minLength": 1, "maxLength": 40 },
31
+ "entrypoints": {
32
+ "type": "array",
33
+ "minItems": 1,
34
+ "maxItems": 100,
35
+ "items": { "$ref": "#/$defs/entrypoint" }
36
+ },
22
37
  "items": {
23
38
  "type": "array",
24
39
  "maxItems": 100000,
25
- "items": {
26
- "type": "object",
27
- "additionalProperties": false,
28
- "required": ["canonicalReference", "kind", "parentKind", "signature"],
29
- "properties": {
30
- "canonicalReference": { "type": "string", "minLength": 1, "maxLength": 1000 },
31
- "kind": { "type": "string", "minLength": 1, "maxLength": 80 },
32
- "parentReference": { "type": "string", "minLength": 1, "maxLength": 1000 },
33
- "parentKind": { "type": "string", "minLength": 1, "maxLength": 80 },
34
- "signature": { "type": "string", "maxLength": 10000 }
40
+ "items": { "$ref": "#/$defs/item" }
41
+ }
42
+ },
43
+ "$defs": {
44
+ "exportPath": {
45
+ "type": "string",
46
+ "minLength": 1,
47
+ "maxLength": 300,
48
+ "pattern": "^(?:\\.|\\./[^\\\\/].*)$"
49
+ },
50
+ "item": {
51
+ "type": "object",
52
+ "additionalProperties": false,
53
+ "required": ["canonicalReference", "kind", "parentKind", "signature"],
54
+ "properties": {
55
+ "canonicalReference": { "type": "string", "minLength": 1, "maxLength": 1000 },
56
+ "kind": { "type": "string", "minLength": 1, "maxLength": 80 },
57
+ "parentReference": { "type": "string", "minLength": 1, "maxLength": 1000 },
58
+ "parentKind": { "type": "string", "minLength": 1, "maxLength": 80 },
59
+ "signature": { "type": "string", "maxLength": 10000 }
60
+ }
61
+ },
62
+ "entrypoint": {
63
+ "type": "object",
64
+ "additionalProperties": false,
65
+ "required": ["exportPath", "items"],
66
+ "properties": {
67
+ "exportPath": { "$ref": "#/$defs/exportPath" },
68
+ "items": {
69
+ "type": "array",
70
+ "maxItems": 100000,
71
+ "items": { "$ref": "#/$defs/item" }
35
72
  }
36
73
  }
37
74
  }
@@ -4,7 +4,7 @@
4
4
  "title": "Public API compatibility capability configuration",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
- "required": ["schemaVersion", "changesetDirectory", "packages"],
7
+ "required": ["schemaVersion", "acceptedDecisionBaselinePath", "changesetDirectory", "packages"],
8
8
  "properties": {
9
9
  "schemaVersion": { "const": 1 },
10
10
  "changesetDirectory": { "$ref": "#/$defs/repositoryPath" },
@@ -30,10 +30,37 @@
30
30
  "maxLength": 214,
31
31
  "pattern": "^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$"
32
32
  },
33
+ "exportPath": {
34
+ "type": "string",
35
+ "minLength": 1,
36
+ "maxLength": 300,
37
+ "pattern": "^(?:\\.|\\./[^\\\\/].*)$"
38
+ },
33
39
  "fingerprint": {
34
40
  "type": "string",
35
41
  "pattern": "^sha256:[a-f0-9]{64}$"
36
42
  },
43
+ "entrypoint": {
44
+ "type": "object",
45
+ "additionalProperties": false,
46
+ "required": ["exportPath", "declarationEntryPoint"],
47
+ "properties": {
48
+ "exportPath": { "$ref": "#/$defs/exportPath" },
49
+ "declarationEntryPoint": { "$ref": "#/$defs/repositoryPath" }
50
+ }
51
+ },
52
+ "nonTypeExportKind": {
53
+ "enum": ["data", "runtime", "wildcard"]
54
+ },
55
+ "nonTypeExport": {
56
+ "type": "object",
57
+ "additionalProperties": false,
58
+ "required": ["exportPath", "kind"],
59
+ "properties": {
60
+ "exportPath": { "$ref": "#/$defs/exportPath" },
61
+ "kind": { "$ref": "#/$defs/nonTypeExportKind" }
62
+ }
63
+ },
37
64
  "package": {
38
65
  "type": "object",
39
66
  "additionalProperties": false,
@@ -41,7 +68,8 @@
41
68
  "packageName",
42
69
  "packageRoot",
43
70
  "manifestPath",
44
- "declarationEntryPoint",
71
+ "entrypoints",
72
+ "nonTypeExports",
45
73
  "tsconfigPath",
46
74
  "releasedBaselinePath",
47
75
  "approvedBreakingChanges"
@@ -50,7 +78,17 @@
50
78
  "packageName": { "$ref": "#/$defs/packageName" },
51
79
  "packageRoot": { "$ref": "#/$defs/repositoryPath" },
52
80
  "manifestPath": { "$ref": "#/$defs/repositoryPath" },
53
- "declarationEntryPoint": { "$ref": "#/$defs/repositoryPath" },
81
+ "entrypoints": {
82
+ "type": "array",
83
+ "minItems": 1,
84
+ "maxItems": 100,
85
+ "items": { "$ref": "#/$defs/entrypoint" }
86
+ },
87
+ "nonTypeExports": {
88
+ "type": "array",
89
+ "maxItems": 100,
90
+ "items": { "$ref": "#/$defs/nonTypeExport" }
91
+ },
54
92
  "tsconfigPath": { "$ref": "#/$defs/repositoryPath" },
55
93
  "releasedBaselinePath": { "$ref": "#/$defs/repositoryPath" },
56
94
  "approvedBreakingChanges": {
@@ -59,10 +97,13 @@
59
97
  "items": {
60
98
  "type": "object",
61
99
  "additionalProperties": false,
62
- "required": ["fingerprint", "decisionPath"],
100
+ "required": ["fingerprint", "decisionId"],
63
101
  "properties": {
64
102
  "fingerprint": { "$ref": "#/$defs/fingerprint" },
65
- "decisionPath": { "$ref": "#/$defs/repositoryPath" }
103
+ "decisionId": {
104
+ "type": "string",
105
+ "pattern": "^ADR-[0-9]{4}$"
106
+ }
66
107
  }
67
108
  }
68
109
  }
@@ -0,0 +1,103 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-teams.ai/schemas/scaffold-authority-evidence/v1",
4
+ "title": "Scaffold Authority Evidence",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "verifier", "projectId", "targetRef", "targetIdentityDigest", "ownerDocument", "sources", "evidenceDigest"],
8
+ "properties": {
9
+ "schemaVersion": { "const": 1 },
10
+ "verifier": {
11
+ "type": "object",
12
+ "additionalProperties": false,
13
+ "required": ["id", "contractVersion"],
14
+ "properties": {
15
+ "id": { "const": "foundation.markdown-yaml-owner" },
16
+ "contractVersion": { "const": 1 }
17
+ }
18
+ },
19
+ "projectId": { "$ref": "#/$defs/id" },
20
+ "targetRef": { "$ref": "#/$defs/id" },
21
+ "targetIdentityDigest": { "$ref": "#/$defs/digest" },
22
+ "ownerDocument": {
23
+ "type": "object",
24
+ "additionalProperties": false,
25
+ "required": ["id", "path", "status"],
26
+ "properties": {
27
+ "id": { "$ref": "#/$defs/ownerDocumentId" },
28
+ "path": { "$ref": "#/$defs/repositoryPath" },
29
+ "status": { "$ref": "#/$defs/id" }
30
+ }
31
+ },
32
+ "sources": {
33
+ "type": "array",
34
+ "minItems": 3,
35
+ "maxItems": 3,
36
+ "prefixItems": [
37
+ { "$ref": "#/$defs/configSourceAssertion" },
38
+ { "$ref": "#/$defs/ownerSourceAssertion" },
39
+ { "$ref": "#/$defs/catalogSourceAssertion" }
40
+ ]
41
+ },
42
+ "evidenceDigest": { "$ref": "#/$defs/digest" }
43
+ },
44
+ "$defs": {
45
+ "id": {
46
+ "type": "string",
47
+ "minLength": 1,
48
+ "maxLength": 160,
49
+ "pattern": "^[a-z0-9][a-z0-9._/-]*$"
50
+ },
51
+ "ownerDocumentId": {
52
+ "type": "string",
53
+ "minLength": 1,
54
+ "maxLength": 160,
55
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._/-]*$"
56
+ },
57
+ "repositoryPath": {
58
+ "type": "string",
59
+ "minLength": 1,
60
+ "maxLength": 512,
61
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
62
+ },
63
+ "digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
64
+ "readAssertion": {
65
+ "type": "object",
66
+ "additionalProperties": false,
67
+ "required": ["path", "state", "digest", "size"],
68
+ "properties": {
69
+ "path": { "$ref": "#/$defs/repositoryPath" },
70
+ "state": { "const": "file" },
71
+ "digest": { "$ref": "#/$defs/digest" },
72
+ "size": { "type": "integer", "minimum": 0, "maximum": 1048576 }
73
+ }
74
+ },
75
+ "sourceAssertion": {
76
+ "type": "object",
77
+ "additionalProperties": false,
78
+ "required": ["role", "assertion"],
79
+ "properties": {
80
+ "role": { "enum": ["config", "target-catalog", "owner-document"] },
81
+ "assertion": { "$ref": "#/$defs/readAssertion" }
82
+ }
83
+ },
84
+ "configSourceAssertion": {
85
+ "allOf": [
86
+ { "$ref": "#/$defs/sourceAssertion" },
87
+ { "type": "object", "properties": { "role": { "const": "config" } }, "required": ["role"] }
88
+ ]
89
+ },
90
+ "ownerSourceAssertion": {
91
+ "allOf": [
92
+ { "$ref": "#/$defs/sourceAssertion" },
93
+ { "type": "object", "properties": { "role": { "const": "owner-document" } }, "required": ["role"] }
94
+ ]
95
+ },
96
+ "catalogSourceAssertion": {
97
+ "allOf": [
98
+ { "$ref": "#/$defs/sourceAssertion" },
99
+ { "type": "object", "properties": { "role": { "const": "target-catalog" } }, "required": ["role"] }
100
+ ]
101
+ }
102
+ }
103
+ }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://agent-teams.ai/schemas/scaffold-intent/v1",
4
- "title": "Scaffold Intent v1",
4
+ "title": "Scaffold Intent",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
7
  "required": ["schemaVersion", "compositionId", "targetRef"],
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://agent-teams.ai/schemas/scaffold-plan/v1",
4
- "title": "Scaffold Plan v1",
4
+ "title": "Scaffold Plan",
5
5
  "type": "object",
6
6
  "additionalProperties": false,
7
- "required": ["schemaVersion", "protocolVersion", "compiler", "projectId", "authority", "intent", "intentDigest", "authoritySnapshotDigest", "composition", "definitions", "resolved", "target", "readSet", "requiredAdapterCapabilities", "operations", "diagnostics", "planDigest"],
7
+ "required": ["schemaVersion", "protocolVersion", "compiler", "projectId", "authority", "authorityEvidence", "intent", "intentDigest", "authoritySnapshotDigest", "composition", "definitions", "resolved", "target", "readSet", "requiredAdapterCapabilities", "operations", "diagnostics", "planDigest"],
8
8
  "properties": {
9
9
  "schemaVersion": { "const": 1 },
10
10
  "protocolVersion": { "const": 1 },
@@ -27,6 +27,7 @@
27
27
  "targetCatalogPath": { "$ref": "#/$defs/repositoryPath" }
28
28
  }
29
29
  },
30
+ "authorityEvidence": { "$ref": "#/$defs/authorityEvidence" },
30
31
  "intent": { "$ref": "#/$defs/intent" },
31
32
  "intentDigest": { "$ref": "#/$defs/digest" },
32
33
  "authoritySnapshotDigest": { "$ref": "#/$defs/digest" },
@@ -77,7 +78,7 @@
77
78
  }
78
79
  },
79
80
  "target": { "$ref": "#/$defs/target" },
80
- "readSet": { "type": "array", "minItems": 1, "maxItems": 128, "items": { "$ref": "#/$defs/readAssertion" } },
81
+ "readSet": { "type": "array", "minItems": 3, "maxItems": 3, "items": { "$ref": "#/$defs/readAssertion" } },
81
82
  "requiredAdapterCapabilities": {
82
83
  "type": "array",
83
84
  "prefixItems": [{ "const": "materialize-file/v1" }],
@@ -95,6 +96,12 @@
95
96
  "maxLength": 160,
96
97
  "pattern": "^[a-z0-9][a-z0-9._/-]*$"
97
98
  },
99
+ "ownerDocumentId": {
100
+ "type": "string",
101
+ "minLength": 1,
102
+ "maxLength": 160,
103
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._/-]*$"
104
+ },
98
105
  "artifactId": {
99
106
  "type": "string",
100
107
  "minLength": 1,
@@ -102,6 +109,74 @@
102
109
  "pattern": "^[A-Za-z0-9@][A-Za-z0-9@._/-]*$"
103
110
  },
104
111
  "digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
112
+ "authorityEvidence": {
113
+ "type": "object",
114
+ "additionalProperties": false,
115
+ "required": ["schemaVersion", "verifier", "projectId", "targetRef", "targetIdentityDigest", "ownerDocument", "sources", "evidenceDigest"],
116
+ "properties": {
117
+ "schemaVersion": { "const": 1 },
118
+ "verifier": {
119
+ "type": "object",
120
+ "additionalProperties": false,
121
+ "required": ["id", "contractVersion"],
122
+ "properties": {
123
+ "id": { "const": "foundation.markdown-yaml-owner" },
124
+ "contractVersion": { "const": 1 }
125
+ }
126
+ },
127
+ "projectId": { "$ref": "#/$defs/authorityId" },
128
+ "targetRef": { "$ref": "#/$defs/authorityId" },
129
+ "targetIdentityDigest": { "$ref": "#/$defs/digest" },
130
+ "ownerDocument": {
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+ "required": ["id", "path", "status"],
134
+ "properties": {
135
+ "id": { "$ref": "#/$defs/ownerDocumentId" },
136
+ "path": { "$ref": "#/$defs/repositoryPath" },
137
+ "status": { "$ref": "#/$defs/authorityId" }
138
+ }
139
+ },
140
+ "sources": {
141
+ "type": "array",
142
+ "minItems": 3,
143
+ "maxItems": 3,
144
+ "prefixItems": [
145
+ { "$ref": "#/$defs/configAuthoritySourceAssertion" },
146
+ { "$ref": "#/$defs/ownerAuthoritySourceAssertion" },
147
+ { "$ref": "#/$defs/catalogAuthoritySourceAssertion" }
148
+ ]
149
+ },
150
+ "evidenceDigest": { "$ref": "#/$defs/digest" }
151
+ }
152
+ },
153
+ "authoritySourceAssertion": {
154
+ "type": "object",
155
+ "additionalProperties": false,
156
+ "required": ["role", "assertion"],
157
+ "properties": {
158
+ "role": { "enum": ["config", "target-catalog", "owner-document"] },
159
+ "assertion": { "$ref": "#/$defs/readAssertion" }
160
+ }
161
+ },
162
+ "configAuthoritySourceAssertion": {
163
+ "allOf": [
164
+ { "$ref": "#/$defs/authoritySourceAssertion" },
165
+ { "type": "object", "properties": { "role": { "const": "config" } }, "required": ["role"] }
166
+ ]
167
+ },
168
+ "ownerAuthoritySourceAssertion": {
169
+ "allOf": [
170
+ { "$ref": "#/$defs/authoritySourceAssertion" },
171
+ { "type": "object", "properties": { "role": { "const": "owner-document" } }, "required": ["role"] }
172
+ ]
173
+ },
174
+ "catalogAuthoritySourceAssertion": {
175
+ "allOf": [
176
+ { "$ref": "#/$defs/authoritySourceAssertion" },
177
+ { "type": "object", "properties": { "role": { "const": "target-catalog" } }, "required": ["role"] }
178
+ ]
179
+ },
105
180
  "repositoryPath": { "type": "string", "minLength": 1, "maxLength": 512, "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$" },
106
181
  "definitionRef": {
107
182
  "type": "object",
@@ -174,7 +249,7 @@
174
249
  "target": {
175
250
  "type": "object",
176
251
  "additionalProperties": false,
177
- "required": ["id", "role", "path", "packageName"],
252
+ "required": ["id", "role", "path", "packageName", "ownerDocument"],
178
253
  "properties": {
179
254
  "id": { "$ref": "#/$defs/authorityId" },
180
255
  "role": { "$ref": "#/$defs/authorityId" },
@@ -186,10 +261,13 @@
186
261
  "pattern": "^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$"
187
262
  },
188
263
  "ownerDocument": {
189
- "type": "string",
190
- "minLength": 1,
191
- "maxLength": 512,
192
- "pattern": "^[^\\u0000-\\u001F]+$"
264
+ "type": "object",
265
+ "additionalProperties": false,
266
+ "required": ["id", "path"],
267
+ "properties": {
268
+ "id": { "$ref": "#/$defs/ownerDocumentId" },
269
+ "path": { "$ref": "#/$defs/repositoryPath" }
270
+ }
193
271
  }
194
272
  }
195
273
  },