@empire-builder-kit/nx 1.0.0-rc.4 → 1.0.0-rc.40

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 (791) hide show
  1. package/README.md +18 -0
  2. package/executors.json +21 -1
  3. package/generators.json +10 -0
  4. package/package.json +31 -7
  5. package/src/aws/child-environment.d.ts +10 -0
  6. package/src/aws/child-environment.js +77 -0
  7. package/src/aws/identity.d.ts +13 -0
  8. package/src/aws/identity.js +41 -0
  9. package/src/aws-authority/index.d.ts +2 -0
  10. package/src/aws-authority/index.js +6 -0
  11. package/src/aws-authority/lambda-policy-ordering.d.ts +38 -0
  12. package/src/aws-authority/lambda-policy-ordering.js +56 -0
  13. package/src/aws-authority/stage-authority.d.ts +248 -0
  14. package/src/aws-authority/stage-authority.js +3558 -0
  15. package/src/blueprints/external-sandbox.js +21 -9
  16. package/src/blueprints/manifest.d.ts +1 -1
  17. package/src/blueprints/resolver.js +28 -15
  18. package/src/cli/bootstrap.d.ts +1 -1
  19. package/src/cli/deploy-runtime.d.ts +6 -0
  20. package/src/cli/deploy-runtime.js +58 -0
  21. package/src/cli/dev-command.d.ts +16 -4
  22. package/src/cli/dev-command.js +63 -0
  23. package/src/cli/main.d.ts +9 -1
  24. package/src/cli/main.js +139 -20
  25. package/src/cli/output.d.ts +1 -1
  26. package/src/cli/output.js +1 -1
  27. package/src/developer-agent/context.js +41 -9
  28. package/src/developer-agent/generator-planning.js +20 -6
  29. package/src/developer-agent/git-inspection.d.ts +6 -2
  30. package/src/developer-agent/git-inspection.js +78 -6
  31. package/src/developer-agent/model.d.ts +5 -3
  32. package/src/developer-agent/model.js +4 -4
  33. package/src/developer-agent/operation-registry.d.ts +5 -0
  34. package/src/developer-agent/operation-registry.js +286 -40
  35. package/src/developer-agent/planning.js +16 -13
  36. package/src/developer-agent/preview-changes.d.ts +2 -0
  37. package/src/developer-agent/preview-changes.js +14 -2
  38. package/src/developer-agent/preview-source.js +3 -0
  39. package/src/developer-agent/validation.js +25 -9
  40. package/src/developer-agent/workspace-inspection.js +60 -5
  41. package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
  42. package/src/executors/deployment-plan/deployment-plan.d.ts +2 -0
  43. package/src/executors/deployment-plan/deployment-plan.js +57 -2
  44. package/src/executors/dev-doctor/dev-doctor.js +13 -6
  45. package/src/executors/dev-task-cleanup/dev-task-cleanup.d.ts +23 -0
  46. package/src/executors/dev-task-cleanup/dev-task-cleanup.js +145 -0
  47. package/src/executors/dev-task-cleanup/schema.json +9 -0
  48. package/src/executors/dev-task-cleanup/task-stack-absence.d.ts +27 -0
  49. package/src/executors/dev-task-cleanup/task-stack-absence.js +281 -0
  50. package/src/executors/dev-task-cleanup/task-stack-checkpoint.d.ts +12 -0
  51. package/src/executors/dev-task-cleanup/task-stack-checkpoint.js +92 -0
  52. package/src/executors/fleet/fleet.js +1 -1
  53. package/src/executors/foundation-preflight/foundation-preflight.d.ts +1 -0
  54. package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
  55. package/src/executors/foundation-preflight/schema.json +5 -0
  56. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +13 -2
  57. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +95 -31
  58. package/src/executors/foundation-profile-preflight/production-database-safeguard.d.ts +65 -0
  59. package/src/executors/foundation-profile-preflight/production-database-safeguard.js +223 -0
  60. package/src/executors/foundation-profile-preflight/schema.json +15 -4
  61. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +11 -1
  62. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +70 -20
  63. package/src/executors/foundation-remove-preflight/schema.json +6 -1
  64. package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
  65. package/src/executors/github-bootstrap/github-bootstrap.js +3 -0
  66. package/src/executors/github-bootstrap/schema.json +7 -1
  67. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +29 -136
  68. package/src/executors/infrastructure-plan/infrastructure-plan.js +230 -3282
  69. package/src/executors/infrastructure-plan/schema.json +12 -52
  70. package/src/executors/local-deploy/federated-credential-transport.d.ts +48 -0
  71. package/src/executors/local-deploy/federated-credential-transport.js +252 -0
  72. package/src/executors/local-deploy/local-approval.d.ts +18 -0
  73. package/src/executors/local-deploy/local-approval.js +39 -0
  74. package/src/executors/local-deploy/local-deploy.d.ts +112 -0
  75. package/src/executors/local-deploy/local-deploy.js +1404 -0
  76. package/src/executors/local-deploy/schema.json +70 -0
  77. package/src/executors/refresh/refresh.js +2 -2
  78. package/src/executors/remove/remove.js +2 -2
  79. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +42 -0
  80. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +1229 -0
  81. package/src/executors/router-waf-rehearsal/schema.json +29 -0
  82. package/src/executors/secret-initialize/schema.json +42 -0
  83. package/src/executors/secret-initialize/secret-initialize.d.ts +34 -0
  84. package/src/executors/secret-initialize/secret-initialize.js +297 -0
  85. package/src/executors/secret-metadata/schema.json +5 -0
  86. package/src/executors/secret-metadata/secret-metadata.d.ts +16 -2
  87. package/src/executors/secret-metadata/secret-metadata.js +129 -30
  88. package/src/executors/sst-lifecycle/generated-secret-retirement.d.ts +53 -0
  89. package/src/executors/sst-lifecycle/generated-secret-retirement.js +192 -0
  90. package/src/executors/sst-lifecycle/governed-native-operation.d.ts +48 -0
  91. package/src/executors/sst-lifecycle/governed-native-operation.js +162 -0
  92. package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
  93. package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
  94. package/src/executors/sst-lifecycle/run-sst-command.d.ts +40 -6
  95. package/src/executors/sst-lifecycle/run-sst-command.js +779 -70
  96. package/src/executors/sst-lifecycle/schema.json +8 -1
  97. package/src/executors/sst-lifecycle/secret-preflight.d.ts +2 -0
  98. package/src/executors/sst-lifecycle/secret-preflight.js +13 -7
  99. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +33 -0
  100. package/src/executors/sst-lifecycle/sst-environment-source.js +267 -0
  101. package/src/executors/sst-lifecycle/task-unlock.d.ts +15 -0
  102. package/src/executors/sst-lifecycle/task-unlock.js +126 -0
  103. package/src/executors/unlock/unlock.js +2 -2
  104. package/src/foundation/capability-plan.d.ts +43 -0
  105. package/src/foundation/capability-plan.js +168 -0
  106. package/src/foundation/discovery.d.ts +14 -11
  107. package/src/foundation/discovery.js +32 -6
  108. package/src/foundation/index.d.ts +4 -0
  109. package/src/foundation/index.js +11 -0
  110. package/src/foundation/local-database-contract.d.ts +20 -0
  111. package/src/foundation/local-database-contract.js +262 -13
  112. package/src/foundation/local-private-smoke-access.d.ts +20 -0
  113. package/src/foundation/local-private-smoke-access.js +197 -0
  114. package/src/foundation/logging-preflight.js +1 -1
  115. package/src/foundation/logging.d.ts +3 -1
  116. package/src/foundation/logging.js +1 -1
  117. package/src/foundation/partial-state.d.ts +10 -0
  118. package/src/foundation/partial-state.js +21 -0
  119. package/src/foundation/preflight.js +37 -18
  120. package/src/foundation/private-smoke-access.d.ts +25 -0
  121. package/src/foundation/private-smoke-access.js +135 -0
  122. package/src/foundation/private-smoke-admission.d.ts +45 -0
  123. package/src/foundation/private-smoke-admission.js +180 -0
  124. package/src/foundation/private-smoke-control-plane.d.ts +18 -0
  125. package/src/foundation/private-smoke-control-plane.js +184 -0
  126. package/src/foundation/provision-database-bindings.d.ts +5 -0
  127. package/src/foundation/provision-database-bindings.js +41 -8
  128. package/src/foundation/provision-logical-database.js +15 -8
  129. package/src/foundation/requirements.d.ts +3 -3
  130. package/src/foundation/requirements.js +24 -12
  131. package/src/foundation/router-waf-rate-rehearsal.d.ts +97 -0
  132. package/src/foundation/router-waf-rate-rehearsal.js +210 -0
  133. package/src/foundation/router-waf.d.ts +149 -0
  134. package/src/foundation/router-waf.js +809 -0
  135. package/src/foundation/stages.d.ts +1 -0
  136. package/src/foundation/stages.js +11 -0
  137. package/src/generators/blueprint/blueprint.d.ts +5 -0
  138. package/src/generators/blueprint/blueprint.js +102 -0
  139. package/src/generators/blueprint/files.d.ts +6 -0
  140. package/src/generators/blueprint/files.js +217 -0
  141. package/src/generators/blueprint/schema.d.ts +4 -0
  142. package/src/generators/blueprint/schema.json +18 -0
  143. package/src/generators/formatting.d.ts +8 -0
  144. package/src/generators/formatting.js +141 -0
  145. package/src/generators/function/function.js +38 -17
  146. package/src/generators/logging-registry.d.ts +2 -0
  147. package/src/generators/logging-registry.js +22 -0
  148. package/src/generators/post-generation-install.js +2 -2
  149. package/src/generators/preset/dependency-overrides.d.ts +8 -0
  150. package/src/generators/preset/dependency-overrides.js +55 -0
  151. package/src/generators/preset/generator.js +43 -3
  152. package/src/generators/preset/schema.d.ts +10 -0
  153. package/src/generators/preset/schema.json +47 -0
  154. package/src/generators/preset/tool-versions.d.ts +2 -0
  155. package/src/generators/preset/tool-versions.js +3 -1
  156. package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
  157. package/src/generators/preset/workspace-files-adopter-skills.js +303 -0
  158. package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
  159. package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
  160. package/src/generators/preset/workspace-files-ci-install.d.ts +2 -0
  161. package/src/generators/preset/workspace-files-ci-install.js +196 -0
  162. package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
  163. package/src/generators/preset/workspace-files-developer-agent.js +90 -28
  164. package/src/generators/preset/workspace-files-ecr-inspector.d.ts +18 -0
  165. package/src/generators/preset/workspace-files-ecr-inspector.js +298 -0
  166. package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
  167. package/src/generators/preset/workspace-files-performance-cost.d.ts +2 -2
  168. package/src/generators/preset/workspace-files-performance-cost.js +8 -8
  169. package/src/generators/preset/workspace-files-performance-load.d.ts +1 -1
  170. package/src/generators/preset/workspace-files-performance-load.js +39 -25
  171. package/src/generators/preset/workspace-files-stage-authority.d.ts +6 -0
  172. package/src/generators/preset/workspace-files-stage-authority.js +518 -0
  173. package/src/generators/preset/workspace-files-thin-deploy.d.ts +55 -0
  174. package/src/generators/preset/workspace-files-thin-deploy.js +2473 -0
  175. package/src/generators/preset/workspace-files-thin-docs.d.ts +7 -0
  176. package/src/generators/preset/workspace-files-thin-docs.js +352 -0
  177. package/src/generators/preset/workspace-files-thin-release.d.ts +14 -0
  178. package/src/generators/preset/workspace-files-thin-release.js +26 -0
  179. package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
  180. package/src/generators/preset/workspace-files.d.ts +18 -2
  181. package/src/generators/preset/workspace-files.js +1504 -608
  182. package/src/generators/repository-policy/repository-policy.js +235 -5
  183. package/src/generators/repository-policy/schema.d.ts +10 -0
  184. package/src/generators/repository-policy/schema.json +80 -4
  185. package/src/generators/repository-policy/tree-policy.d.ts +3 -0
  186. package/src/generators/repository-policy/tree-policy.js +25 -0
  187. package/src/generators/slice/built-in-plan-api-contract-files.js +42 -7
  188. package/src/generators/slice/built-in-plan-api-files.d.ts +1 -1
  189. package/src/generators/slice/built-in-plan-api-files.js +130 -414
  190. package/src/generators/slice/built-in-plan-async-work-files.js +166 -1969
  191. package/src/generators/slice/built-in-plan-authorization-files.js +92 -329
  192. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +60 -2
  193. package/src/generators/slice/built-in-plan-authorization-storage.d.ts +3 -0
  194. package/src/generators/slice/built-in-plan-authorization-storage.js +119 -0
  195. package/src/generators/slice/built-in-plan-background-work-files.d.ts +2 -0
  196. package/src/generators/slice/built-in-plan-background-work-files.js +99 -0
  197. package/src/generators/slice/built-in-plan-data-deletion-files.js +2 -830
  198. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +5 -31
  199. package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
  200. package/src/generators/slice/built-in-plan-data-files.js +163 -1196
  201. package/src/generators/slice/built-in-plan-data-lifecycle-files.js +53 -28
  202. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +37 -2
  203. package/src/generators/slice/built-in-plan-data-retention-job-files.js +7 -2443
  204. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +50 -8
  205. package/src/generators/slice/built-in-plan-data-rights-files.js +6 -4482
  206. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +44 -25
  207. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +20 -1
  208. package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -1
  209. package/src/generators/slice/built-in-plan-foundation-files.js +39 -18
  210. package/src/generators/slice/built-in-plan-frontend-files.js +7 -3
  211. package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
  212. package/src/generators/slice/built-in-plan-infrastructure-files.js +933 -729
  213. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +67 -11
  214. package/src/generators/slice/built-in-plan-key-value-cleanup.d.ts +4 -0
  215. package/src/generators/slice/built-in-plan-key-value-cleanup.js +100 -0
  216. package/src/generators/slice/built-in-plan-key-value-consumer.d.ts +4 -0
  217. package/src/generators/slice/built-in-plan-key-value-consumer.js +151 -0
  218. package/src/generators/slice/built-in-plan-key-value-deletion.d.ts +2 -0
  219. package/src/generators/slice/built-in-plan-key-value-deletion.js +377 -0
  220. package/src/generators/slice/built-in-plan-key-value-delivery.d.ts +2 -0
  221. package/src/generators/slice/built-in-plan-key-value-delivery.js +137 -0
  222. package/src/generators/slice/built-in-plan-key-value-export.d.ts +2 -0
  223. package/src/generators/slice/built-in-plan-key-value-export.js +595 -0
  224. package/src/generators/slice/built-in-plan-key-value-files.d.ts +2 -0
  225. package/src/generators/slice/built-in-plan-key-value-files.js +31 -0
  226. package/src/generators/slice/built-in-plan-key-value-holds.d.ts +2 -0
  227. package/src/generators/slice/built-in-plan-key-value-holds.js +189 -0
  228. package/src/generators/slice/built-in-plan-key-value-infrastructure.d.ts +2 -0
  229. package/src/generators/slice/built-in-plan-key-value-infrastructure.js +102 -0
  230. package/src/generators/slice/built-in-plan-key-value-performance.d.ts +5 -0
  231. package/src/generators/slice/built-in-plan-key-value-performance.js +530 -0
  232. package/src/generators/slice/built-in-plan-key-value-provider.d.ts +4 -0
  233. package/src/generators/slice/built-in-plan-key-value-provider.js +366 -0
  234. package/src/generators/slice/built-in-plan-key-value-records.d.ts +3 -0
  235. package/src/generators/slice/built-in-plan-key-value-records.js +232 -0
  236. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.d.ts +2 -0
  237. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.js +103 -0
  238. package/src/generators/slice/built-in-plan-key-value-retention-job-files.d.ts +2 -0
  239. package/src/generators/slice/built-in-plan-key-value-retention-job-files.js +160 -0
  240. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.d.ts +2 -0
  241. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.js +329 -0
  242. package/src/generators/slice/built-in-plan-key-value-retention-worker.d.ts +2 -0
  243. package/src/generators/slice/built-in-plan-key-value-retention-worker.js +477 -0
  244. package/src/generators/slice/built-in-plan-key-value-retention.d.ts +2 -0
  245. package/src/generators/slice/built-in-plan-key-value-retention.js +184 -0
  246. package/src/generators/slice/built-in-plan-metadata-files.d.ts +1 -1
  247. package/src/generators/slice/built-in-plan-metadata-files.js +157 -28
  248. package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +2 -0
  249. package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +324 -0
  250. package/src/generators/slice/built-in-plan-operations-files.d.ts +1 -1
  251. package/src/generators/slice/built-in-plan-operations-files.js +585 -97
  252. package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
  253. package/src/generators/slice/built-in-plan-performance-files.js +220 -1074
  254. package/src/generators/slice/built-in-plan-project-files.js +141 -135
  255. package/src/generators/slice/built-in-plan-release-files.d.ts +1 -1
  256. package/src/generators/slice/built-in-plan-release-files.js +310 -70
  257. package/src/generators/slice/built-in-plan-reliability-files.d.ts +1 -1
  258. package/src/generators/slice/built-in-plan-reliability-files.js +279 -43
  259. package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +1 -1
  260. package/src/generators/slice/built-in-plan-secret-runtime-files.js +87 -76
  261. package/src/generators/slice/built-in-plan-shared.d.ts +4 -2
  262. package/src/generators/slice/built-in-plan-shared.js +41 -19
  263. package/src/generators/slice/built-in-plan-sql-events.d.ts +2 -0
  264. package/src/generators/slice/built-in-plan-sql-events.js +276 -0
  265. package/src/generators/slice/built-in-plan-testing-files.d.ts +1 -1
  266. package/src/generators/slice/built-in-plan-testing-files.js +304 -172
  267. package/src/generators/slice/built-in-plan-testing-persistence-files.d.ts +2 -0
  268. package/src/generators/slice/built-in-plan-testing-persistence-files.js +178 -0
  269. package/src/generators/slice/built-in-plan-thin-release-files.d.ts +11 -0
  270. package/src/generators/slice/built-in-plan-thin-release-files.js +162 -0
  271. package/src/generators/slice/built-in-plan-verification-files.js +76 -2
  272. package/src/generators/slice/built-in-plan-web-files.d.ts +1 -1
  273. package/src/generators/slice/built-in-plan-web-files.js +223 -16
  274. package/src/generators/slice/built-in-plan-workload-role-files.d.ts +1 -1
  275. package/src/generators/slice/built-in-plan-workload-role-files.js +143 -279
  276. package/src/generators/slice/built-in-plan.d.ts +11 -1
  277. package/src/generators/slice/built-in-plan.js +80 -29
  278. package/src/generators/slice/data-policy-review-seed.d.ts +2 -0
  279. package/src/generators/slice/data-policy-review-seed.js +22 -0
  280. package/src/generators/slice/deployed-smoke-readiness.d.ts +2 -0
  281. package/src/generators/slice/deployed-smoke-readiness.js +214 -0
  282. package/src/generators/slice/local-source-identity.d.ts +2 -0
  283. package/src/generators/slice/local-source-identity.js +31 -0
  284. package/src/generators/slice/persistence-contract.d.ts +14 -0
  285. package/src/generators/slice/persistence-contract.js +32 -0
  286. package/src/generators/slice/slice.js +61 -50
  287. package/src/generators/sql/schema.d.ts +7 -0
  288. package/src/generators/sql/schema.json +38 -0
  289. package/src/generators/sql/sql.d.ts +6 -0
  290. package/src/generators/sql/sql.js +53 -0
  291. package/src/generators/upgrade/sql-seeded-reconciliation.d.ts +2 -0
  292. package/src/generators/upgrade/sql-seeded-reconciliation.js +170 -0
  293. package/src/generators/upgrade/upgrade.d.ts +15 -1
  294. package/src/generators/upgrade/upgrade.js +435 -44
  295. package/src/generators/workload/performance-registration.d.ts +1 -0
  296. package/src/generators/workload/performance-registration.js +9 -11
  297. package/src/generators/workload/service-performance-files.d.ts +1 -0
  298. package/src/generators/workload/service-performance-files.js +27 -7
  299. package/src/generators/workload/workload.d.ts +1 -1
  300. package/src/generators/workload/workload.js +105 -29
  301. package/src/git-policy/action-pins.d.ts +5 -0
  302. package/src/git-policy/action-pins.js +5 -0
  303. package/src/git-policy/github-bootstrap.d.ts +39 -8
  304. package/src/git-policy/github-bootstrap.js +329 -175
  305. package/src/git-policy/routing.d.ts +7 -1
  306. package/src/git-policy/routing.js +62 -1
  307. package/src/index.d.ts +1 -0
  308. package/src/index.js +1 -0
  309. package/src/infrastructure-change/local-capability.d.ts +73 -0
  310. package/src/infrastructure-change/local-capability.js +114 -0
  311. package/src/infrastructure-change/model.d.ts +25 -4
  312. package/src/infrastructure-change/model.js +1 -0
  313. package/src/infrastructure-change/normalize.d.ts +4 -0
  314. package/src/infrastructure-change/normalize.js +47 -7
  315. package/src/infrastructure-change/plan.d.ts +30 -3
  316. package/src/infrastructure-change/plan.js +323 -13
  317. package/src/infrastructure-change/risk.d.ts +3 -1
  318. package/src/infrastructure-change/risk.js +96 -16
  319. package/src/local-dev/browser-verification.d.ts +37 -0
  320. package/src/local-dev/browser-verification.js +281 -0
  321. package/src/local-dev/contracts.d.ts +10 -1
  322. package/src/local-dev/contracts.js +114 -13
  323. package/src/local-dev/dev-command-core.js +24 -5
  324. package/src/local-dev/docker-credential-health.d.ts +14 -0
  325. package/src/local-dev/docker-credential-health.js +94 -0
  326. package/src/local-dev/environment-inspector.d.ts +7 -0
  327. package/src/local-dev/environment-inspector.js +42 -15
  328. package/src/local-dev/environment-state.js +2 -2
  329. package/src/local-dev/errors.d.ts +1 -1
  330. package/src/local-dev/errors.js +2 -0
  331. package/src/local-dev/fleet-client.js +2 -2
  332. package/src/local-dev/fleet-configuration.js +57 -25
  333. package/src/local-dev/fleet-inventory.js +46 -18
  334. package/src/local-dev/fleet-ipc.d.ts +7 -0
  335. package/src/local-dev/fleet-ipc.js +14 -2
  336. package/src/local-dev/fleet-launcher.d.ts +6 -0
  337. package/src/local-dev/fleet-launcher.js +14 -2
  338. package/src/local-dev/fleet-logs.js +50 -22
  339. package/src/local-dev/fleet-process.d.ts +20 -1
  340. package/src/local-dev/fleet-process.js +197 -41
  341. package/src/local-dev/fleet-runner-evidence.d.ts +5 -0
  342. package/src/local-dev/fleet-runner-evidence.js +56 -0
  343. package/src/local-dev/fleet-runtime.js +268 -229
  344. package/src/local-dev/fleet-session.d.ts +2 -0
  345. package/src/local-dev/fleet-session.js +28 -11
  346. package/src/local-dev/fleet-slice-runner-daemon.js +4 -0
  347. package/src/local-dev/fleet-state.d.ts +5 -2
  348. package/src/local-dev/fleet-state.js +25 -4
  349. package/src/local-dev/fleet-supervisor.d.ts +3 -0
  350. package/src/local-dev/fleet-supervisor.js +66 -11
  351. package/src/local-dev/fleet-web-start.d.ts +12 -0
  352. package/src/local-dev/fleet-web-start.js +48 -0
  353. package/src/local-dev/identity.js +3 -14
  354. package/src/local-dev/index.d.ts +1 -0
  355. package/src/local-dev/index.js +1 -0
  356. package/src/local-dev/native-completion.d.ts +9 -0
  357. package/src/local-dev/native-completion.js +130 -0
  358. package/src/local-dev/nx-workspace.d.ts +4 -2
  359. package/src/local-dev/nx-workspace.js +11 -6
  360. package/src/local-dev/personal-stage.d.ts +4 -5
  361. package/src/local-dev/personal-stage.js +6 -54
  362. package/src/local-dev/port-claims.d.ts +13 -0
  363. package/src/local-dev/port-claims.js +46 -0
  364. package/src/local-dev/ports.d.ts +14 -2
  365. package/src/local-dev/ports.js +78 -3
  366. package/src/local-dev/private-state.d.ts +11 -0
  367. package/src/local-dev/private-state.js +146 -40
  368. package/src/local-dev/process-group.d.ts +4 -0
  369. package/src/local-dev/process-group.js +29 -0
  370. package/src/local-dev/process-identity.d.ts +8 -0
  371. package/src/local-dev/process-identity.js +31 -1
  372. package/src/local-dev/proxy.js +11 -12
  373. package/src/local-dev/runtime-paths.js +1 -1
  374. package/src/local-dev/slice-claim.js +1 -1
  375. package/src/local-dev/slice-runner.d.ts +15 -6
  376. package/src/local-dev/slice-runner.js +189 -54
  377. package/src/local-dev/task-attachment.d.ts +17 -0
  378. package/src/local-dev/task-attachment.js +73 -0
  379. package/src/local-dev/task-authority.d.ts +10 -0
  380. package/src/local-dev/task-authority.js +27 -0
  381. package/src/local-dev/task-identity.d.ts +33 -0
  382. package/src/local-dev/task-identity.js +418 -0
  383. package/src/local-dev/task-native-writer.d.ts +18 -0
  384. package/src/local-dev/task-native-writer.js +329 -0
  385. package/src/local-dev/tls.js +8 -2
  386. package/src/local-dev/web-launch.d.ts +9 -0
  387. package/src/local-dev/web-launch.js +130 -0
  388. package/src/ownership/composition.d.ts +2 -1
  389. package/src/ownership/composition.js +1 -0
  390. package/src/performance/cost-collection.d.ts +1 -1
  391. package/src/performance/cost-collection.js +4 -2
  392. package/src/performance/cost-controls.d.ts +8 -4
  393. package/src/performance/cost-controls.js +39 -28
  394. package/src/performance/evidence.d.ts +1 -1
  395. package/src/performance/evidence.js +5 -3
  396. package/src/performance/load-safety.js +5 -3
  397. package/src/performance/model.d.ts +4 -4
  398. package/src/performance/model.js +4 -5
  399. package/src/performance/scenario.d.ts +22 -0
  400. package/src/performance/scenario.js +100 -92
  401. package/src/release/index.d.ts +0 -2
  402. package/src/release/index.js +0 -2
  403. package/src/release/source-authority.d.ts +5 -5
  404. package/src/release/source-authority.js +141 -124
  405. package/src/repository-policy/aurora-preflight.d.ts +1 -1
  406. package/src/repository-policy/aurora-preflight.js +4 -1
  407. package/src/repository-policy/capacity-migration.d.ts +3 -0
  408. package/src/repository-policy/capacity-migration.js +21 -0
  409. package/src/repository-policy/deployment-plan.d.ts +4 -1
  410. package/src/repository-policy/deployment-plan.js +9 -0
  411. package/src/repository-policy/foundation-profile.js +10 -1
  412. package/src/repository-policy/policy.d.ts +57 -3
  413. package/src/repository-policy/policy.js +497 -11
  414. package/src/schemas/blueprint-v1.json +5 -4
  415. package/src/schemas/foundation-requirement-v1.json +5 -4
  416. package/src/schemas/performance-policy-v1.json +3 -3
  417. package/src/schemas/repository-policy-v1.json +130 -6
  418. package/src/schemas/testing-evidence-result-v1.json +1 -1
  419. package/src/secrets/adapters.d.ts +7 -2
  420. package/src/secrets/adapters.js +34 -3
  421. package/src/secrets/aws-control-plane.d.ts +10 -1
  422. package/src/secrets/aws-control-plane.js +67 -0
  423. package/src/secrets/generated-aws-control-plane.d.ts +23 -0
  424. package/src/secrets/generated-aws-control-plane.js +259 -0
  425. package/src/secrets/metadata.js +38 -10
  426. package/src/secrets/model.d.ts +8 -1
  427. package/src/secrets/model.js +24 -3
  428. package/src/secrets/operator.d.ts +91 -3
  429. package/src/secrets/operator.js +463 -13
  430. package/src/secrets/registry.d.ts +2 -1
  431. package/src/secrets/registry.js +18 -1
  432. package/src/secrets/verification.js +9 -1
  433. package/src/secrets/workload-access.js +10 -2
  434. package/src/sst-environment-source-format.d.ts +6 -0
  435. package/src/sst-environment-source-format.js +199 -0
  436. package/src/supply-chain/action-pins.js +61 -7
  437. package/src/supply-chain/blueprint-trust-git.js +85 -24
  438. package/src/supply-chain/blueprint-verification-authority.js +55 -3
  439. package/src/supply-chain/build-output-bounds.d.ts +2 -0
  440. package/src/supply-chain/build-output-bounds.js +12 -0
  441. package/src/supply-chain/build-output.d.ts +7 -1
  442. package/src/supply-chain/build-output.js +177 -24
  443. package/src/supply-chain/ecr-scanning.d.ts +5 -3
  444. package/src/supply-chain/ecr-scanning.js +11 -7
  445. package/src/supply-chain/ecs-deployed-image.d.ts +5 -3
  446. package/src/supply-chain/ecs-deployed-image.js +6 -4
  447. package/src/supply-chain/generated-blueprint-trust-command.js +18 -1
  448. package/src/supply-chain/generated-command.js +1 -0
  449. package/src/supply-chain/generated-container-release-command.js +1285 -124
  450. package/src/supply-chain/generated-ecr-collector-command.d.ts +0 -1
  451. package/src/supply-chain/generated-ecr-collector-command.js +200 -93
  452. package/src/supply-chain/generated-files.js +25 -14
  453. package/src/supply-chain/generated-scanner-command.js +2 -1
  454. package/src/supply-chain/index.d.ts +1 -1
  455. package/src/supply-chain/index.js +2 -1
  456. package/src/supply-chain/sbom.d.ts +1 -1
  457. package/src/supply-chain/sbom.js +30 -5
  458. package/src/supply-chain/scanner.js +3 -0
  459. package/src/testing-evidence/fixture-scope.d.ts +2 -1
  460. package/src/testing-evidence/fixture-scope.js +4 -2
  461. package/src/testing-evidence/result.d.ts +2 -1
  462. package/src/testing-evidence/result.js +18 -4
  463. package/src/workload-roles/account-baseline.d.ts +11 -0
  464. package/src/workload-roles/account-baseline.js +253 -16
  465. package/src/workload-roles/authority.d.ts +3 -1
  466. package/src/workload-roles/authority.js +48 -2
  467. package/src/workload-roles/aws-s3-state.js +27 -0
  468. package/src/workload-roles/boundary.d.ts +2 -1
  469. package/src/workload-roles/boundary.js +9 -2
  470. package/src/workload-roles/handler.js +52 -24
  471. package/src/workload-roles/index.d.ts +10 -17
  472. package/src/workload-roles/index.js +5 -18
  473. package/src/workload-roles/injection.js +1 -1
  474. package/src/workload-roles/provisioner.js +12 -4
  475. package/src/workload-roles/registration.d.ts +1 -0
  476. package/src/workload-roles/registration.js +5 -0
  477. package/src/workload-roles/stage-boundary.js +1 -1
  478. package/src/workload-roles/standard-slice.js +3 -3
  479. package/src/workspace-deployment/affected-lifecycle.d.ts +53 -0
  480. package/src/workspace-deployment/affected-lifecycle.js +84 -0
  481. package/src/workspace-deployment/identity.d.ts +3 -0
  482. package/src/workspace-deployment/identity.js +22 -0
  483. package/src/workspace-deployment/index.d.ts +4 -0
  484. package/src/workspace-deployment/index.js +8 -0
  485. package/src/workspace-deployment/migration-evidence.d.ts +29 -0
  486. package/src/workspace-deployment/migration-evidence.js +83 -0
  487. package/src/workspace-deployment/migration.d.ts +27 -0
  488. package/src/workspace-deployment/migration.js +109 -0
  489. package/src/workspace-deployment/ownership.d.ts +81 -0
  490. package/src/workspace-deployment/ownership.js +381 -0
  491. package/src/api-contract/baseline-update.js.map +0 -1
  492. package/src/api-contract/compatibility.js.map +0 -1
  493. package/src/api-contract/contract-graph.js.map +0 -1
  494. package/src/api-contract/evidence.js.map +0 -1
  495. package/src/api-contract/index.js.map +0 -1
  496. package/src/api-contract/model.fixtures.d.ts +0 -2
  497. package/src/api-contract/model.fixtures.js +0 -81
  498. package/src/api-contract/model.fixtures.js.map +0 -1
  499. package/src/api-contract/model.js.map +0 -1
  500. package/src/api-contract/rollout.js.map +0 -1
  501. package/src/authorization/compatibility.js.map +0 -1
  502. package/src/authorization/index.js.map +0 -1
  503. package/src/blueprints/execution.js.map +0 -1
  504. package/src/blueprints/external-sandbox.js.map +0 -1
  505. package/src/blueprints/index.js.map +0 -1
  506. package/src/blueprints/inputs.js.map +0 -1
  507. package/src/blueprints/manifest.js.map +0 -1
  508. package/src/blueprints/resolver.js.map +0 -1
  509. package/src/blueprints/transitions.js.map +0 -1
  510. package/src/cli/agent-command.js.map +0 -1
  511. package/src/cli/agent-runtime.js.map +0 -1
  512. package/src/cli/blueprint-authority.js.map +0 -1
  513. package/src/cli/blueprint-command.js.map +0 -1
  514. package/src/cli/bootstrap.js.map +0 -1
  515. package/src/cli/dev-command.js.map +0 -1
  516. package/src/cli/main.js.map +0 -1
  517. package/src/cli/output.js.map +0 -1
  518. package/src/cli/personal-secret-runtime.js.map +0 -1
  519. package/src/cli/secret-terminal.js.map +0 -1
  520. package/src/container-images.js.map +0 -1
  521. package/src/data-lifecycle/index.js.map +0 -1
  522. package/src/data-lifecycle/model.fixtures.d.ts +0 -2
  523. package/src/data-lifecycle/model.fixtures.js +0 -244
  524. package/src/data-lifecycle/model.fixtures.js.map +0 -1
  525. package/src/data-lifecycle/model.js.map +0 -1
  526. package/src/data-lifecycle/sensitive-artifacts.js.map +0 -1
  527. package/src/data-lifecycle/validation.js.map +0 -1
  528. package/src/database-retirement/contract.js.map +0 -1
  529. package/src/database-retirement/index.js.map +0 -1
  530. package/src/deterministic-order.js.map +0 -1
  531. package/src/developer-agent/context.js.map +0 -1
  532. package/src/developer-agent/generator-planning.js.map +0 -1
  533. package/src/developer-agent/generator-preview.js.map +0 -1
  534. package/src/developer-agent/git-inspection.js.map +0 -1
  535. package/src/developer-agent/handoff.js.map +0 -1
  536. package/src/developer-agent/index.js.map +0 -1
  537. package/src/developer-agent/model.js.map +0 -1
  538. package/src/developer-agent/operation-registry.js.map +0 -1
  539. package/src/developer-agent/ordering.js.map +0 -1
  540. package/src/developer-agent/planning.js.map +0 -1
  541. package/src/developer-agent/preview-changes.js.map +0 -1
  542. package/src/developer-agent/preview-source.js.map +0 -1
  543. package/src/developer-agent/validation.js.map +0 -1
  544. package/src/developer-agent/workspace-inspection.js.map +0 -1
  545. package/src/developer-agent/workspace-path.js.map +0 -1
  546. package/src/executors/blueprint-trust/blueprint-trust.js.map +0 -1
  547. package/src/executors/blueprint-verification/blueprint-verification.js.map +0 -1
  548. package/src/executors/deploy/deploy.js.map +0 -1
  549. package/src/executors/deployment-plan/deployment-plan.js.map +0 -1
  550. package/src/executors/dev/dev.js.map +0 -1
  551. package/src/executors/dev-doctor/dev-doctor.js.map +0 -1
  552. package/src/executors/dev-setup/dev-setup.js.map +0 -1
  553. package/src/executors/developer-context/developer-context.js.map +0 -1
  554. package/src/executors/fleet/fleet.js.map +0 -1
  555. package/src/executors/foundation-preflight/foundation-preflight.js.map +0 -1
  556. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +0 -1
  557. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +0 -1
  558. package/src/executors/github-bootstrap/github-bootstrap.js.map +0 -1
  559. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +0 -1
  560. package/src/executors/refresh/refresh.js.map +0 -1
  561. package/src/executors/remove/remove.js.map +0 -1
  562. package/src/executors/secret-guardrails/secret-guardrails.js.map +0 -1
  563. package/src/executors/secret-metadata/secret-metadata.js.map +0 -1
  564. package/src/executors/sst-lifecycle/logging-preflight.js.map +0 -1
  565. package/src/executors/sst-lifecycle/run-sst-command.js.map +0 -1
  566. package/src/executors/sst-lifecycle/secret-preflight.js.map +0 -1
  567. package/src/executors/unlock/unlock.js.map +0 -1
  568. package/src/executors/work-markers/work-markers.js.map +0 -1
  569. package/src/foundation/discovery.js.map +0 -1
  570. package/src/foundation/index.js.map +0 -1
  571. package/src/foundation/local-database-contract.js.map +0 -1
  572. package/src/foundation/logging-preflight.js.map +0 -1
  573. package/src/foundation/logging.js.map +0 -1
  574. package/src/foundation/preflight.js.map +0 -1
  575. package/src/foundation/provision-database-bindings.js.map +0 -1
  576. package/src/foundation/provision-logical-database.js.map +0 -1
  577. package/src/foundation/requirements.js.map +0 -1
  578. package/src/foundation/router-origin-proof.js.map +0 -1
  579. package/src/foundation/stages.js.map +0 -1
  580. package/src/frontend-security/index.js.map +0 -1
  581. package/src/frontend-security/security-headers.js.map +0 -1
  582. package/src/generators/feature-registry.js.map +0 -1
  583. package/src/generators/function/function.js.map +0 -1
  584. package/src/generators/job/job.js.map +0 -1
  585. package/src/generators/logging-registry.js.map +0 -1
  586. package/src/generators/post-generation-install.js.map +0 -1
  587. package/src/generators/preset/generator.js.map +0 -1
  588. package/src/generators/preset/tool-versions.js.map +0 -1
  589. package/src/generators/preset/workspace-files-developer-agent.js.map +0 -1
  590. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +0 -1
  591. package/src/generators/preset/workspace-files-performance-cost.js.map +0 -1
  592. package/src/generators/preset/workspace-files-performance-load.js.map +0 -1
  593. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +0 -1
  594. package/src/generators/preset/workspace-files.js.map +0 -1
  595. package/src/generators/repository-policy/repository-policy.js.map +0 -1
  596. package/src/generators/service/service.js.map +0 -1
  597. package/src/generators/slice/built-in-plan-api-contract-files.js.map +0 -1
  598. package/src/generators/slice/built-in-plan-api-files.js.map +0 -1
  599. package/src/generators/slice/built-in-plan-async-work-files.js.map +0 -1
  600. package/src/generators/slice/built-in-plan-authorization-files.js.map +0 -1
  601. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +0 -1
  602. package/src/generators/slice/built-in-plan-data-deletion-files.js.map +0 -1
  603. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +0 -1
  604. package/src/generators/slice/built-in-plan-data-files.js.map +0 -1
  605. package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +0 -1
  606. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +0 -1
  607. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +0 -1
  608. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +0 -1
  609. package/src/generators/slice/built-in-plan-data-rights-files.js.map +0 -1
  610. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +0 -1
  611. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +0 -1
  612. package/src/generators/slice/built-in-plan-foundation-files.js.map +0 -1
  613. package/src/generators/slice/built-in-plan-frontend-files.js.map +0 -1
  614. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +0 -1
  615. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +0 -1
  616. package/src/generators/slice/built-in-plan-metadata-files.js.map +0 -1
  617. package/src/generators/slice/built-in-plan-operations-files.js.map +0 -1
  618. package/src/generators/slice/built-in-plan-performance-files.js.map +0 -1
  619. package/src/generators/slice/built-in-plan-project-files.js.map +0 -1
  620. package/src/generators/slice/built-in-plan-release-files.js.map +0 -1
  621. package/src/generators/slice/built-in-plan-reliability-files.js.map +0 -1
  622. package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +0 -1
  623. package/src/generators/slice/built-in-plan-shared.js.map +0 -1
  624. package/src/generators/slice/built-in-plan-testing-files.js.map +0 -1
  625. package/src/generators/slice/built-in-plan-verification-files.js.map +0 -1
  626. package/src/generators/slice/built-in-plan-web-files.js.map +0 -1
  627. package/src/generators/slice/built-in-plan-workload-role-files.js.map +0 -1
  628. package/src/generators/slice/built-in-plan.js.map +0 -1
  629. package/src/generators/slice/slice.js.map +0 -1
  630. package/src/generators/upgrade/upgrade.js.map +0 -1
  631. package/src/generators/workload/frozen-container.js.map +0 -1
  632. package/src/generators/workload/performance-registration.js.map +0 -1
  633. package/src/generators/workload/reliability-registration.js.map +0 -1
  634. package/src/generators/workload/service-performance-files.js.map +0 -1
  635. package/src/generators/workload/workload.js.map +0 -1
  636. package/src/git-policy/action-pins.js.map +0 -1
  637. package/src/git-policy/github-bootstrap.js.map +0 -1
  638. package/src/git-policy/index.js.map +0 -1
  639. package/src/git-policy/routing.js.map +0 -1
  640. package/src/index.js.map +0 -1
  641. package/src/infrastructure-change/convergence.js.map +0 -1
  642. package/src/infrastructure-change/drift.js.map +0 -1
  643. package/src/infrastructure-change/index.js.map +0 -1
  644. package/src/infrastructure-change/model.js.map +0 -1
  645. package/src/infrastructure-change/normalize.js.map +0 -1
  646. package/src/infrastructure-change/plan.js.map +0 -1
  647. package/src/infrastructure-change/risk.js.map +0 -1
  648. package/src/infrastructure-change/summary.js.map +0 -1
  649. package/src/local-dev/context-discovery.js.map +0 -1
  650. package/src/local-dev/contract-validation.js.map +0 -1
  651. package/src/local-dev/contracts.js.map +0 -1
  652. package/src/local-dev/control-contract.js.map +0 -1
  653. package/src/local-dev/dev-command-core.js.map +0 -1
  654. package/src/local-dev/effects.js.map +0 -1
  655. package/src/local-dev/environment-inspector.js.map +0 -1
  656. package/src/local-dev/environment-state.js.map +0 -1
  657. package/src/local-dev/errors.js.map +0 -1
  658. package/src/local-dev/fleet-client.js.map +0 -1
  659. package/src/local-dev/fleet-configuration.js.map +0 -1
  660. package/src/local-dev/fleet-inventory.js.map +0 -1
  661. package/src/local-dev/fleet-ipc.js.map +0 -1
  662. package/src/local-dev/fleet-launcher.js.map +0 -1
  663. package/src/local-dev/fleet-lock.js.map +0 -1
  664. package/src/local-dev/fleet-logs.js.map +0 -1
  665. package/src/local-dev/fleet-process.js.map +0 -1
  666. package/src/local-dev/fleet-runtime.js.map +0 -1
  667. package/src/local-dev/fleet-session.js.map +0 -1
  668. package/src/local-dev/fleet-slice-runner-daemon.js.map +0 -1
  669. package/src/local-dev/fleet-startup.js.map +0 -1
  670. package/src/local-dev/fleet-state.js.map +0 -1
  671. package/src/local-dev/fleet-supervisor-daemon.js.map +0 -1
  672. package/src/local-dev/fleet-supervisor.js.map +0 -1
  673. package/src/local-dev/gateway-daemon.js.map +0 -1
  674. package/src/local-dev/gateway.js.map +0 -1
  675. package/src/local-dev/identity.js.map +0 -1
  676. package/src/local-dev/index.js.map +0 -1
  677. package/src/local-dev/local-context.js.map +0 -1
  678. package/src/local-dev/nx-workspace.js.map +0 -1
  679. package/src/local-dev/personal-secret-ledger.js.map +0 -1
  680. package/src/local-dev/personal-stage.js.map +0 -1
  681. package/src/local-dev/portless.js.map +0 -1
  682. package/src/local-dev/ports.js.map +0 -1
  683. package/src/local-dev/private-state.js.map +0 -1
  684. package/src/local-dev/process-identity.js.map +0 -1
  685. package/src/local-dev/proxy.js.map +0 -1
  686. package/src/local-dev/runtime-paths.js.map +0 -1
  687. package/src/local-dev/secret-slice-claim.js.map +0 -1
  688. package/src/local-dev/slice-claim.js.map +0 -1
  689. package/src/local-dev/slice-runner.js.map +0 -1
  690. package/src/local-dev/tls.js.map +0 -1
  691. package/src/ownership/composition.js.map +0 -1
  692. package/src/ownership/foundation-record.js.map +0 -1
  693. package/src/ownership/hash.js.map +0 -1
  694. package/src/ownership/index.js.map +0 -1
  695. package/src/ownership/json-ownership.js.map +0 -1
  696. package/src/ownership/record.js.map +0 -1
  697. package/src/ownership/workspace-record.js.map +0 -1
  698. package/src/performance/cost-collection.js.map +0 -1
  699. package/src/performance/cost-controls.js.map +0 -1
  700. package/src/performance/evidence.js.map +0 -1
  701. package/src/performance/index.js.map +0 -1
  702. package/src/performance/load-safety.js.map +0 -1
  703. package/src/performance/model.js.map +0 -1
  704. package/src/performance/pr-artifact-budget.js.map +0 -1
  705. package/src/performance/runner.js.map +0 -1
  706. package/src/performance/scenario-endpoint.js.map +0 -1
  707. package/src/performance/scenario.js.map +0 -1
  708. package/src/performance/test-fixtures.d.ts +0 -7
  709. package/src/performance/test-fixtures.js +0 -169
  710. package/src/performance/test-fixtures.js.map +0 -1
  711. package/src/performance/unit-cost.js.map +0 -1
  712. package/src/release/index.js.map +0 -1
  713. package/src/release/lifecycle.js.map +0 -1
  714. package/src/release/manifest.js.map +0 -1
  715. package/src/release/rollout.js.map +0 -1
  716. package/src/release/source-authority.js.map +0 -1
  717. package/src/repository-policy/aurora-preflight.js.map +0 -1
  718. package/src/repository-policy/deployment-plan.js.map +0 -1
  719. package/src/repository-policy/foundation-profile.js.map +0 -1
  720. package/src/repository-policy/index.js.map +0 -1
  721. package/src/repository-policy/policy.js.map +0 -1
  722. package/src/secrets/adapters.js.map +0 -1
  723. package/src/secrets/aws-control-plane.js.map +0 -1
  724. package/src/secrets/declaration-verification.js.map +0 -1
  725. package/src/secrets/guardrails.js.map +0 -1
  726. package/src/secrets/index.js.map +0 -1
  727. package/src/secrets/metadata.js.map +0 -1
  728. package/src/secrets/model.js.map +0 -1
  729. package/src/secrets/operator.js.map +0 -1
  730. package/src/secrets/permissions.js.map +0 -1
  731. package/src/secrets/personal-command.js.map +0 -1
  732. package/src/secrets/personal-ledger.js.map +0 -1
  733. package/src/secrets/registry.js.map +0 -1
  734. package/src/secrets/verification.js.map +0 -1
  735. package/src/secrets/workload-access.js.map +0 -1
  736. package/src/supply-chain/action-pins.js.map +0 -1
  737. package/src/supply-chain/blueprint-trust-git.js.map +0 -1
  738. package/src/supply-chain/blueprint-trust-process.js.map +0 -1
  739. package/src/supply-chain/blueprint-trust.js.map +0 -1
  740. package/src/supply-chain/blueprint-verification-authority.js.map +0 -1
  741. package/src/supply-chain/blueprint-verification-execution.js.map +0 -1
  742. package/src/supply-chain/build-output.js.map +0 -1
  743. package/src/supply-chain/common.js.map +0 -1
  744. package/src/supply-chain/container-artifact-contract.js.map +0 -1
  745. package/src/supply-chain/container-release.js.map +0 -1
  746. package/src/supply-chain/ecr-applicability.js.map +0 -1
  747. package/src/supply-chain/ecr-scanning.js.map +0 -1
  748. package/src/supply-chain/ecs-deployed-image.js.map +0 -1
  749. package/src/supply-chain/errors.js.map +0 -1
  750. package/src/supply-chain/generated-blueprint-trust-command.js.map +0 -1
  751. package/src/supply-chain/generated-command.js.map +0 -1
  752. package/src/supply-chain/generated-container-release-command.js.map +0 -1
  753. package/src/supply-chain/generated-ecr-collector-command.js.map +0 -1
  754. package/src/supply-chain/generated-files.js.map +0 -1
  755. package/src/supply-chain/generated-scanner-command.js.map +0 -1
  756. package/src/supply-chain/index.js.map +0 -1
  757. package/src/supply-chain/inventory.js.map +0 -1
  758. package/src/supply-chain/license-expression.js.map +0 -1
  759. package/src/supply-chain/pnpm-toolchain-authority.js.map +0 -1
  760. package/src/supply-chain/policy.js.map +0 -1
  761. package/src/supply-chain/publication.js.map +0 -1
  762. package/src/supply-chain/sbom.js.map +0 -1
  763. package/src/supply-chain/scanner.js.map +0 -1
  764. package/src/supply-chain/vendored-source.js.map +0 -1
  765. package/src/testing-evidence/fixture-scope.js.map +0 -1
  766. package/src/testing-evidence/index.js.map +0 -1
  767. package/src/testing-evidence/quarantine.js.map +0 -1
  768. package/src/testing-evidence/result.js.map +0 -1
  769. package/src/testing-evidence/runner-adapter.js.map +0 -1
  770. package/src/testing-evidence/sensitive-artifacts.js.map +0 -1
  771. package/src/validation.js.map +0 -1
  772. package/src/work-markers/index.js.map +0 -1
  773. package/src/work-markers/work-markers.js.map +0 -1
  774. package/src/workload-roles/account-baseline.js.map +0 -1
  775. package/src/workload-roles/authority.js.map +0 -1
  776. package/src/workload-roles/aws-adapter.js.map +0 -1
  777. package/src/workload-roles/aws-internal-handler.js.map +0 -1
  778. package/src/workload-roles/aws-s3-state.js.map +0 -1
  779. package/src/workload-roles/aws-sdk-control-plane.js.map +0 -1
  780. package/src/workload-roles/boundary.js.map +0 -1
  781. package/src/workload-roles/convergence.js.map +0 -1
  782. package/src/workload-roles/effective-policy.js.map +0 -1
  783. package/src/workload-roles/handler.js.map +0 -1
  784. package/src/workload-roles/history.js.map +0 -1
  785. package/src/workload-roles/index.js.map +0 -1
  786. package/src/workload-roles/injection.js.map +0 -1
  787. package/src/workload-roles/manifest.js.map +0 -1
  788. package/src/workload-roles/provisioner.js.map +0 -1
  789. package/src/workload-roles/registration.js.map +0 -1
  790. package/src/workload-roles/stage-boundary.js.map +0 -1
  791. package/src/workload-roles/standard-slice.js.map +0 -1
@@ -15,7 +15,6 @@ export declare const SYFT_COLLECTOR_RELEASES: Readonly<Record<string, SyftCollec
15
15
  */
16
16
  export declare function renderEcrInspectorCollectorCommand(options?: {
17
17
  moduleSpecifier?: string;
18
- releaseModuleSpecifier?: string;
19
18
  releases?: Readonly<Record<string, SyftCollectorRelease>>;
20
19
  syftVersion?: string;
21
20
  }): string;
@@ -6,6 +6,16 @@ const common_js_1 = require("./common.js");
6
6
  const safe_reference_1 = require("@empire-builder-kit/runtime/safe-reference");
7
7
  exports.SYFT_VERSION = '1.50.0';
8
8
  exports.SYFT_COLLECTOR_RELEASES = Object.freeze({
9
+ 'darwin-arm64': {
10
+ archiveFormat: 'tar-gzip',
11
+ sha256: 'e32fdb9d47823fa633748a1efca2528fd77c37469ea93c9e40ab835da44e4cce',
12
+ source: 'https://github.com/anchore/syft/releases/download/v1.50.0/syft_1.50.0_darwin_arm64.tar.gz',
13
+ },
14
+ 'darwin-x64': {
15
+ archiveFormat: 'tar-gzip',
16
+ sha256: 'd11a8c7bc27114853bd7c1e1b2f3be3ddda3a1de17aee585329f04c369341c75',
17
+ source: 'https://github.com/anchore/syft/releases/download/v1.50.0/syft_1.50.0_darwin_amd64.tar.gz',
18
+ },
9
19
  'linux-arm64': {
10
20
  archiveFormat: 'tar-gzip',
11
21
  sha256: '887c57cbcc2d0e8c5c110a4571a3fc7150058b24d74f993ee4663516e5c8ce86',
@@ -37,11 +47,9 @@ function validatedReleases(releases) {
37
47
  */
38
48
  function renderEcrInspectorCollectorCommand(options = {}) {
39
49
  const moduleSpecifier = options.moduleSpecifier ?? '@empire-builder-kit/nx/supply-chain';
40
- const releaseModuleSpecifier = options.releaseModuleSpecifier ?? '@empire-builder-kit/nx/release';
41
50
  const releases = validatedReleases(options.releases ?? exports.SYFT_COLLECTOR_RELEASES);
42
51
  const syftVersion = options.syftVersion ?? exports.SYFT_VERSION;
43
52
  if (!/^(?:@empire-builder-kit\/nx\/supply-chain|file:\/\/\/[^'"\n]+)$/.test(moduleSpecifier) ||
44
- !/^(?:@empire-builder-kit\/nx\/release|file:\/\/\/[^'"\n]+)$/.test(releaseModuleSpecifier) ||
45
53
  !/^\d+\.\d+\.\d+$/.test(syftVersion)) {
46
54
  throw new Error('The generated ECR collector configuration is invalid.');
47
55
  }
@@ -70,7 +78,6 @@ import {
70
78
  verifyEcrInspectorScanEvidence,
71
79
  verifyEcsDeployedImageBinding,
72
80
  } from '${moduleSpecifier}';
73
- import { validateReleaseManifest } from '${releaseModuleSpecifier}';
74
81
 
75
82
  const SYFT_VERSION = ${JSON.stringify(syftVersion)};
76
83
  const SYFT_RELEASES = Object.freeze(${JSON.stringify(releases)});
@@ -272,15 +279,21 @@ if (
272
279
  'accountId',
273
280
  'artifactId',
274
281
  'deployment',
282
+ 'deployRunAttempt',
283
+ 'deployRunId',
284
+ 'deploymentReceiptPath',
275
285
  'outputDirectory',
286
+ 'postdeployBindingPath',
276
287
  'region',
277
- 'releaseManifestPath',
288
+ 'releaseCandidatePath',
278
289
  'schemaVersion',
279
290
  'stage',
280
291
  'taskDefinitionFamily',
281
292
  ].includes(key),
282
293
  ) ||
283
294
  !/^\\d{12}$/.test(input.accountId ?? '') ||
295
+ !/^[1-9]\\d*$/.test(input.deployRunAttempt ?? '') ||
296
+ !/^[1-9]\\d*$/.test(input.deployRunId ?? '') ||
284
297
  !/^[a-z]{2}(?:-gov)?-[a-z]+(?:-[a-z]+)*-\\d$/.test(input.region ?? '') ||
285
298
  !['production', 'staging'].includes(input.stage) ||
286
299
  typeof input.artifactId !== 'string' ||
@@ -331,9 +344,17 @@ if (
331
344
  'ECR collector deployment must identify one exact ECS service or task.',
332
345
  );
333
346
  }
334
- const manifestPath = safePath(
335
- input.releaseManifestPath,
336
- 'releaseManifestPath',
347
+ const candidatePath = safePath(
348
+ input.releaseCandidatePath,
349
+ 'releaseCandidatePath',
350
+ );
351
+ const deploymentReceiptPath = safePath(
352
+ input.deploymentReceiptPath,
353
+ 'deploymentReceiptPath',
354
+ );
355
+ const postdeployBindingPath = safePath(
356
+ input.postdeployBindingPath,
357
+ 'postdeployBindingPath',
337
358
  );
338
359
  const outputDirectory = safePath(
339
360
  input.outputDirectory ??
@@ -341,43 +362,125 @@ const outputDirectory = safePath(
341
362
  'outputDirectory',
342
363
  { directory: true, output: true },
343
364
  );
344
- const manifestBytes = readBoundedFile(
345
- manifestPath,
365
+ const candidateBytes = readBoundedFile(
366
+ candidatePath,
346
367
  MAX_INPUT_BYTES,
347
- 'Release manifest exceeds its bounded input size.',
368
+ 'Release candidate exceeds its bounded input size.',
348
369
  );
349
- const parsedManifest = requireRecord(
350
- JSON.parse(manifestBytes.toString('utf8')),
351
- 'Release manifest must be an object.',
370
+ const candidate = requireRecord(
371
+ JSON.parse(candidateBytes.toString('utf8')),
372
+ 'Release candidate must be an object.',
352
373
  );
353
- const manifest = validateReleaseManifest(parsedManifest, {
354
- materialDigest: parsedManifest.materialDigest,
355
- sourceCommit: parsedManifest.source?.commit,
356
- });
374
+ const deploymentReceipt = requireRecord(
375
+ readJson(deploymentReceiptPath, 'Deployment receipt is invalid.'),
376
+ 'Deployment receipt must be an object.',
377
+ );
378
+ const postdeployBinding = requireRecord(
379
+ readJson(postdeployBindingPath, 'Postdeploy binding is invalid.'),
380
+ 'Postdeploy binding must be an object.',
381
+ );
382
+ const postdeployBindingKeys = [
383
+ 'accountId',
384
+ 'deploymentCommit',
385
+ 'kind',
386
+ 'materialDigest',
387
+ 'profile',
388
+ 'region',
389
+ 'releaseCandidateArtifactDigest',
390
+ 'releaseCandidateArtifactId',
391
+ 'releaseCandidateProducerRunAttempt',
392
+ 'releaseCandidateProducerRunId',
393
+ 'releaseSourceCommit',
394
+ 'runAttempt',
395
+ 'runId',
396
+ 'schemaVersion',
397
+ 'stage',
398
+ ].sort();
357
399
  const sliceRoot = realpathSync(process.cwd());
358
400
  const slice = basename(sliceRoot);
359
401
  if (
360
- manifest.kind !== 'ebk-release-manifest' ||
361
- manifest.schemaVersion !== 1 ||
362
- typeof manifest.releaseId !== 'string' ||
363
- !REFERENCE.test(manifest.releaseId) ||
364
- typeof manifest.materialDigest !== 'string' ||
365
- !SHA256.test(manifest.materialDigest) ||
366
- !manifest.source ||
367
- !COMMIT.test(manifest.source.commit ?? '') ||
368
- !Array.isArray(manifest.projects) ||
369
- !manifest.projects.includes(slice) ||
370
402
  relative(repositoryRoot, sliceRoot).split(sep).join('/') !==
371
- 'packages/' + slice
403
+ 'packages/' + slice ||
404
+ candidate.kind !== 'ebk-release-candidate' ||
405
+ candidate.schemaVersion !== 1 ||
406
+ candidate.slice !== slice ||
407
+ !COMMIT.test(candidate.sourceCommit ?? '') ||
408
+ !SHA256.test(candidate.artifactEvidenceDigest ?? '') ||
409
+ !SHA256.test(candidate.inventoryDigest ?? '') ||
410
+ !candidate.provenance ||
411
+ candidate.provenance.kind !== 'ebk-release-candidate-provenance' ||
412
+ candidate.provenance.schemaVersion !== 1 ||
413
+ candidate.provenance.sourceCommit !== candidate.sourceCommit ||
414
+ !/^[1-9]\\d*$/.test(candidate.provenance.runAttempt ?? '') ||
415
+ !/^[1-9]\\d*$/.test(candidate.provenance.runId ?? '') ||
416
+ typeof candidate.provenance.workflow !== 'string' ||
417
+ candidate.provenance.workflow.length === 0 ||
418
+ deploymentReceipt.kind !== 'ebk-deployment-receipt' ||
419
+ deploymentReceipt.schemaVersion !== 1 ||
420
+ deploymentReceipt.outcome !== 'succeeded' ||
421
+ deploymentReceipt.authority !== 'github' ||
422
+ deploymentReceipt.account !== input.accountId ||
423
+ deploymentReceipt.region !== input.region ||
424
+ deploymentReceipt.stage !== input.stage ||
425
+ !['starter', 'production-isolated', 'fully-isolated'].includes(
426
+ deploymentReceipt.profile,
427
+ ) ||
428
+ deploymentReceipt.source?.clean !== true ||
429
+ !COMMIT.test(deploymentReceipt.source?.commit ?? '') ||
430
+ !Array.isArray(deploymentReceipt.children) ||
431
+ deploymentReceipt.children.length === 0 ||
432
+ deploymentReceipt.children.some((child) => child?.outcome !== 'succeeded') ||
433
+ postdeployBinding.kind !== 'ebk-postdeploy-supply-chain-binding' ||
434
+ postdeployBinding.schemaVersion !== 1 ||
435
+ postdeployBinding.accountId !== input.accountId ||
436
+ postdeployBinding.region !== input.region ||
437
+ postdeployBinding.stage !== input.stage ||
438
+ postdeployBinding.profile !== deploymentReceipt.profile ||
439
+ postdeployBinding.deploymentCommit !== deploymentReceipt.source.commit ||
440
+ postdeployBinding.releaseSourceCommit !== candidate.sourceCommit ||
441
+ postdeployBinding.releaseCandidateProducerRunAttempt !==
442
+ candidate.provenance.runAttempt ||
443
+ postdeployBinding.releaseCandidateProducerRunId !==
444
+ candidate.provenance.runId ||
445
+ JSON.stringify(Object.keys(postdeployBinding).sort()) !==
446
+ JSON.stringify(postdeployBindingKeys) ||
447
+ !/^sha256:[a-f0-9]{64}$/.test(
448
+ postdeployBinding.releaseCandidateArtifactDigest ?? '',
449
+ ) ||
450
+ !/^[1-9]\\d*$/.test(postdeployBinding.releaseCandidateArtifactId ?? '') ||
451
+ !/^[1-9]\\d*$/.test(
452
+ postdeployBinding.releaseCandidateProducerRunAttempt ?? '',
453
+ ) ||
454
+ !/^[1-9]\\d*$/.test(
455
+ postdeployBinding.releaseCandidateProducerRunId ?? '',
456
+ ) ||
457
+ !/^[1-9]\\d*$/.test(postdeployBinding.runAttempt ?? '') ||
458
+ !/^[1-9]\\d*$/.test(postdeployBinding.runId ?? '') ||
459
+ postdeployBinding.runAttempt !== input.deployRunAttempt ||
460
+ postdeployBinding.runId !== input.deployRunId ||
461
+ postdeployBinding.materialDigest !==
462
+ digestValue(
463
+ Object.fromEntries(
464
+ Object.entries(postdeployBinding).filter(
465
+ ([key]) => key !== 'materialDigest',
466
+ ),
467
+ ),
468
+ )
372
469
  ) {
373
- throw new Error('Release manifest is invalid for the current Slice.');
470
+ throw new Error(
471
+ 'Release candidate, deployment receipt, and postdeploy binding are not exact.',
472
+ );
374
473
  }
375
474
  if (
376
- relative(sliceRoot, manifestPath).split(sep).join('/') !==
377
- '.ebk/evidence/release-manifests/' + manifest.releaseId + '.json'
475
+ relative(repositoryRoot, candidatePath).split(sep).join('/') !==
476
+ '.ebk/evidence/ecr-original-release-candidate/packages/' + slice + '/candidate.json' ||
477
+ relative(repositoryRoot, deploymentReceiptPath).split(sep).join('/') !==
478
+ '.ebk/evidence/deployment/latest.json' ||
479
+ relative(repositoryRoot, postdeployBindingPath).split(sep).join('/') !==
480
+ '.ebk/evidence/deployment/postdeploy-supply-chain.json'
378
481
  ) {
379
482
  throw new Error(
380
- 'Release manifest must use its canonical immutable evidence path.',
483
+ 'Postdeploy evidence must use its canonical immutable paths.',
381
484
  );
382
485
  }
383
486
  const controlsPath = realpathSync(
@@ -388,35 +491,34 @@ const releaseControls = requireRecord(
388
491
  'Release controls must be an object.',
389
492
  );
390
493
  const artifactEvidencePath = realpathSync(
391
- join(
392
- sliceRoot,
393
- '.ebk/evidence/release-artifacts',
394
- manifest.source.commit + '.json',
395
- ),
494
+ join(dirname(candidatePath), 'release-artifacts.json'),
495
+ );
496
+ const artifactEvidenceBytes = readBoundedFile(
497
+ artifactEvidencePath,
498
+ MAX_INPUT_BYTES,
499
+ 'Release artifact evidence exceeds its bounded input size.',
396
500
  );
397
501
  const artifacts = requireRecord(
398
- readJson(
399
- artifactEvidencePath,
400
- 'Release artifact evidence is invalid.',
401
- ),
502
+ JSON.parse(artifactEvidenceBytes.toString('utf8')),
402
503
  'Release artifact evidence must be an object.',
403
504
  );
404
505
  if (
506
+ candidate.artifactEvidenceDigest !== digestBytes(artifactEvidenceBytes) ||
405
507
  artifacts.kind !== 'ebk-release-artifact-evidence' ||
406
508
  artifacts.schemaVersion !== 1 ||
407
- artifacts.sourceCommit !== manifest.source.commit ||
509
+ artifacts.sourceCommit !== candidate.sourceCommit ||
408
510
  !artifacts.provenance ||
409
511
  !/^[1-9]\\d*$/.test(artifacts.provenance.runAttempt ?? '') ||
410
512
  !/^[1-9]\\d*$/.test(artifacts.provenance.runId ?? '') ||
411
513
  typeof artifacts.provenance.workflow !== 'string' ||
412
- artifacts.provenance.runId !== manifest.build?.runId ||
413
- artifacts.provenance.workflow !== manifest.build?.workflow ||
514
+ artifacts.provenance.runId !== candidate.provenance.runId ||
515
+ artifacts.provenance.runAttempt !== candidate.provenance.runAttempt ||
516
+ artifacts.provenance.workflow !== candidate.provenance.workflow ||
414
517
  !Array.isArray(artifacts.artifacts) ||
415
- !Array.isArray(manifest.artifacts) ||
416
518
  !Array.isArray(releaseControls.artifactInventory)
417
519
  ) {
418
520
  throw new Error(
419
- 'Release manifest and candidate artifact evidence are not exactly bound.',
521
+ 'Release candidate and artifact evidence are not exactly bound.',
420
522
  );
421
523
  }
422
524
  const inventoryDigest = digestBytes(
@@ -425,48 +527,34 @@ const inventoryDigest = digestBytes(
425
527
  const capturedByName = new Map(
426
528
  artifacts.artifacts.map((artifact) => [artifact?.name, artifact]),
427
529
  );
428
- const manifestByName = new Map(
429
- manifest.artifacts.map((artifact) => [artifact?.name, artifact]),
430
- );
431
530
  if (
531
+ candidate.inventoryDigest !== inventoryDigest ||
432
532
  artifacts.inventoryDigest !== inventoryDigest ||
433
533
  artifacts.artifacts.length !== releaseControls.artifactInventory.length ||
434
- manifest.artifacts.length !== releaseControls.artifactInventory.length ||
435
534
  capturedByName.size !== artifacts.artifacts.length ||
436
- manifestByName.size !== manifest.artifacts.length ||
437
535
  releaseControls.artifactInventory.some((registered) => {
438
536
  const captured = capturedByName.get(registered.name);
439
- const retained = manifestByName.get(registered.name);
440
537
  const capturedDigest =
441
538
  captured?.classification === 'stage-neutral'
442
539
  ? captured.digest
443
540
  : captured?.candidateDigest;
444
- const retainedDigest =
445
- retained?.classification === 'stage-neutral'
446
- ? retained.digest
447
- : retained?.candidateDigest;
448
541
  return (
449
542
  !captured ||
450
- !retained ||
451
543
  captured.name !== registered.name ||
452
544
  captured.workload !== registered.workload ||
453
545
  captured.classification !== registered.classification ||
454
- retained.workload !== registered.workload ||
455
- retained.classification !== registered.classification ||
456
- capturedDigest !== retainedDigest ||
457
546
  !SHA256.test(capturedDigest ?? '') ||
458
547
  (registered.classification === 'stage-specific' &&
459
548
  (captured.reason !== registered.reason ||
460
- captured.providerEvidence !== registered.providerEvidence ||
461
- retained.reason !== registered.reason ||
462
- retained.providerEvidence !== registered.providerEvidence))
549
+ captured.providerEvidence !== registered.providerEvidence))
463
550
  );
464
551
  })
465
552
  ) {
466
553
  throw new Error(
467
- 'Release controls, candidate evidence, and manifest artifacts do not reconcile exactly.',
554
+ 'Release controls and candidate evidence do not reconcile exactly.',
468
555
  );
469
556
  }
557
+ const releaseCandidateDigest = digestBytes(candidateBytes);
470
558
  const applicability = assessEcrScanApplicability(
471
559
  releaseControls,
472
560
  slice,
@@ -504,13 +592,13 @@ if (
504
592
  'OCI artifacts must use the exact <slice>.<kind>.<workload> identity.',
505
593
  );
506
594
  }
507
- const candidate = capturedByName.get(declared.name);
595
+ const capturedArtifact = capturedByName.get(declared.name);
508
596
  const candidateArtifactDigest =
509
- candidate?.classification === 'stage-neutral'
510
- ? candidate.digest
511
- : candidate?.candidateDigest;
597
+ capturedArtifact?.classification === 'stage-neutral'
598
+ ? capturedArtifact.digest
599
+ : capturedArtifact?.candidateDigest;
512
600
  if (
513
- !candidate ||
601
+ !capturedArtifact ||
514
602
  !SHA256.test(candidateArtifactDigest ?? '') ||
515
603
  artifacts.artifacts.filter(({ name }) => name === declared.name).length !== 1
516
604
  ) {
@@ -547,7 +635,7 @@ const containerBinding = validateContainerReleaseBinding(
547
635
  candidateDigests: containerCandidateDigests,
548
636
  region: input.region,
549
637
  slice,
550
- sourceCommit: manifest.source.commit,
638
+ sourceCommit: candidate.sourceCommit,
551
639
  stage: input.stage,
552
640
  },
553
641
  );
@@ -555,7 +643,6 @@ const containerArtifact = resolveContainerReleaseArtifact(containerBinding, {
555
643
  artifactId: input.artifactId,
556
644
  candidateArtifactDigest,
557
645
  });
558
- const releaseManifestDigest = digestBytes(manifestBytes);
559
646
  const expected = {
560
647
  accountId: input.accountId,
561
648
  artifactId: input.artifactId,
@@ -564,11 +651,16 @@ const expected = {
564
651
  containerImageDigest: containerArtifact.imageDigest,
565
652
  imageReference: containerArtifact.imageReference,
566
653
  region: input.region,
567
- releaseId: manifest.releaseId,
568
- releaseManifestDigest,
569
- releaseManifestMaterialDigest: manifest.materialDigest,
654
+ releaseCandidateArtifactDigest:
655
+ postdeployBinding.releaseCandidateArtifactDigest,
656
+ releaseCandidateArtifactId: postdeployBinding.releaseCandidateArtifactId,
657
+ releaseCandidateDigest,
658
+ releaseCandidateProducerRunAttempt:
659
+ postdeployBinding.releaseCandidateProducerRunAttempt,
660
+ releaseCandidateProducerRunId:
661
+ postdeployBinding.releaseCandidateProducerRunId,
570
662
  repositoryName: containerArtifact.repositoryName,
571
- sourceCommit: manifest.source.commit,
663
+ sourceCommit: candidate.sourceCommit,
572
664
  stage: input.stage,
573
665
  taskDefinitionFamily: input.taskDefinitionFamily,
574
666
  deployment: input.deployment,
@@ -934,7 +1026,7 @@ try {
934
1026
  }
935
1027
  if (
936
1028
  sbom?.bomFormat !== 'CycloneDX' ||
937
- sbom.specVersion !== '1.6' ||
1029
+ sbom.specVersion !== '1.7' ||
938
1030
  sbom.version !== 1 ||
939
1031
  typeof sbom.serialNumber !== 'string' ||
940
1032
  !/^urn:uuid:[a-fA-F0-9-]{36}$/.test(sbom.serialNumber) ||
@@ -945,7 +1037,7 @@ try {
945
1037
  typeof sbom.metadata !== 'object'
946
1038
  ) {
947
1039
  throw new Error(
948
- 'Syft output is not complete CycloneDX 1.6 evidence for ' +
1040
+ 'Syft output is not complete CycloneDX 1.7 evidence for ' +
949
1041
  platform.platform + '.',
950
1042
  );
951
1043
  }
@@ -1082,7 +1174,8 @@ try {
1082
1174
  }
1083
1175
 
1084
1176
  const prefix =
1085
- manifest.releaseId + '-' + declared.name.replaceAll('/', '-');
1177
+ 'release-candidate-' + releaseCandidateDigest.slice(0, 32) + '-' +
1178
+ declared.name.replaceAll('/', '-');
1086
1179
  const sbom = createCycloneDxPlatformSbomUnion({
1087
1180
  artifact: {
1088
1181
  'bom-ref': deploymentBinding.imageReference,
@@ -1140,9 +1233,15 @@ try {
1140
1233
  { name: 'ebk:image:digest', value: imageDigest },
1141
1234
  { name: 'ebk:image:reference', value: deploymentBinding.imageReference },
1142
1235
  { name: 'ebk:inventory:scope', value: 'final-oci-contents' },
1143
- { name: 'ebk:release:id', value: manifest.releaseId },
1144
- { name: 'ebk:release:manifest-digest', value: releaseManifestDigest },
1145
- { name: 'ebk:source:commit', value: manifest.source.commit },
1236
+ {
1237
+ name: 'ebk:release-candidate:artifact-digest',
1238
+ value: postdeployBinding.releaseCandidateArtifactDigest,
1239
+ },
1240
+ {
1241
+ name: 'ebk:release-candidate:sha256',
1242
+ value: releaseCandidateDigest,
1243
+ },
1244
+ { name: 'ebk:source:commit', value: candidate.sourceCommit },
1146
1245
  ],
1147
1246
  });
1148
1247
  const serializedSbom = JSON.stringify(sbom, null, 2) + '\\n';
@@ -1156,8 +1255,8 @@ try {
1156
1255
  accountId: input.accountId,
1157
1256
  artifactId: declared.name,
1158
1257
  region: input.region,
1159
- releaseId: manifest.releaseId,
1160
- sourceCommit: manifest.source.commit,
1258
+ releaseCandidateDigest,
1259
+ sourceCommit: candidate.sourceCommit,
1161
1260
  stage: input.stage,
1162
1261
  },
1163
1262
  };
@@ -1172,12 +1271,17 @@ try {
1172
1271
  collectorTranscriptDigest: transcript.materialDigest,
1173
1272
  deploymentBindingDigest: deploymentBinding.materialDigest,
1174
1273
  region: input.region,
1175
- releaseId: manifest.releaseId,
1176
- releaseManifestDigest,
1177
- releaseManifestMaterialDigest: manifest.materialDigest,
1274
+ releaseCandidateArtifactDigest:
1275
+ postdeployBinding.releaseCandidateArtifactDigest,
1276
+ releaseCandidateArtifactId: postdeployBinding.releaseCandidateArtifactId,
1277
+ releaseCandidateDigest,
1278
+ releaseCandidateProducerRunAttempt:
1279
+ postdeployBinding.releaseCandidateProducerRunAttempt,
1280
+ releaseCandidateProducerRunId:
1281
+ postdeployBinding.releaseCandidateProducerRunId,
1178
1282
  repositoryName,
1179
1283
  sbomInventoryScope: 'final-oci-contents',
1180
- sourceCommit: manifest.source.commit,
1284
+ sourceCommit: candidate.sourceCommit,
1181
1285
  stage: input.stage,
1182
1286
  };
1183
1287
  const target = {
@@ -1275,11 +1379,14 @@ try {
1275
1379
  })),
1276
1380
  ),
1277
1381
  kind: 'ebk-production-release-component-impact',
1278
- release: {
1279
- id: manifest.releaseId,
1280
- manifestDigest: releaseManifestDigest,
1281
- manifestMaterialDigest: manifest.materialDigest,
1282
- sourceCommit: manifest.source.commit,
1382
+ releaseCandidate: {
1383
+ artifactDigest: postdeployBinding.releaseCandidateArtifactDigest,
1384
+ artifactId: postdeployBinding.releaseCandidateArtifactId,
1385
+ digest: releaseCandidateDigest,
1386
+ producerRunAttempt:
1387
+ postdeployBinding.releaseCandidateProducerRunAttempt,
1388
+ producerRunId: postdeployBinding.releaseCandidateProducerRunId,
1389
+ sourceCommit: candidate.sourceCommit,
1283
1390
  stage: input.stage,
1284
1391
  },
1285
1392
  sbom: {
@@ -1324,7 +1431,7 @@ try {
1324
1431
  deploymentBindingDigest: deploymentBinding.materialDigest,
1325
1432
  imageDigest,
1326
1433
  impactDigest: impact.materialDigest,
1327
- releaseId: manifest.releaseId,
1434
+ releaseCandidateDigest,
1328
1435
  platformScanEvidenceDigests: scanEvidence.platformScans,
1329
1436
  scanEvidenceDigest: scanEvidence.materialDigest,
1330
1437
  sbomDigest,
@@ -78,17 +78,16 @@ function frameworkActionPinInventory() {
78
78
  key,
79
79
  {
80
80
  ...pin,
81
- scope: key === 'nxSetShas'
82
- ? 'framework'
83
- : [
84
- 'checkout',
85
- 'downloadArtifact',
86
- 'pnpmSetup',
87
- 'setupNode',
88
- 'uploadArtifact',
89
- ].includes(key)
90
- ? 'both'
91
- : 'consumer',
81
+ scope: [
82
+ 'checkout',
83
+ 'downloadArtifact',
84
+ 'nxSetShas',
85
+ 'pnpmSetup',
86
+ 'setupNode',
87
+ 'uploadArtifact',
88
+ ].includes(key)
89
+ ? 'both'
90
+ : 'consumer',
92
91
  },
93
92
  ])),
94
93
  containers: {},
@@ -265,6 +264,17 @@ permissions, advisories, alternatives, removal path, and owning team in the
265
264
  pull request. Changes to \`allowBuilds\` require a matching exact-package record
266
265
  with owner, rationale, work item, and approval time.
267
266
 
267
+ Pin reviewed transitive fixes in the seeded
268
+ \`supply-chain/dependency-overrides.json\` file, using
269
+ \`{"schemaVersion":1,"overrides":{"package@range":"1.2.3"}}\`.
270
+ Parent selectors such as \`parent>dependency\` are supported. Values must be
271
+ exact npm versions; alternate registries, local paths, hooks, and ranges are
272
+ not admitted by this surface. Report and apply \`nx g @empire-builder-kit/nx:upgrade workspace\`
273
+ to generate the effective managed \`pnpm-workspace.yaml\`, then run
274
+ \`pnpm install\` to reconcile its lockfile and installed dependency state.
275
+ Review the lockfile and rerun affected checks. Never edit the managed YAML or
276
+ ownership hashes. Pins do not waive the existing supply-chain policies.
277
+
268
278
  The license lists are organization-owned policy, not legal conclusions.
269
279
  Unknown and changed licenses require review. Exceptions are exact-component,
270
280
  approved, expiring records with compensating controls and recheck triggers.
@@ -307,9 +317,10 @@ accounts must differ.
307
317
 
308
318
  The v1 executable-action inventory admits only reviewed external actions
309
319
  pinned to full Git commit SHAs and Docker actions pinned to immutable image
310
- digests. Repository-local \`uses: ./...\` actions are rejected instead of
311
- silently trusted. If local composite actions are added after v1, their nested
312
- execution graph needs an explicit bounded recursive review contract first.
320
+ digests. Static job-level \`uses: ./.github/workflows/*.yml\` calls are admitted
321
+ only when the exact repository target exists and declares \`workflow_call\`.
322
+ Repository-local step actions remain rejected instead of silently trusting a
323
+ local composite execution graph.
313
324
 
314
325
  Default workspace verification runs the explicit
315
326
  \`structural-scanner-input.json\` sentinel. Its output records that no scanner
@@ -271,6 +271,7 @@ const ignoredDirectories = new Set([
271
271
  '.nx',
272
272
  '.open-next',
273
273
  '.sst',
274
+ '.venv',
274
275
  'coverage',
275
276
  'dist',
276
277
  'node_modules',
@@ -427,7 +428,7 @@ async function resolveOsvBinary() {
427
428
  }
428
429
  const target = options.osv
429
430
  ? insideWorkspace(options.osv)
430
- : insideWorkspace('.ebk/tools/' + release.name);
431
+ : insideWorkspace('.ebk/cache/tools/' + release.name);
431
432
  if (!options.osv && !existsSync(target)) {
432
433
  const response = await fetch(
433
434
  'https://github.com/google/osv-scanner/releases/download/v' +
@@ -6,7 +6,7 @@ export * from './blueprint-verification-execution.js';
6
6
  export * from './pnpm-toolchain-authority.js';
7
7
  export * from './container-artifact-contract.js';
8
8
  export * from './container-release.js';
9
- export { supplyChainDigest } from './common.js';
9
+ export { hasSensitiveSupplyChainShape, supplyChainDigest } from './common.js';
10
10
  export * from './ecs-deployed-image.js';
11
11
  export * from './errors.js';
12
12
  export * from './build-output.js';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.frameworkActionPinInventory = exports.supplyChainDigest = void 0;
3
+ exports.frameworkActionPinInventory = exports.supplyChainDigest = exports.hasSensitiveSupplyChainShape = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  tslib_1.__exportStar(require("./action-pins.js"), exports);
6
6
  tslib_1.__exportStar(require("./blueprint-trust.js"), exports);
@@ -11,6 +11,7 @@ tslib_1.__exportStar(require("./pnpm-toolchain-authority.js"), exports);
11
11
  tslib_1.__exportStar(require("./container-artifact-contract.js"), exports);
12
12
  tslib_1.__exportStar(require("./container-release.js"), exports);
13
13
  var common_js_1 = require("./common.js");
14
+ Object.defineProperty(exports, "hasSensitiveSupplyChainShape", { enumerable: true, get: function () { return common_js_1.hasSensitiveSupplyChainShape; } });
14
15
  Object.defineProperty(exports, "supplyChainDigest", { enumerable: true, get: function () { return common_js_1.supplyChainDigest; } });
15
16
  tslib_1.__exportStar(require("./ecs-deployed-image.js"), exports);
16
17
  tslib_1.__exportStar(require("./errors.js"), exports);
@@ -1,5 +1,5 @@
1
1
  import type { SupplyChainInventory } from './inventory.js';
2
- export declare const CYCLONEDX_SPEC_VERSION: "1.6";
2
+ export declare const CYCLONEDX_SPEC_VERSION: "1.7";
3
3
  export declare const SUPPLY_CHAIN_SBOM_SCHEMA_VERSION: 1;
4
4
  export declare const SUPPLY_CHAIN_RELEASE_BINDING_KIND: "ebk-supply-chain-release-binding";
5
5
  export declare const CYCLONEDX_INVENTORY_SCOPES: readonly ["source-build-inputs", "build-output-contents", "deployable-bundle-contents", "final-oci-contents"];