@agent-teams/engineering-foundation 0.7.0 → 0.8.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 (259) 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 +1 -1
  32. package/dist/capabilities/contract-protobuf-evolution/contract/config.d.ts.map +1 -1
  33. package/dist/capabilities/contract-protobuf-evolution/contract/config.js +33 -18
  34. package/dist/capabilities/contract-protobuf-evolution/contract/config.js.map +1 -1
  35. package/dist/capabilities/contract-protobuf-evolution/module.d.ts +3 -1
  36. package/dist/capabilities/contract-protobuf-evolution/module.d.ts.map +1 -1
  37. package/dist/capabilities/contract-protobuf-evolution/module.js +4 -1
  38. package/dist/capabilities/contract-protobuf-evolution/module.js.map +1 -1
  39. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.d.ts +21 -0
  40. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.d.ts.map +1 -0
  41. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.js +301 -0
  42. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/filesystem/filesystem-buf-qualification-artifacts.js.map +1 -0
  43. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts +2 -0
  44. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.d.ts.map +1 -1
  45. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js +28 -41
  46. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-executable.js.map +1 -1
  47. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.d.ts +8 -0
  48. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.d.ts.map +1 -0
  49. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.js +102 -0
  50. package/dist/capabilities/contract-protobuf-evolution/qualification/adapters/outbound/process/process-buf-qualification-runner.js.map +1 -0
  51. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts +14 -0
  52. package/dist/capabilities/contract-protobuf-evolution/qualification/module.d.ts.map +1 -1
  53. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js +22 -0
  54. package/dist/capabilities/contract-protobuf-evolution/qualification/module.js.map +1 -1
  55. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.d.ts +21 -0
  56. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.d.ts.map +1 -0
  57. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.js +2 -0
  58. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-artifacts.js.map +1 -0
  59. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.d.ts +18 -0
  60. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.d.ts.map +1 -0
  61. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.js +2 -0
  62. package/dist/capabilities/contract-protobuf-evolution/qualification/ports/buf-qualification-runner.js.map +1 -0
  63. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.d.ts +22 -0
  64. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.d.ts.map +1 -0
  65. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.js +221 -0
  66. package/dist/capabilities/contract-protobuf-evolution/qualification/use-cases/qualify-buf-breaking-evidence.js.map +1 -0
  67. package/dist/cli-arguments.d.ts +2 -0
  68. package/dist/cli-arguments.d.ts.map +1 -1
  69. package/dist/cli-arguments.js +34 -2
  70. package/dist/cli-arguments.js.map +1 -1
  71. package/dist/cli.js +40 -1
  72. package/dist/cli.js.map +1 -1
  73. package/dist/scaffolding/adapters/memory/memory-workspace.js +1 -1
  74. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +1 -1
  75. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.d.ts +13 -0
  76. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.d.ts.map +1 -0
  77. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js +257 -0
  78. package/dist/scaffolding/adapters/node/filesystem-authority-workspace.js.map +1 -0
  79. package/dist/scaffolding/adapters/node/filesystem-authority.d.ts +20 -0
  80. package/dist/scaffolding/adapters/node/filesystem-authority.d.ts.map +1 -0
  81. package/dist/scaffolding/adapters/node/filesystem-authority.js +55 -0
  82. package/dist/scaffolding/adapters/node/filesystem-authority.js.map +1 -0
  83. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts +20 -0
  84. package/dist/scaffolding/adapters/node/filesystem-file-identity.d.ts.map +1 -0
  85. package/dist/scaffolding/adapters/node/filesystem-file-identity.js +122 -0
  86. package/dist/scaffolding/adapters/node/filesystem-file-identity.js.map +1 -0
  87. package/dist/scaffolding/adapters/node/filesystem-finalization.d.ts +22 -0
  88. package/dist/scaffolding/adapters/node/filesystem-finalization.d.ts.map +1 -0
  89. package/dist/scaffolding/adapters/node/filesystem-finalization.js +169 -0
  90. package/dist/scaffolding/adapters/node/filesystem-finalization.js.map +1 -0
  91. package/dist/scaffolding/adapters/node/filesystem-journal-state.d.ts +25 -0
  92. package/dist/scaffolding/adapters/node/filesystem-journal-state.d.ts.map +1 -0
  93. package/dist/scaffolding/adapters/node/filesystem-journal-state.js +119 -0
  94. package/dist/scaffolding/adapters/node/filesystem-journal-state.js.map +1 -0
  95. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +7 -4
  96. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -1
  97. package/dist/scaffolding/adapters/node/filesystem-journal.js +104 -29
  98. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -1
  99. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts +23 -0
  100. package/dist/scaffolding/adapters/node/filesystem-operation-state.d.ts.map +1 -0
  101. package/dist/scaffolding/adapters/node/filesystem-operation-state.js +182 -0
  102. package/dist/scaffolding/adapters/node/filesystem-operation-state.js.map +1 -0
  103. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +2 -2
  104. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -1
  105. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -1
  106. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.d.ts +6 -0
  107. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.d.ts.map +1 -0
  108. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.js +80 -0
  109. package/dist/scaffolding/adapters/node/filesystem-rendering-journal.js.map +1 -0
  110. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +1 -0
  111. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +1 -1
  112. package/dist/scaffolding/adapters/node/filesystem-workspace.js +22 -151
  113. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +1 -1
  114. package/dist/scaffolding/adapters/node/node-authority-error.d.ts +4 -0
  115. package/dist/scaffolding/adapters/node/node-authority-error.d.ts.map +1 -0
  116. package/dist/scaffolding/adapters/node/node-authority-error.js +7 -0
  117. package/dist/scaffolding/adapters/node/node-authority-error.js.map +1 -0
  118. package/dist/scaffolding/adapters/node/node-authority-input-loader.d.ts +20 -0
  119. package/dist/scaffolding/adapters/node/node-authority-input-loader.d.ts.map +1 -0
  120. package/dist/scaffolding/adapters/node/node-authority-input-loader.js +180 -0
  121. package/dist/scaffolding/adapters/node/node-authority-input-loader.js.map +1 -0
  122. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.d.ts +4 -0
  123. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.d.ts.map +1 -0
  124. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js +10 -0
  125. package/dist/scaffolding/adapters/node/node-authority-receipt-validator.js.map +1 -0
  126. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +1 -1
  127. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +1 -1
  128. package/dist/scaffolding/adapters/node/node-input-loader.js +6 -56
  129. package/dist/scaffolding/adapters/node/node-input-loader.js.map +1 -1
  130. package/dist/scaffolding/adapters/node/node-owner-document-resolver.d.ts +17 -0
  131. package/dist/scaffolding/adapters/node/node-owner-document-resolver.d.ts.map +1 -0
  132. package/dist/scaffolding/adapters/node/node-owner-document-resolver.js +161 -0
  133. package/dist/scaffolding/adapters/node/node-owner-document-resolver.js.map +1 -0
  134. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +14 -2
  135. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -1
  136. package/dist/scaffolding/adapters/node/node-plan-authority.js +28 -9
  137. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -1
  138. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +1 -1
  139. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +1 -1
  140. package/dist/scaffolding/adapters/node/node-receipt-validator.js +2 -2
  141. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +1 -1
  142. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.d.ts +3 -0
  143. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.d.ts.map +1 -0
  144. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.js +18 -0
  145. package/dist/scaffolding/adapters/node/node-rendering-plan-authority.js.map +1 -0
  146. package/dist/scaffolding/adapters/node/node-repository-file.d.ts +9 -0
  147. package/dist/scaffolding/adapters/node/node-repository-file.d.ts.map +1 -0
  148. package/dist/scaffolding/adapters/node/node-repository-file.js +65 -0
  149. package/dist/scaffolding/adapters/node/node-repository-file.js.map +1 -0
  150. package/dist/scaffolding/adapters/node/node-scaffold-limits.d.ts +2 -0
  151. package/dist/scaffolding/adapters/node/node-scaffold-limits.d.ts.map +1 -0
  152. package/dist/scaffolding/adapters/node/node-scaffold-limits.js +2 -0
  153. package/dist/scaffolding/adapters/node/node-scaffold-limits.js.map +1 -0
  154. package/dist/scaffolding/authority-service.d.ts +7 -0
  155. package/dist/scaffolding/authority-service.d.ts.map +1 -0
  156. package/dist/scaffolding/authority-service.js +15 -0
  157. package/dist/scaffolding/authority-service.js.map +1 -0
  158. package/dist/scaffolding/canonical-api.d.ts +14 -0
  159. package/dist/scaffolding/canonical-api.d.ts.map +1 -0
  160. package/dist/scaffolding/canonical-api.js +32 -0
  161. package/dist/scaffolding/canonical-api.js.map +1 -0
  162. package/dist/scaffolding/cli-command.d.ts.map +1 -1
  163. package/dist/scaffolding/cli-command.js +1 -2
  164. package/dist/scaffolding/cli-command.js.map +1 -1
  165. package/dist/scaffolding/contract/receipt-authority-types.d.ts +125 -0
  166. package/dist/scaffolding/contract/receipt-authority-types.d.ts.map +1 -0
  167. package/dist/scaffolding/contract/receipt-authority-types.js +2 -0
  168. package/dist/scaffolding/contract/receipt-authority-types.js.map +1 -0
  169. package/dist/scaffolding/contract/scaffold-contract.d.ts +329 -0
  170. package/dist/scaffolding/contract/scaffold-contract.d.ts.map +1 -0
  171. package/dist/scaffolding/contract/scaffold-contract.js +2 -0
  172. package/dist/scaffolding/contract/scaffold-contract.js.map +1 -0
  173. package/dist/scaffolding/contract/types.d.ts +177 -35
  174. package/dist/scaffolding/contract/types.d.ts.map +1 -1
  175. package/dist/scaffolding/definitions/node-typescript-library.d.ts +3 -0
  176. package/dist/scaffolding/definitions/node-typescript-library.d.ts.map +1 -0
  177. package/dist/scaffolding/definitions/node-typescript-library.js +134 -0
  178. package/dist/scaffolding/definitions/node-typescript-library.js.map +1 -0
  179. package/dist/scaffolding/definitions/registry.d.ts +2 -1
  180. package/dist/scaffolding/definitions/registry.d.ts.map +1 -1
  181. package/dist/scaffolding/definitions/registry.js +8 -1
  182. package/dist/scaffolding/definitions/registry.js.map +1 -1
  183. package/dist/scaffolding/index.d.ts +4 -8
  184. package/dist/scaffolding/index.d.ts.map +1 -1
  185. package/dist/scaffolding/index.js +2 -7
  186. package/dist/scaffolding/index.js.map +1 -1
  187. package/dist/scaffolding/internal-rendering-regression-api.d.ts +8 -0
  188. package/dist/scaffolding/internal-rendering-regression-api.d.ts.map +1 -0
  189. package/dist/scaffolding/internal-rendering-regression-api.js +8 -0
  190. package/dist/scaffolding/internal-rendering-regression-api.js.map +1 -0
  191. package/dist/scaffolding/kernel/authority-compiler.d.ts +4 -0
  192. package/dist/scaffolding/kernel/authority-compiler.d.ts.map +1 -0
  193. package/dist/scaffolding/kernel/authority-compiler.js +78 -0
  194. package/dist/scaffolding/kernel/authority-compiler.js.map +1 -0
  195. package/dist/scaffolding/kernel/authority-evidence.d.ts +13 -0
  196. package/dist/scaffolding/kernel/authority-evidence.d.ts.map +1 -0
  197. package/dist/scaffolding/kernel/authority-evidence.js +79 -0
  198. package/dist/scaffolding/kernel/authority-evidence.js.map +1 -0
  199. package/dist/scaffolding/kernel/authority-receipt.d.ts +11 -0
  200. package/dist/scaffolding/kernel/authority-receipt.d.ts.map +1 -0
  201. package/dist/scaffolding/kernel/authority-receipt.js +189 -0
  202. package/dist/scaffolding/kernel/authority-receipt.js.map +1 -0
  203. package/dist/scaffolding/kernel/compiler.d.ts +28 -2
  204. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -1
  205. package/dist/scaffolding/kernel/compiler.js +22 -36
  206. package/dist/scaffolding/kernel/compiler.js.map +1 -1
  207. package/dist/scaffolding/kernel/definition-registry.d.ts +6 -3
  208. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -1
  209. package/dist/scaffolding/kernel/definition-registry.js +17 -1
  210. package/dist/scaffolding/kernel/definition-registry.js.map +1 -1
  211. package/dist/scaffolding/kernel/plan-content-validation.d.ts +3 -0
  212. package/dist/scaffolding/kernel/plan-content-validation.d.ts.map +1 -0
  213. package/dist/scaffolding/kernel/plan-content-validation.js +44 -0
  214. package/dist/scaffolding/kernel/plan-content-validation.js.map +1 -0
  215. package/dist/scaffolding/kernel/plan-validation.d.ts +2 -2
  216. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -1
  217. package/dist/scaffolding/kernel/plan-validation.js +16 -40
  218. package/dist/scaffolding/kernel/plan-validation.js.map +1 -1
  219. package/dist/scaffolding/kernel/receipt.js +1 -1
  220. package/dist/scaffolding/kernel/receipt.js.map +1 -1
  221. package/dist/scaffolding/kernel/rendering-plan-compiler.d.ts +4 -0
  222. package/dist/scaffolding/kernel/rendering-plan-compiler.d.ts.map +1 -0
  223. package/dist/scaffolding/kernel/rendering-plan-compiler.js +43 -0
  224. package/dist/scaffolding/kernel/rendering-plan-compiler.js.map +1 -0
  225. package/dist/scaffolding/kernel/rendering-plan-validation.d.ts +3 -0
  226. package/dist/scaffolding/kernel/rendering-plan-validation.d.ts.map +1 -0
  227. package/dist/scaffolding/kernel/rendering-plan-validation.js +10 -0
  228. package/dist/scaffolding/kernel/rendering-plan-validation.js.map +1 -0
  229. package/dist/scaffolding/scaffold-defaults.d.ts +2 -0
  230. package/dist/scaffolding/scaffold-defaults.d.ts.map +1 -0
  231. package/dist/scaffolding/scaffold-defaults.js +2 -0
  232. package/dist/scaffolding/scaffold-defaults.js.map +1 -0
  233. package/dist/scaffolding/scaffold-error.d.ts +3 -3
  234. package/dist/scaffolding/scaffold-error.d.ts.map +1 -1
  235. package/dist/scaffolding/scaffold-error.js.map +1 -1
  236. package/dist/scaffolding/service.d.ts +1 -1
  237. package/dist/scaffolding/service.d.ts.map +1 -1
  238. package/dist/scaffolding/service.js +5 -4
  239. package/dist/scaffolding/service.js.map +1 -1
  240. package/dist/schema-catalog.d.ts +2 -2
  241. package/dist/schema-catalog.d.ts.map +1 -1
  242. package/dist/schema-catalog.js +41 -8
  243. package/dist/schema-catalog.js.map +1 -1
  244. package/dist/schema-ids.d.ts +5 -1
  245. package/dist/schema-ids.d.ts.map +1 -1
  246. package/dist/schema-ids.js +14 -2
  247. package/dist/schema-ids.js.map +1 -1
  248. package/package.json +30 -2
  249. package/schemas/contract-protobuf-breaking-qualification/v1.schema.json +89 -0
  250. package/schemas/contract-protobuf-breaking-qualification/v2.schema.json +93 -0
  251. package/schemas/contract-protobuf-evolution/v2.schema.json +147 -0
  252. package/schemas/scaffold-authority-evidence.schema.json +103 -0
  253. package/schemas/{scaffold-intent/v1.schema.json → scaffold-intent.schema.json} +2 -2
  254. package/schemas/{scaffold-plan/v1.schema.json → scaffold-plan.schema.json} +89 -11
  255. package/schemas/scaffold-receipt.schema.json +180 -0
  256. package/schemas/scaffold-recovery-journal.schema.json +31 -0
  257. package/schemas/{scaffold-target-catalog/v1.schema.json → scaffold-target-catalog.schema.json} +11 -10
  258. package/schemas/{scaffolding-config/v1.schema.json → scaffolding-config.schema.json} +40 -4
  259. package/schemas/scaffold-receipt/v1.schema.json +0 -299
@@ -0,0 +1,329 @@
1
+ import type { ConfiguredDefinition, DefinitionRef, JsonObject, RepositoryPath, Sha256Digest } from "./types.js";
2
+ export interface ScaffoldAuthorityVerifier {
3
+ readonly id: "foundation.markdown-yaml-owner";
4
+ readonly contractVersion: 1;
5
+ readonly parameters: {
6
+ readonly allowedStatuses: readonly string[];
7
+ readonly documentRoots: readonly RepositoryPath[];
8
+ };
9
+ }
10
+ export interface ScaffoldComposition {
11
+ readonly id: string;
12
+ readonly scaffoldProfile: ConfiguredDefinition;
13
+ readonly recipe: ConfiguredDefinition;
14
+ readonly targetRoles: readonly string[];
15
+ readonly authorityVerifiers: readonly [ScaffoldAuthorityVerifier];
16
+ readonly fixedRecipeParameters?: JsonObject;
17
+ readonly defaultRecipeParameters?: JsonObject;
18
+ readonly facets?: {
19
+ readonly fixed?: readonly ConfiguredDefinition[];
20
+ readonly default?: readonly ConfiguredDefinition[];
21
+ readonly allowed?: readonly DefinitionRef[];
22
+ };
23
+ readonly policies: readonly ConfiguredDefinition[];
24
+ }
25
+ export interface ScaffoldingConfig {
26
+ readonly schemaVersion: 2;
27
+ readonly projectId: string;
28
+ readonly targetCatalogPath: RepositoryPath;
29
+ readonly compositions: readonly ScaffoldComposition[];
30
+ }
31
+ export interface ScaffoldIntent {
32
+ readonly schemaVersion: 1;
33
+ readonly compositionId: string;
34
+ readonly targetRef: string;
35
+ readonly recipeParameters?: JsonObject;
36
+ readonly facets?: readonly ConfiguredDefinition[];
37
+ }
38
+ export interface ScaffoldOwnerDocumentBinding {
39
+ readonly id: string;
40
+ readonly path: RepositoryPath;
41
+ }
42
+ export interface ScaffoldTarget {
43
+ readonly id: string;
44
+ readonly role: string;
45
+ readonly path: RepositoryPath;
46
+ readonly packageName: string;
47
+ readonly ownerDocument: ScaffoldOwnerDocumentBinding;
48
+ }
49
+ export interface ScaffoldTargetCatalog {
50
+ readonly version: 2;
51
+ readonly packages: readonly ScaffoldTargetCatalogEntry[];
52
+ }
53
+ export interface ScaffoldTargetCatalogEntry {
54
+ readonly id: string;
55
+ readonly role: string;
56
+ readonly path: RepositoryPath;
57
+ readonly package_name: string;
58
+ readonly owner_document: string;
59
+ }
60
+ export interface ScaffoldDiagnostic {
61
+ readonly ruleId: string;
62
+ readonly severity: "error" | "info" | "warning";
63
+ readonly phase: "apply" | "composition" | "input" | "planning" | "policy" | "recovery";
64
+ readonly subject: string;
65
+ readonly message: string;
66
+ readonly remediation: string;
67
+ }
68
+ export interface ScaffoldReadAssertion {
69
+ readonly path: RepositoryPath;
70
+ readonly state: "file";
71
+ readonly digest: Sha256Digest;
72
+ readonly size: number;
73
+ }
74
+ export type ScaffoldAuthorityReadSet = readonly [
75
+ ScaffoldReadAssertion,
76
+ ScaffoldReadAssertion,
77
+ ScaffoldReadAssertion
78
+ ];
79
+ export type ScaffoldAuthoritySourceRole = "config" | "owner-document" | "target-catalog";
80
+ export interface ScaffoldAuthoritySourceAssertion {
81
+ readonly role: ScaffoldAuthoritySourceRole;
82
+ readonly assertion: ScaffoldReadAssertion;
83
+ }
84
+ export interface ScaffoldAuthorityEvidence {
85
+ readonly schemaVersion: 1;
86
+ readonly verifier: {
87
+ readonly id: "foundation.markdown-yaml-owner";
88
+ readonly contractVersion: 1;
89
+ };
90
+ readonly projectId: string;
91
+ readonly targetRef: string;
92
+ readonly targetIdentityDigest: Sha256Digest;
93
+ readonly ownerDocument: {
94
+ readonly id: string;
95
+ readonly path: RepositoryPath;
96
+ readonly status: string;
97
+ };
98
+ readonly sources: readonly [
99
+ ScaffoldAuthoritySourceAssertion & {
100
+ readonly role: "config";
101
+ },
102
+ ScaffoldAuthoritySourceAssertion & {
103
+ readonly role: "owner-document";
104
+ },
105
+ ScaffoldAuthoritySourceAssertion & {
106
+ readonly role: "target-catalog";
107
+ }
108
+ ];
109
+ readonly evidenceDigest: Sha256Digest;
110
+ }
111
+ export interface MaterializeFileOperation {
112
+ readonly id: string;
113
+ readonly kind: "materialize-file";
114
+ readonly path: RepositoryPath;
115
+ readonly precondition: {
116
+ readonly state: "absent";
117
+ };
118
+ readonly after: {
119
+ readonly digest: Sha256Digest;
120
+ readonly size: number;
121
+ readonly mode: "0644";
122
+ readonly mediaType: string;
123
+ readonly contentBase64: string;
124
+ };
125
+ readonly causes: readonly string[];
126
+ }
127
+ export interface ScaffoldPlan {
128
+ readonly schemaVersion: 2;
129
+ readonly protocolVersion: 2;
130
+ readonly compiler: {
131
+ readonly id: "@agent-teams/engineering-foundation";
132
+ readonly version: string;
133
+ };
134
+ readonly projectId: string;
135
+ readonly authority: {
136
+ readonly configPath: RepositoryPath;
137
+ readonly targetCatalogPath: RepositoryPath;
138
+ };
139
+ readonly authorityEvidence: ScaffoldAuthorityEvidence;
140
+ readonly intent: ScaffoldIntent;
141
+ readonly intentDigest: Sha256Digest;
142
+ readonly authoritySnapshotDigest: Sha256Digest;
143
+ readonly composition: {
144
+ readonly id: string;
145
+ readonly scaffoldProfile: DefinitionRef;
146
+ readonly recipe: DefinitionRef;
147
+ readonly facets: readonly DefinitionRef[];
148
+ readonly policies: readonly DefinitionRef[];
149
+ };
150
+ readonly definitions: readonly {
151
+ readonly kind: "facet" | "policy" | "recipe" | "scaffold-profile";
152
+ readonly ref: DefinitionRef;
153
+ readonly contractDigest: Sha256Digest;
154
+ }[];
155
+ readonly resolved: {
156
+ readonly profileParameters: JsonObject;
157
+ readonly recipeParameters: JsonObject;
158
+ readonly facets: readonly {
159
+ readonly ref: DefinitionRef;
160
+ readonly parameters: JsonObject;
161
+ }[];
162
+ readonly policies: readonly {
163
+ readonly ref: DefinitionRef;
164
+ readonly parameters: JsonObject;
165
+ readonly outcome: "passed";
166
+ }[];
167
+ };
168
+ readonly target: ScaffoldTarget;
169
+ readonly readSet: ScaffoldAuthorityReadSet;
170
+ readonly requiredAdapterCapabilities: readonly ["materialize-file/v1"];
171
+ readonly operations: readonly MaterializeFileOperation[];
172
+ readonly diagnostics: readonly ScaffoldDiagnostic[];
173
+ readonly planDigest: Sha256Digest;
174
+ }
175
+ export type ScaffoldOperationOutcome = "already-satisfied" | "applied" | "conflict" | "not-applied" | "recovered" | "unobserved";
176
+ export interface ScaffoldOperationReceipt {
177
+ readonly operationId: string;
178
+ readonly path: RepositoryPath;
179
+ readonly outcome: ScaffoldOperationOutcome;
180
+ readonly resultDigest?: Sha256Digest;
181
+ }
182
+ export type ScaffoldAppliedOperationReceipt = ScaffoldOperationReceipt & {
183
+ readonly outcome: "applied";
184
+ readonly resultDigest: Sha256Digest;
185
+ };
186
+ export type ScaffoldSatisfiedOperationReceipt = ScaffoldOperationReceipt & {
187
+ readonly outcome: "already-satisfied" | "applied";
188
+ readonly resultDigest: Sha256Digest;
189
+ };
190
+ export type ScaffoldReceiptOutcome = "already-applied" | "applied" | "authority-stale" | "failed-recovered" | "recovery-required" | "rejected";
191
+ export interface ScaffoldReceiptCommon {
192
+ readonly schemaVersion: 2;
193
+ readonly protocolVersion: 2;
194
+ readonly planDigest: Sha256Digest;
195
+ readonly adapter: {
196
+ readonly id: "foundation.filesystem/v1";
197
+ readonly contractVersion: 1;
198
+ };
199
+ readonly diagnostics: readonly ScaffoldDiagnostic[];
200
+ readonly receiptDigest: Sha256Digest;
201
+ }
202
+ export type ScaffoldReceipt = (ScaffoldReceiptCommon & {
203
+ readonly outcome: "applied";
204
+ readonly commit: {
205
+ readonly state: "committed";
206
+ readonly atomicity: "journaled-recoverable";
207
+ };
208
+ readonly operations: readonly [
209
+ ScaffoldAppliedOperationReceipt,
210
+ ...ScaffoldSatisfiedOperationReceipt[]
211
+ ];
212
+ }) | (ScaffoldReceiptCommon & {
213
+ readonly outcome: "already-applied";
214
+ readonly commit: {
215
+ readonly state: "committed";
216
+ readonly atomicity: "journaled-recoverable";
217
+ };
218
+ readonly operations: readonly [
219
+ ScaffoldOperationReceipt & {
220
+ readonly outcome: "already-satisfied";
221
+ readonly resultDigest: Sha256Digest;
222
+ },
223
+ ...(ScaffoldOperationReceipt & {
224
+ readonly outcome: "already-satisfied";
225
+ readonly resultDigest: Sha256Digest;
226
+ })[]
227
+ ];
228
+ }) | (ScaffoldReceiptCommon & {
229
+ readonly outcome: "failed-recovered";
230
+ readonly commit: {
231
+ readonly state: "recovered";
232
+ readonly atomicity: "journaled-recoverable";
233
+ };
234
+ readonly operations: readonly [
235
+ ScaffoldOperationReceipt & {
236
+ readonly outcome: "already-satisfied" | "recovered";
237
+ readonly resultDigest: Sha256Digest;
238
+ },
239
+ ...(ScaffoldOperationReceipt & {
240
+ readonly outcome: "already-satisfied" | "recovered";
241
+ readonly resultDigest: Sha256Digest;
242
+ })[]
243
+ ];
244
+ }) | (ScaffoldReceiptCommon & {
245
+ readonly outcome: "recovery-required";
246
+ readonly commit: {
247
+ readonly state: "recovery-required";
248
+ readonly atomicity: "journaled-recoverable";
249
+ };
250
+ readonly operations: readonly [
251
+ (ScaffoldOperationReceipt & {
252
+ readonly outcome: "already-satisfied";
253
+ readonly resultDigest: Sha256Digest;
254
+ }) | (ScaffoldOperationReceipt & {
255
+ readonly outcome: "conflict" | "not-applied" | "unobserved";
256
+ readonly resultDigest?: never;
257
+ }),
258
+ ...((ScaffoldOperationReceipt & {
259
+ readonly outcome: "already-satisfied";
260
+ readonly resultDigest: Sha256Digest;
261
+ }) | (ScaffoldOperationReceipt & {
262
+ readonly outcome: "conflict" | "not-applied" | "unobserved";
263
+ readonly resultDigest?: never;
264
+ }))[]
265
+ ];
266
+ }) | (ScaffoldReceiptCommon & {
267
+ readonly outcome: "rejected";
268
+ readonly commit: {
269
+ readonly state: "rejected";
270
+ readonly atomicity: "journaled-recoverable";
271
+ };
272
+ readonly operations: readonly [
273
+ (ScaffoldOperationReceipt & {
274
+ readonly outcome: "already-satisfied";
275
+ readonly resultDigest: Sha256Digest;
276
+ }) | (ScaffoldOperationReceipt & {
277
+ readonly outcome: "conflict" | "not-applied";
278
+ readonly resultDigest?: never;
279
+ }),
280
+ ...((ScaffoldOperationReceipt & {
281
+ readonly outcome: "already-satisfied";
282
+ readonly resultDigest: Sha256Digest;
283
+ }) | (ScaffoldOperationReceipt & {
284
+ readonly outcome: "conflict" | "not-applied";
285
+ readonly resultDigest?: never;
286
+ }))[]
287
+ ];
288
+ }) | (ScaffoldReceiptCommon & {
289
+ readonly outcome: "authority-stale";
290
+ readonly commit: {
291
+ readonly state: "rolled-back";
292
+ readonly atomicity: "journaled-recoverable";
293
+ };
294
+ readonly operations: readonly [
295
+ ScaffoldOperationReceipt & {
296
+ readonly outcome: "not-applied";
297
+ readonly resultDigest?: never;
298
+ },
299
+ ...(ScaffoldOperationReceipt & {
300
+ readonly outcome: "not-applied";
301
+ readonly resultDigest?: never;
302
+ })[]
303
+ ];
304
+ });
305
+ export type ScaffoldJournalOperationState = "pending" | "preexisting" | "published" | "publishing";
306
+ export interface ScaffoldJournalOperation {
307
+ readonly operationId: string;
308
+ readonly path: RepositoryPath;
309
+ readonly state: ScaffoldJournalOperationState;
310
+ }
311
+ export interface ScaffoldJournal {
312
+ readonly schemaVersion: 2;
313
+ readonly state: "PREPARED";
314
+ readonly plan: ScaffoldPlan;
315
+ readonly operations: readonly ScaffoldJournalOperation[];
316
+ }
317
+ export interface ScaffoldCompilationInput {
318
+ readonly foundationVersion: string;
319
+ readonly configPath: RepositoryPath;
320
+ readonly config: ScaffoldingConfig;
321
+ readonly intent: ScaffoldIntent;
322
+ readonly catalog: {
323
+ readonly version: 2;
324
+ readonly packages: readonly ScaffoldTarget[];
325
+ };
326
+ readonly authorityEvidence: ScaffoldAuthorityEvidence;
327
+ readonly authorityReadSet: ScaffoldAuthorityReadSet;
328
+ }
329
+ //# sourceMappingURL=scaffold-contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold-contract.d.ts","sourceRoot":"","sources":["../../../src/scaffolding/contract/scaffold-contract.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scaffold-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold-contract.js","sourceRoot":"","sources":["../../../src/scaffolding/contract/scaffold-contract.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
+ export type { AuthorityScaffoldReceipt } from "./receipt-authority-types.js";
1
2
  export type JsonPrimitive = boolean | null | number | string;
2
3
  export type JsonValue = JsonPrimitive | readonly JsonValue[] | {
3
4
  readonly [key: string]: JsonValue;
@@ -15,7 +16,7 @@ export interface ConfiguredDefinition {
15
16
  readonly ref: DefinitionRef;
16
17
  readonly parameters?: JsonObject;
17
18
  }
18
- export interface ScaffoldCompositionV1 {
19
+ export interface ScaffoldRenderingComposition {
19
20
  readonly id: string;
20
21
  readonly scaffoldProfile: ConfiguredDefinition;
21
22
  readonly recipe: ConfiguredDefinition;
@@ -29,31 +30,70 @@ export interface ScaffoldCompositionV1 {
29
30
  };
30
31
  readonly policies: readonly ConfiguredDefinition[];
31
32
  }
33
+ interface ScaffoldCompositionV1 extends ScaffoldRenderingComposition {
34
+ }
32
35
  export interface ScaffoldingConfigV1 {
33
36
  readonly schemaVersion: 1;
34
37
  readonly projectId: string;
35
38
  readonly targetCatalogPath: RepositoryPath;
36
39
  readonly compositions: readonly ScaffoldCompositionV1[];
37
40
  }
38
- export interface ScaffoldIntentV1 {
41
+ /**
42
+ * A closed, Foundation-owned verifier selected by a consumer composition.
43
+ * Consumer input can constrain a verifier, but cannot provide executable
44
+ * verification behavior.
45
+ */
46
+ export interface ScaffoldAuthorityVerifierV1 {
47
+ readonly id: "foundation.markdown-yaml-owner";
48
+ readonly contractVersion: 1;
49
+ readonly parameters: {
50
+ readonly allowedStatuses: readonly string[];
51
+ readonly documentRoots: readonly string[];
52
+ };
53
+ }
54
+ interface AuthorityScaffoldComposition extends ScaffoldRenderingComposition {
55
+ readonly authorityVerifiers: readonly [ScaffoldAuthorityVerifierV1];
56
+ }
57
+ export interface AuthorityScaffoldingConfig {
58
+ readonly schemaVersion: 2;
59
+ readonly projectId: string;
60
+ readonly targetCatalogPath: RepositoryPath;
61
+ readonly compositions: readonly AuthorityScaffoldComposition[];
62
+ }
63
+ export interface ScaffoldRenderingIntent {
39
64
  readonly schemaVersion: 1;
40
65
  readonly compositionId: string;
41
66
  readonly targetRef: string;
42
67
  readonly recipeParameters?: JsonObject;
43
68
  readonly facets?: readonly ConfiguredDefinition[];
44
69
  }
45
- export interface ScaffoldTargetV1 {
70
+ export interface ScaffoldIntentV1 extends ScaffoldRenderingIntent {
71
+ }
72
+ export interface ScaffoldRenderingTarget {
46
73
  readonly id: string;
47
74
  readonly role: string;
48
75
  readonly path: RepositoryPath;
49
76
  readonly packageName: string;
77
+ }
78
+ interface ScaffoldTargetV1 extends ScaffoldRenderingTarget {
50
79
  readonly ownerDocument?: string;
51
80
  }
52
81
  export interface ScaffoldTargetCatalogV1 {
53
82
  readonly version: 1;
54
83
  readonly packages: readonly ScaffoldTargetV1[];
55
84
  }
56
- export interface ScaffoldDiagnosticV1 {
85
+ interface AuthorityScaffoldOwnerDocumentBinding {
86
+ readonly id: string;
87
+ readonly path: RepositoryPath;
88
+ }
89
+ export interface AuthorityScaffoldTarget extends ScaffoldRenderingTarget {
90
+ readonly ownerDocument: AuthorityScaffoldOwnerDocumentBinding;
91
+ }
92
+ export interface AuthorityScaffoldTargetCatalog {
93
+ readonly version: 2;
94
+ readonly packages: readonly AuthorityScaffoldTarget[];
95
+ }
96
+ export interface ScaffoldRenderingDiagnostic {
57
97
  readonly ruleId: string;
58
98
  readonly severity: "error" | "info" | "warning";
59
99
  readonly phase: "apply" | "composition" | "input" | "planning" | "policy" | "recovery";
@@ -61,13 +101,56 @@ export interface ScaffoldDiagnosticV1 {
61
101
  readonly message: string;
62
102
  readonly remediation: string;
63
103
  }
104
+ export interface ScaffoldDiagnosticV1 extends ScaffoldRenderingDiagnostic {
105
+ }
64
106
  export interface ScaffoldReadAssertionV1 {
65
107
  readonly path: RepositoryPath;
66
108
  readonly state: "file";
67
109
  readonly digest: Sha256Digest;
68
110
  readonly size: number;
69
111
  }
70
- export interface MaterializeFileOperationV1 {
112
+ export type AuthorityScaffoldReadSet = readonly [
113
+ ScaffoldReadAssertionV1,
114
+ ScaffoldReadAssertionV1,
115
+ ScaffoldReadAssertionV1
116
+ ];
117
+ type ScaffoldAuthoritySourceRoleV1 = "config" | "owner-document" | "target-catalog";
118
+ export interface ScaffoldAuthoritySourceAssertionV1 {
119
+ readonly role: ScaffoldAuthoritySourceRoleV1;
120
+ readonly assertion: ScaffoldReadAssertionV1;
121
+ }
122
+ /**
123
+ * Evidence is an immutable result of Foundation re-reading the consumer's
124
+ * canonical sources. It is not a consumer-produced approval assertion.
125
+ */
126
+ export interface ScaffoldAuthorityEvidenceV1 {
127
+ readonly schemaVersion: 1;
128
+ readonly verifier: {
129
+ readonly id: "foundation.markdown-yaml-owner";
130
+ readonly contractVersion: 1;
131
+ };
132
+ readonly projectId: string;
133
+ readonly targetRef: string;
134
+ readonly targetIdentityDigest: Sha256Digest;
135
+ readonly ownerDocument: {
136
+ readonly id: string;
137
+ readonly path: RepositoryPath;
138
+ readonly status: string;
139
+ };
140
+ readonly sources: readonly [
141
+ ScaffoldAuthoritySourceAssertionV1 & {
142
+ readonly role: "config";
143
+ },
144
+ ScaffoldAuthoritySourceAssertionV1 & {
145
+ readonly role: "owner-document";
146
+ },
147
+ ScaffoldAuthoritySourceAssertionV1 & {
148
+ readonly role: "target-catalog";
149
+ }
150
+ ];
151
+ readonly evidenceDigest: Sha256Digest;
152
+ }
153
+ export interface ScaffoldRenderingOperation {
71
154
  readonly id: string;
72
155
  readonly kind: "materialize-file";
73
156
  readonly path: RepositoryPath;
@@ -83,13 +166,41 @@ export interface MaterializeFileOperationV1 {
83
166
  };
84
167
  readonly causes: readonly string[];
85
168
  }
169
+ export interface MaterializeFileOperationV1 extends ScaffoldRenderingOperation {
170
+ }
171
+ export interface ScaffoldRenderingCompiler {
172
+ readonly id: "@agent-teams/engineering-foundation";
173
+ readonly version: string;
174
+ }
175
+ export interface ScaffoldRenderingCompositionSelection {
176
+ readonly id: string;
177
+ readonly scaffoldProfile: DefinitionRef;
178
+ readonly recipe: DefinitionRef;
179
+ readonly facets: readonly DefinitionRef[];
180
+ readonly policies: readonly DefinitionRef[];
181
+ }
182
+ export interface ScaffoldRenderingDefinitionEvidence {
183
+ readonly kind: "facet" | "policy" | "recipe" | "scaffold-profile";
184
+ readonly ref: DefinitionRef;
185
+ readonly contractDigest: Sha256Digest;
186
+ }
187
+ export interface ScaffoldRenderingResolution {
188
+ readonly profileParameters: JsonObject;
189
+ readonly recipeParameters: JsonObject;
190
+ readonly facets: readonly {
191
+ readonly ref: DefinitionRef;
192
+ readonly parameters: JsonObject;
193
+ }[];
194
+ readonly policies: readonly {
195
+ readonly ref: DefinitionRef;
196
+ readonly parameters: JsonObject;
197
+ readonly outcome: "passed";
198
+ }[];
199
+ }
86
200
  export interface ScaffoldPlanV1 {
87
201
  readonly schemaVersion: 1;
88
202
  readonly protocolVersion: 1;
89
- readonly compiler: {
90
- readonly id: "@agent-teams/engineering-foundation";
91
- readonly version: string;
92
- };
203
+ readonly compiler: ScaffoldRenderingCompiler;
93
204
  readonly projectId: string;
94
205
  readonly authority: {
95
206
  readonly configPath: RepositoryPath;
@@ -98,31 +209,9 @@ export interface ScaffoldPlanV1 {
98
209
  readonly intent: ScaffoldIntentV1;
99
210
  readonly intentDigest: Sha256Digest;
100
211
  readonly authoritySnapshotDigest: Sha256Digest;
101
- readonly composition: {
102
- readonly id: string;
103
- readonly scaffoldProfile: DefinitionRef;
104
- readonly recipe: DefinitionRef;
105
- readonly facets: readonly DefinitionRef[];
106
- readonly policies: readonly DefinitionRef[];
107
- };
108
- readonly definitions: readonly {
109
- readonly kind: "facet" | "policy" | "recipe" | "scaffold-profile";
110
- readonly ref: DefinitionRef;
111
- readonly contractDigest: Sha256Digest;
112
- }[];
113
- readonly resolved: {
114
- readonly profileParameters: JsonObject;
115
- readonly recipeParameters: JsonObject;
116
- readonly facets: readonly {
117
- readonly ref: DefinitionRef;
118
- readonly parameters: JsonObject;
119
- }[];
120
- readonly policies: readonly {
121
- readonly ref: DefinitionRef;
122
- readonly parameters: JsonObject;
123
- readonly outcome: "passed";
124
- }[];
125
- };
212
+ readonly composition: ScaffoldRenderingCompositionSelection;
213
+ readonly definitions: readonly ScaffoldRenderingDefinitionEvidence[];
214
+ readonly resolved: ScaffoldRenderingResolution;
126
215
  readonly target: ScaffoldTargetV1;
127
216
  readonly readSet: readonly ScaffoldReadAssertionV1[];
128
217
  readonly requiredAdapterCapabilities: readonly ["materialize-file/v1"];
@@ -130,15 +219,47 @@ export interface ScaffoldPlanV1 {
130
219
  readonly diagnostics: readonly ScaffoldDiagnosticV1[];
131
220
  readonly planDigest: Sha256Digest;
132
221
  }
222
+ export interface AuthorityScaffoldPlan {
223
+ readonly schemaVersion: 2;
224
+ readonly protocolVersion: 2;
225
+ readonly compiler: ScaffoldRenderingCompiler;
226
+ readonly projectId: string;
227
+ readonly authority: {
228
+ readonly configPath: RepositoryPath;
229
+ readonly targetCatalogPath: RepositoryPath;
230
+ };
231
+ readonly authorityEvidence: ScaffoldAuthorityEvidenceV1;
232
+ readonly intent: ScaffoldRenderingIntent;
233
+ readonly intentDigest: Sha256Digest;
234
+ readonly authoritySnapshotDigest: Sha256Digest;
235
+ readonly composition: ScaffoldRenderingCompositionSelection;
236
+ readonly definitions: readonly ScaffoldRenderingDefinitionEvidence[];
237
+ readonly resolved: ScaffoldRenderingResolution;
238
+ readonly target: AuthorityScaffoldTarget;
239
+ readonly readSet: AuthorityScaffoldReadSet;
240
+ readonly requiredAdapterCapabilities: readonly ["materialize-file/v1"];
241
+ readonly operations: readonly ScaffoldRenderingOperation[];
242
+ readonly diagnostics: readonly ScaffoldRenderingDiagnostic[];
243
+ readonly planDigest: Sha256Digest;
244
+ }
245
+ export type ScaffoldPlan = ScaffoldPlanV1 | AuthorityScaffoldPlan;
133
246
  export type ScaffoldOperationOutcome = "already-satisfied" | "applied" | "conflict" | "not-applied" | "recovered";
247
+ export type AuthorityScaffoldOperationOutcome = ScaffoldOperationOutcome | "unobserved";
134
248
  export interface ScaffoldOperationReceiptV1 {
135
249
  readonly operationId: string;
136
250
  readonly path: RepositoryPath;
137
251
  readonly outcome: ScaffoldOperationOutcome;
138
252
  readonly resultDigest?: Sha256Digest;
139
253
  }
254
+ export interface AuthorityScaffoldOperationReceipt {
255
+ readonly operationId: string;
256
+ readonly path: RepositoryPath;
257
+ readonly outcome: AuthorityScaffoldOperationOutcome;
258
+ readonly resultDigest?: Sha256Digest;
259
+ }
140
260
  export type ScaffoldReceiptOutcome = "already-applied" | "applied" | "failed-recovered" | "recovery-required" | "rejected";
141
- export interface ScaffoldReceiptCommonV1 {
261
+ export type AuthorityScaffoldReceiptOutcome = ScaffoldReceiptOutcome | "authority-stale";
262
+ interface ScaffoldReceiptCommonV1 {
142
263
  readonly schemaVersion: 1;
143
264
  readonly protocolVersion: 1;
144
265
  readonly planDigest: Sha256Digest;
@@ -279,6 +400,18 @@ export type ScaffoldReceiptV1 = (ScaffoldReceiptCommonV1 & {
279
400
  readonly atomicity: "memory-atomic";
280
401
  };
281
402
  }));
403
+ type AuthorityScaffoldJournalOperationState = "pending" | "publishing" | "published" | "preexisting";
404
+ export interface AuthorityScaffoldJournalOperation {
405
+ readonly operationId: string;
406
+ readonly path: RepositoryPath;
407
+ readonly state: AuthorityScaffoldJournalOperationState;
408
+ }
409
+ export interface AuthorityScaffoldJournal {
410
+ readonly schemaVersion: 2;
411
+ readonly state: "PREPARED";
412
+ readonly plan: AuthorityScaffoldPlan;
413
+ readonly operations: readonly AuthorityScaffoldJournalOperation[];
414
+ }
282
415
  export interface ScaffoldCompilationInput {
283
416
  readonly foundationVersion: string;
284
417
  readonly configPath: RepositoryPath;
@@ -287,6 +420,15 @@ export interface ScaffoldCompilationInput {
287
420
  readonly catalog: ScaffoldTargetCatalogV1;
288
421
  readonly authorityReadSet: readonly ScaffoldReadAssertionV1[];
289
422
  }
423
+ export interface AuthorityScaffoldCompilationInput {
424
+ readonly foundationVersion: string;
425
+ readonly configPath: RepositoryPath;
426
+ readonly config: AuthorityScaffoldingConfig;
427
+ readonly intent: ScaffoldRenderingIntent;
428
+ readonly catalog: AuthorityScaffoldTargetCatalog;
429
+ readonly authorityEvidence: ScaffoldAuthorityEvidenceV1;
430
+ readonly authorityReadSet: AuthorityScaffoldReadSet;
431
+ }
290
432
  export interface ScaffoldFileContribution {
291
433
  readonly path: RepositoryPath;
292
434
  readonly mediaType: string;