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

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 (805) hide show
  1. package/README.md +44 -10
  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.d.ts +1 -1
  16. package/src/blueprints/external-sandbox.js +21 -9
  17. package/src/blueprints/manifest.d.ts +1 -1
  18. package/src/blueprints/resolver.js +28 -15
  19. package/src/cli/bootstrap.d.ts +1 -1
  20. package/src/cli/deploy-runtime.d.ts +30 -0
  21. package/src/cli/deploy-runtime.js +174 -0
  22. package/src/cli/dev-command.d.ts +18 -4
  23. package/src/cli/dev-command.js +71 -0
  24. package/src/cli/main.d.ts +9 -1
  25. package/src/cli/main.js +157 -24
  26. package/src/cli/output.d.ts +1 -1
  27. package/src/cli/output.js +1 -1
  28. package/src/cli/personal-secret-runtime.d.ts +12 -0
  29. package/src/cli/personal-secret-runtime.js +18 -3
  30. package/src/cli/secret-terminal.js +1 -1
  31. package/src/container-images.d.ts +1 -1
  32. package/src/container-images.js +1 -1
  33. package/src/developer-agent/context.js +41 -9
  34. package/src/developer-agent/generator-planning.js +20 -6
  35. package/src/developer-agent/git-inspection.d.ts +6 -2
  36. package/src/developer-agent/git-inspection.js +78 -6
  37. package/src/developer-agent/model.d.ts +5 -3
  38. package/src/developer-agent/model.js +4 -4
  39. package/src/developer-agent/operation-registry.d.ts +15 -0
  40. package/src/developer-agent/operation-registry.js +342 -49
  41. package/src/developer-agent/planning.d.ts +8 -1
  42. package/src/developer-agent/planning.js +39 -16
  43. package/src/developer-agent/preview-changes.d.ts +2 -0
  44. package/src/developer-agent/preview-changes.js +14 -2
  45. package/src/developer-agent/preview-source.js +3 -0
  46. package/src/developer-agent/validation.js +25 -9
  47. package/src/developer-agent/workspace-inspection.js +60 -5
  48. package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
  49. package/src/executors/deployment-plan/deployment-plan.d.ts +2 -0
  50. package/src/executors/deployment-plan/deployment-plan.js +57 -2
  51. package/src/executors/dev-doctor/dev-doctor.js +13 -6
  52. package/src/executors/dev-task-cleanup/dev-task-cleanup.d.ts +23 -0
  53. package/src/executors/dev-task-cleanup/dev-task-cleanup.js +145 -0
  54. package/src/executors/dev-task-cleanup/schema.json +9 -0
  55. package/src/executors/dev-task-cleanup/task-stack-absence.d.ts +27 -0
  56. package/src/executors/dev-task-cleanup/task-stack-absence.js +281 -0
  57. package/src/executors/dev-task-cleanup/task-stack-checkpoint.d.ts +12 -0
  58. package/src/executors/dev-task-cleanup/task-stack-checkpoint.js +92 -0
  59. package/src/executors/fleet/fleet.js +1 -1
  60. package/src/executors/foundation-preflight/foundation-preflight.d.ts +1 -0
  61. package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
  62. package/src/executors/foundation-preflight/schema.json +5 -0
  63. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +13 -2
  64. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +95 -31
  65. package/src/executors/foundation-profile-preflight/production-database-safeguard.d.ts +65 -0
  66. package/src/executors/foundation-profile-preflight/production-database-safeguard.js +223 -0
  67. package/src/executors/foundation-profile-preflight/schema.json +15 -4
  68. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.d.ts +11 -1
  69. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js +70 -20
  70. package/src/executors/foundation-remove-preflight/schema.json +6 -1
  71. package/src/executors/github-bootstrap/github-bootstrap.d.ts +1 -0
  72. package/src/executors/github-bootstrap/github-bootstrap.js +3 -0
  73. package/src/executors/github-bootstrap/schema.json +7 -1
  74. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +29 -136
  75. package/src/executors/infrastructure-plan/infrastructure-plan.js +230 -3282
  76. package/src/executors/infrastructure-plan/schema.json +12 -52
  77. package/src/executors/local-deploy/federated-credential-transport.d.ts +48 -0
  78. package/src/executors/local-deploy/federated-credential-transport.js +252 -0
  79. package/src/executors/local-deploy/local-approval.d.ts +18 -0
  80. package/src/executors/local-deploy/local-approval.js +39 -0
  81. package/src/executors/local-deploy/local-deploy.d.ts +112 -0
  82. package/src/executors/local-deploy/local-deploy.js +1404 -0
  83. package/src/executors/local-deploy/schema.json +70 -0
  84. package/src/executors/refresh/refresh.js +2 -2
  85. package/src/executors/remove/remove.js +2 -2
  86. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +42 -0
  87. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +1229 -0
  88. package/src/executors/router-waf-rehearsal/schema.json +29 -0
  89. package/src/executors/secret-initialize/schema.json +42 -0
  90. package/src/executors/secret-initialize/secret-initialize.d.ts +34 -0
  91. package/src/executors/secret-initialize/secret-initialize.js +297 -0
  92. package/src/executors/secret-metadata/schema.json +5 -0
  93. package/src/executors/secret-metadata/secret-metadata.d.ts +16 -2
  94. package/src/executors/secret-metadata/secret-metadata.js +129 -30
  95. package/src/executors/sst-lifecycle/generated-secret-retirement.d.ts +53 -0
  96. package/src/executors/sst-lifecycle/generated-secret-retirement.js +192 -0
  97. package/src/executors/sst-lifecycle/governed-native-operation.d.ts +48 -0
  98. package/src/executors/sst-lifecycle/governed-native-operation.js +163 -0
  99. package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
  100. package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
  101. package/src/executors/sst-lifecycle/run-sst-command.d.ts +46 -6
  102. package/src/executors/sst-lifecycle/run-sst-command.js +750 -71
  103. package/src/executors/sst-lifecycle/schema.json +8 -1
  104. package/src/executors/sst-lifecycle/secret-preflight.d.ts +2 -0
  105. package/src/executors/sst-lifecycle/secret-preflight.js +13 -7
  106. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +33 -0
  107. package/src/executors/sst-lifecycle/sst-environment-source.js +267 -0
  108. package/src/executors/sst-lifecycle/task-unlock.d.ts +15 -0
  109. package/src/executors/sst-lifecycle/task-unlock.js +126 -0
  110. package/src/executors/unlock/unlock.js +2 -2
  111. package/src/foundation/capability-plan.d.ts +43 -0
  112. package/src/foundation/capability-plan.js +168 -0
  113. package/src/foundation/cost-estimate.d.ts +170 -0
  114. package/src/foundation/cost-estimate.js +683 -0
  115. package/src/foundation/discovery.d.ts +14 -11
  116. package/src/foundation/discovery.js +32 -6
  117. package/src/foundation/index.d.ts +4 -0
  118. package/src/foundation/index.js +11 -0
  119. package/src/foundation/local-database-contract.d.ts +20 -0
  120. package/src/foundation/local-database-contract.js +262 -13
  121. package/src/foundation/local-private-smoke-access.d.ts +20 -0
  122. package/src/foundation/local-private-smoke-access.js +197 -0
  123. package/src/foundation/logging-preflight.js +1 -1
  124. package/src/foundation/logging.d.ts +3 -1
  125. package/src/foundation/logging.js +1 -1
  126. package/src/foundation/partial-state.d.ts +10 -0
  127. package/src/foundation/partial-state.js +21 -0
  128. package/src/foundation/preflight.js +37 -18
  129. package/src/foundation/private-smoke-access.d.ts +25 -0
  130. package/src/foundation/private-smoke-access.js +135 -0
  131. package/src/foundation/private-smoke-admission.d.ts +45 -0
  132. package/src/foundation/private-smoke-admission.js +180 -0
  133. package/src/foundation/private-smoke-control-plane.d.ts +18 -0
  134. package/src/foundation/private-smoke-control-plane.js +184 -0
  135. package/src/foundation/provision-database-bindings.d.ts +5 -0
  136. package/src/foundation/provision-database-bindings.js +41 -8
  137. package/src/foundation/provision-logical-database.js +15 -8
  138. package/src/foundation/requirements.d.ts +3 -3
  139. package/src/foundation/requirements.js +24 -12
  140. package/src/foundation/router-waf-rate-rehearsal.d.ts +97 -0
  141. package/src/foundation/router-waf-rate-rehearsal.js +210 -0
  142. package/src/foundation/router-waf.d.ts +149 -0
  143. package/src/foundation/router-waf.js +809 -0
  144. package/src/foundation/stages.d.ts +1 -0
  145. package/src/foundation/stages.js +11 -0
  146. package/src/generators/blueprint/blueprint.d.ts +5 -0
  147. package/src/generators/blueprint/blueprint.js +102 -0
  148. package/src/generators/blueprint/files.d.ts +6 -0
  149. package/src/generators/blueprint/files.js +217 -0
  150. package/src/generators/blueprint/schema.d.ts +4 -0
  151. package/src/generators/blueprint/schema.json +18 -0
  152. package/src/generators/formatting.d.ts +8 -0
  153. package/src/generators/formatting.js +141 -0
  154. package/src/generators/function/function.js +38 -17
  155. package/src/generators/logging-registry.d.ts +2 -0
  156. package/src/generators/logging-registry.js +22 -0
  157. package/src/generators/post-generation-install.js +2 -2
  158. package/src/generators/preset/dependency-overrides.d.ts +8 -0
  159. package/src/generators/preset/dependency-overrides.js +55 -0
  160. package/src/generators/preset/generator.js +43 -3
  161. package/src/generators/preset/schema.d.ts +10 -0
  162. package/src/generators/preset/schema.json +47 -0
  163. package/src/generators/preset/workspace-files-adopter-skills.d.ts +7 -0
  164. package/src/generators/preset/workspace-files-adopter-skills.js +324 -0
  165. package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
  166. package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
  167. package/src/generators/preset/workspace-files-ci-install.d.ts +2 -0
  168. package/src/generators/preset/workspace-files-ci-install.js +196 -0
  169. package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
  170. package/src/generators/preset/workspace-files-developer-agent.js +162 -44
  171. package/src/generators/preset/workspace-files-ecr-inspector.d.ts +18 -0
  172. package/src/generators/preset/workspace-files-ecr-inspector.js +298 -0
  173. package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
  174. package/src/generators/preset/workspace-files-performance-cost.d.ts +2 -2
  175. package/src/generators/preset/workspace-files-performance-cost.js +8 -8
  176. package/src/generators/preset/workspace-files-performance-load.d.ts +1 -1
  177. package/src/generators/preset/workspace-files-performance-load.js +39 -25
  178. package/src/generators/preset/workspace-files-shared-operation-claims.d.ts +10 -0
  179. package/src/generators/preset/workspace-files-shared-operation-claims.js +59 -0
  180. package/src/generators/preset/workspace-files-stage-authority.d.ts +6 -0
  181. package/src/generators/preset/workspace-files-stage-authority.js +529 -0
  182. package/src/generators/preset/workspace-files-thin-deploy.d.ts +65 -0
  183. package/src/generators/preset/workspace-files-thin-deploy.js +2507 -0
  184. package/src/generators/preset/workspace-files-thin-docs.d.ts +7 -0
  185. package/src/generators/preset/workspace-files-thin-docs.js +370 -0
  186. package/src/generators/preset/workspace-files-thin-release.d.ts +14 -0
  187. package/src/generators/preset/workspace-files-thin-release.js +26 -0
  188. package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
  189. package/src/generators/preset/workspace-files.d.ts +18 -2
  190. package/src/generators/preset/workspace-files.js +1525 -609
  191. package/src/generators/repository-policy/repository-policy.js +235 -5
  192. package/src/generators/repository-policy/schema.d.ts +10 -0
  193. package/src/generators/repository-policy/schema.json +80 -4
  194. package/src/generators/repository-policy/tree-policy.d.ts +3 -0
  195. package/src/generators/repository-policy/tree-policy.js +25 -0
  196. package/src/generators/slice/built-in-plan-api-contract-files.js +49 -11
  197. package/src/generators/slice/built-in-plan-api-files.d.ts +1 -1
  198. package/src/generators/slice/built-in-plan-api-files.js +130 -414
  199. package/src/generators/slice/built-in-plan-async-work-files.js +166 -1969
  200. package/src/generators/slice/built-in-plan-authorization-files.js +102 -334
  201. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +975 -233
  202. package/src/generators/slice/built-in-plan-authorization-storage.d.ts +3 -0
  203. package/src/generators/slice/built-in-plan-authorization-storage.js +119 -0
  204. package/src/generators/slice/built-in-plan-background-work-files.d.ts +2 -0
  205. package/src/generators/slice/built-in-plan-background-work-files.js +99 -0
  206. package/src/generators/slice/built-in-plan-data-deletion-files.js +2 -830
  207. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js +5 -31
  208. package/src/generators/slice/built-in-plan-data-files.d.ts +1 -1
  209. package/src/generators/slice/built-in-plan-data-files.js +176 -1200
  210. package/src/generators/slice/built-in-plan-data-lifecycle-files.js +53 -28
  211. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js +37 -2
  212. package/src/generators/slice/built-in-plan-data-retention-job-files.js +7 -2443
  213. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js +50 -8
  214. package/src/generators/slice/built-in-plan-data-rights-files.js +6 -4482
  215. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +44 -25
  216. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js +25 -2
  217. package/src/generators/slice/built-in-plan-foundation-files.d.ts +2 -1
  218. package/src/generators/slice/built-in-plan-foundation-files.js +39 -18
  219. package/src/generators/slice/built-in-plan-frontend-files.js +14 -3
  220. package/src/generators/slice/built-in-plan-infrastructure-files.d.ts +1 -1
  221. package/src/generators/slice/built-in-plan-infrastructure-files.js +933 -730
  222. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +75 -14
  223. package/src/generators/slice/built-in-plan-key-value-cleanup.d.ts +4 -0
  224. package/src/generators/slice/built-in-plan-key-value-cleanup.js +100 -0
  225. package/src/generators/slice/built-in-plan-key-value-consumer.d.ts +4 -0
  226. package/src/generators/slice/built-in-plan-key-value-consumer.js +151 -0
  227. package/src/generators/slice/built-in-plan-key-value-deletion.d.ts +2 -0
  228. package/src/generators/slice/built-in-plan-key-value-deletion.js +377 -0
  229. package/src/generators/slice/built-in-plan-key-value-delivery.d.ts +2 -0
  230. package/src/generators/slice/built-in-plan-key-value-delivery.js +137 -0
  231. package/src/generators/slice/built-in-plan-key-value-export.d.ts +2 -0
  232. package/src/generators/slice/built-in-plan-key-value-export.js +595 -0
  233. package/src/generators/slice/built-in-plan-key-value-files.d.ts +2 -0
  234. package/src/generators/slice/built-in-plan-key-value-files.js +31 -0
  235. package/src/generators/slice/built-in-plan-key-value-holds.d.ts +2 -0
  236. package/src/generators/slice/built-in-plan-key-value-holds.js +189 -0
  237. package/src/generators/slice/built-in-plan-key-value-infrastructure.d.ts +2 -0
  238. package/src/generators/slice/built-in-plan-key-value-infrastructure.js +102 -0
  239. package/src/generators/slice/built-in-plan-key-value-performance.d.ts +5 -0
  240. package/src/generators/slice/built-in-plan-key-value-performance.js +530 -0
  241. package/src/generators/slice/built-in-plan-key-value-provider.d.ts +4 -0
  242. package/src/generators/slice/built-in-plan-key-value-provider.js +366 -0
  243. package/src/generators/slice/built-in-plan-key-value-records.d.ts +3 -0
  244. package/src/generators/slice/built-in-plan-key-value-records.js +232 -0
  245. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.d.ts +2 -0
  246. package/src/generators/slice/built-in-plan-key-value-retention-infrastructure.js +103 -0
  247. package/src/generators/slice/built-in-plan-key-value-retention-job-files.d.ts +2 -0
  248. package/src/generators/slice/built-in-plan-key-value-retention-job-files.js +160 -0
  249. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.d.ts +2 -0
  250. package/src/generators/slice/built-in-plan-key-value-retention-maintenance.js +329 -0
  251. package/src/generators/slice/built-in-plan-key-value-retention-worker.d.ts +2 -0
  252. package/src/generators/slice/built-in-plan-key-value-retention-worker.js +477 -0
  253. package/src/generators/slice/built-in-plan-key-value-retention.d.ts +2 -0
  254. package/src/generators/slice/built-in-plan-key-value-retention.js +184 -0
  255. package/src/generators/slice/built-in-plan-metadata-files.d.ts +1 -1
  256. package/src/generators/slice/built-in-plan-metadata-files.js +159 -29
  257. package/src/generators/slice/built-in-plan-native-runtime-authority-files.d.ts +2 -0
  258. package/src/generators/slice/built-in-plan-native-runtime-authority-files.js +324 -0
  259. package/src/generators/slice/built-in-plan-operations-files.d.ts +1 -1
  260. package/src/generators/slice/built-in-plan-operations-files.js +585 -97
  261. package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
  262. package/src/generators/slice/built-in-plan-performance-files.js +220 -1074
  263. package/src/generators/slice/built-in-plan-project-files.js +141 -135
  264. package/src/generators/slice/built-in-plan-release-files.d.ts +1 -1
  265. package/src/generators/slice/built-in-plan-release-files.js +310 -70
  266. package/src/generators/slice/built-in-plan-reliability-files.d.ts +1 -1
  267. package/src/generators/slice/built-in-plan-reliability-files.js +283 -44
  268. package/src/generators/slice/built-in-plan-secret-runtime-files.d.ts +1 -1
  269. package/src/generators/slice/built-in-plan-secret-runtime-files.js +87 -76
  270. package/src/generators/slice/built-in-plan-shared.d.ts +4 -2
  271. package/src/generators/slice/built-in-plan-shared.js +41 -19
  272. package/src/generators/slice/built-in-plan-sql-events.d.ts +2 -0
  273. package/src/generators/slice/built-in-plan-sql-events.js +276 -0
  274. package/src/generators/slice/built-in-plan-testing-files.d.ts +1 -1
  275. package/src/generators/slice/built-in-plan-testing-files.js +304 -172
  276. package/src/generators/slice/built-in-plan-testing-persistence-event-files.d.ts +7 -0
  277. package/src/generators/slice/built-in-plan-testing-persistence-event-files.js +487 -0
  278. package/src/generators/slice/built-in-plan-testing-persistence-files.d.ts +2 -0
  279. package/src/generators/slice/built-in-plan-testing-persistence-files.js +180 -0
  280. package/src/generators/slice/built-in-plan-thin-release-files.d.ts +11 -0
  281. package/src/generators/slice/built-in-plan-thin-release-files.js +162 -0
  282. package/src/generators/slice/built-in-plan-verification-files.js +76 -2
  283. package/src/generators/slice/built-in-plan-web-files.d.ts +1 -1
  284. package/src/generators/slice/built-in-plan-web-files.js +223 -16
  285. package/src/generators/slice/built-in-plan-workload-role-files.d.ts +1 -1
  286. package/src/generators/slice/built-in-plan-workload-role-files.js +143 -279
  287. package/src/generators/slice/built-in-plan.d.ts +11 -1
  288. package/src/generators/slice/built-in-plan.js +83 -30
  289. package/src/generators/slice/data-policy-review-seed.d.ts +2 -0
  290. package/src/generators/slice/data-policy-review-seed.js +22 -0
  291. package/src/generators/slice/deployed-smoke-readiness.d.ts +2 -0
  292. package/src/generators/slice/deployed-smoke-readiness.js +214 -0
  293. package/src/generators/slice/local-source-identity.d.ts +2 -0
  294. package/src/generators/slice/local-source-identity.js +31 -0
  295. package/src/generators/slice/persistence-contract.d.ts +14 -0
  296. package/src/generators/slice/persistence-contract.js +32 -0
  297. package/src/generators/slice/slice.js +61 -50
  298. package/src/generators/sql/schema.d.ts +7 -0
  299. package/src/generators/sql/schema.json +38 -0
  300. package/src/generators/sql/sql.d.ts +6 -0
  301. package/src/generators/sql/sql.js +53 -0
  302. package/src/generators/upgrade/sql-seeded-reconciliation.d.ts +2 -0
  303. package/src/generators/upgrade/sql-seeded-reconciliation.js +170 -0
  304. package/src/generators/upgrade/upgrade.d.ts +15 -1
  305. package/src/generators/upgrade/upgrade.js +435 -44
  306. package/src/generators/workload/frozen-container.d.ts +1 -1
  307. package/src/generators/workload/performance-registration.d.ts +1 -0
  308. package/src/generators/workload/performance-registration.js +9 -11
  309. package/src/generators/workload/service-performance-files.d.ts +1 -0
  310. package/src/generators/workload/service-performance-files.js +27 -7
  311. package/src/generators/workload/workload.d.ts +1 -1
  312. package/src/generators/workload/workload.js +105 -29
  313. package/src/git-policy/action-pins.d.ts +5 -0
  314. package/src/git-policy/action-pins.js +5 -0
  315. package/src/git-policy/github-bootstrap.d.ts +48 -8
  316. package/src/git-policy/github-bootstrap.js +344 -176
  317. package/src/git-policy/routing.d.ts +7 -1
  318. package/src/git-policy/routing.js +62 -1
  319. package/src/index.d.ts +1 -0
  320. package/src/index.js +1 -0
  321. package/src/infrastructure-change/local-capability.d.ts +73 -0
  322. package/src/infrastructure-change/local-capability.js +114 -0
  323. package/src/infrastructure-change/model.d.ts +25 -4
  324. package/src/infrastructure-change/model.js +1 -0
  325. package/src/infrastructure-change/normalize.d.ts +4 -0
  326. package/src/infrastructure-change/normalize.js +47 -7
  327. package/src/infrastructure-change/plan.d.ts +30 -3
  328. package/src/infrastructure-change/plan.js +323 -13
  329. package/src/infrastructure-change/risk.d.ts +3 -1
  330. package/src/infrastructure-change/risk.js +96 -16
  331. package/src/local-dev/browser-verification.d.ts +37 -0
  332. package/src/local-dev/browser-verification.js +281 -0
  333. package/src/local-dev/contracts.d.ts +10 -1
  334. package/src/local-dev/contracts.js +114 -13
  335. package/src/local-dev/dev-command-core.js +24 -5
  336. package/src/local-dev/docker-credential-health.d.ts +14 -0
  337. package/src/local-dev/docker-credential-health.js +94 -0
  338. package/src/local-dev/environment-inspector.d.ts +7 -0
  339. package/src/local-dev/environment-inspector.js +42 -15
  340. package/src/local-dev/environment-state.js +2 -2
  341. package/src/local-dev/errors.d.ts +1 -1
  342. package/src/local-dev/errors.js +2 -0
  343. package/src/local-dev/fleet-client.js +2 -2
  344. package/src/local-dev/fleet-configuration.js +57 -25
  345. package/src/local-dev/fleet-inventory.js +58 -22
  346. package/src/local-dev/fleet-ipc.d.ts +7 -0
  347. package/src/local-dev/fleet-ipc.js +14 -2
  348. package/src/local-dev/fleet-launcher.d.ts +6 -0
  349. package/src/local-dev/fleet-launcher.js +16 -4
  350. package/src/local-dev/fleet-logs.js +50 -22
  351. package/src/local-dev/fleet-process.d.ts +20 -1
  352. package/src/local-dev/fleet-process.js +197 -41
  353. package/src/local-dev/fleet-runner-evidence.d.ts +5 -0
  354. package/src/local-dev/fleet-runner-evidence.js +56 -0
  355. package/src/local-dev/fleet-runtime.js +268 -229
  356. package/src/local-dev/fleet-session.d.ts +2 -0
  357. package/src/local-dev/fleet-session.js +28 -11
  358. package/src/local-dev/fleet-slice-runner-daemon.js +4 -0
  359. package/src/local-dev/fleet-state.d.ts +5 -2
  360. package/src/local-dev/fleet-state.js +25 -4
  361. package/src/local-dev/fleet-supervisor.d.ts +3 -0
  362. package/src/local-dev/fleet-supervisor.js +66 -11
  363. package/src/local-dev/fleet-web-start.d.ts +12 -0
  364. package/src/local-dev/fleet-web-start.js +48 -0
  365. package/src/local-dev/identity.js +3 -14
  366. package/src/local-dev/index.d.ts +1 -0
  367. package/src/local-dev/index.js +1 -0
  368. package/src/local-dev/native-completion.d.ts +9 -0
  369. package/src/local-dev/native-completion.js +130 -0
  370. package/src/local-dev/nx-workspace.d.ts +4 -2
  371. package/src/local-dev/nx-workspace.js +11 -6
  372. package/src/local-dev/personal-stage.d.ts +4 -5
  373. package/src/local-dev/personal-stage.js +6 -54
  374. package/src/local-dev/port-claims.d.ts +13 -0
  375. package/src/local-dev/port-claims.js +46 -0
  376. package/src/local-dev/ports.d.ts +14 -2
  377. package/src/local-dev/ports.js +78 -3
  378. package/src/local-dev/private-state.d.ts +11 -0
  379. package/src/local-dev/private-state.js +146 -40
  380. package/src/local-dev/process-group.d.ts +4 -0
  381. package/src/local-dev/process-group.js +29 -0
  382. package/src/local-dev/process-identity.d.ts +8 -0
  383. package/src/local-dev/process-identity.js +31 -1
  384. package/src/local-dev/proxy.js +11 -12
  385. package/src/local-dev/runtime-paths.js +1 -1
  386. package/src/local-dev/slice-claim.js +1 -1
  387. package/src/local-dev/slice-runner.d.ts +15 -6
  388. package/src/local-dev/slice-runner.js +189 -54
  389. package/src/local-dev/task-attachment.d.ts +17 -0
  390. package/src/local-dev/task-attachment.js +73 -0
  391. package/src/local-dev/task-authority.d.ts +10 -0
  392. package/src/local-dev/task-authority.js +27 -0
  393. package/src/local-dev/task-identity.d.ts +33 -0
  394. package/src/local-dev/task-identity.js +418 -0
  395. package/src/local-dev/task-native-writer.d.ts +18 -0
  396. package/src/local-dev/task-native-writer.js +329 -0
  397. package/src/local-dev/tls.js +8 -2
  398. package/src/local-dev/web-launch.d.ts +9 -0
  399. package/src/local-dev/web-launch.js +130 -0
  400. package/src/ownership/composition.d.ts +2 -1
  401. package/src/ownership/composition.js +1 -0
  402. package/src/performance/cost-collection.d.ts +1 -1
  403. package/src/performance/cost-collection.js +4 -2
  404. package/src/performance/cost-controls.d.ts +8 -4
  405. package/src/performance/cost-controls.js +39 -28
  406. package/src/performance/evidence.d.ts +1 -1
  407. package/src/performance/evidence.js +5 -3
  408. package/src/performance/load-safety.js +5 -3
  409. package/src/performance/model.d.ts +4 -4
  410. package/src/performance/model.js +4 -5
  411. package/src/performance/scenario.d.ts +22 -0
  412. package/src/performance/scenario.js +100 -92
  413. package/src/release/index.d.ts +0 -2
  414. package/src/release/index.js +0 -2
  415. package/src/release/source-authority.d.ts +5 -5
  416. package/src/release/source-authority.js +141 -124
  417. package/src/repository-policy/aurora-preflight.d.ts +1 -1
  418. package/src/repository-policy/aurora-preflight.js +4 -1
  419. package/src/repository-policy/capacity-migration.d.ts +3 -0
  420. package/src/repository-policy/capacity-migration.js +21 -0
  421. package/src/repository-policy/deployment-plan.d.ts +4 -1
  422. package/src/repository-policy/deployment-plan.js +9 -0
  423. package/src/repository-policy/foundation-profile.js +10 -1
  424. package/src/repository-policy/policy.d.ts +57 -3
  425. package/src/repository-policy/policy.js +497 -11
  426. package/src/schemas/blueprint-v1.json +5 -4
  427. package/src/schemas/foundation-requirement-v1.json +5 -4
  428. package/src/schemas/performance-policy-v1.json +3 -3
  429. package/src/schemas/repository-policy-v1.json +130 -6
  430. package/src/schemas/testing-evidence-result-v1.json +1 -1
  431. package/src/secrets/adapters.d.ts +7 -2
  432. package/src/secrets/adapters.js +34 -3
  433. package/src/secrets/aws-control-plane.d.ts +10 -1
  434. package/src/secrets/aws-control-plane.js +67 -0
  435. package/src/secrets/generated-aws-control-plane.d.ts +23 -0
  436. package/src/secrets/generated-aws-control-plane.js +259 -0
  437. package/src/secrets/metadata.js +38 -10
  438. package/src/secrets/model.d.ts +8 -1
  439. package/src/secrets/model.js +24 -3
  440. package/src/secrets/operator.d.ts +91 -3
  441. package/src/secrets/operator.js +463 -13
  442. package/src/secrets/personal-command.d.ts +18 -2
  443. package/src/secrets/personal-command.js +66 -12
  444. package/src/secrets/registry.d.ts +2 -1
  445. package/src/secrets/registry.js +18 -1
  446. package/src/secrets/verification.js +15 -2
  447. package/src/secrets/workload-access.js +10 -2
  448. package/src/sst-environment-source-format.d.ts +6 -0
  449. package/src/sst-environment-source-format.js +199 -0
  450. package/src/supply-chain/action-pins.js +61 -7
  451. package/src/supply-chain/blueprint-trust-git.js +85 -24
  452. package/src/supply-chain/blueprint-verification-authority.js +55 -3
  453. package/src/supply-chain/build-output-bounds.d.ts +2 -0
  454. package/src/supply-chain/build-output-bounds.js +12 -0
  455. package/src/supply-chain/build-output.d.ts +7 -1
  456. package/src/supply-chain/build-output.js +177 -24
  457. package/src/supply-chain/ecr-scanning.d.ts +5 -3
  458. package/src/supply-chain/ecr-scanning.js +11 -7
  459. package/src/supply-chain/ecs-deployed-image.d.ts +5 -3
  460. package/src/supply-chain/ecs-deployed-image.js +6 -4
  461. package/src/supply-chain/generated-blueprint-trust-command.js +18 -1
  462. package/src/supply-chain/generated-command.js +1 -0
  463. package/src/supply-chain/generated-container-release-command.js +1285 -124
  464. package/src/supply-chain/generated-ecr-collector-command.d.ts +0 -1
  465. package/src/supply-chain/generated-ecr-collector-command.js +200 -93
  466. package/src/supply-chain/generated-files.js +25 -14
  467. package/src/supply-chain/generated-scanner-command.js +2 -1
  468. package/src/supply-chain/index.d.ts +1 -1
  469. package/src/supply-chain/index.js +2 -1
  470. package/src/supply-chain/sbom.d.ts +1 -1
  471. package/src/supply-chain/sbom.js +30 -5
  472. package/src/supply-chain/scanner.js +3 -0
  473. package/src/testing-evidence/fixture-scope.d.ts +2 -1
  474. package/src/testing-evidence/fixture-scope.js +4 -2
  475. package/src/testing-evidence/result.d.ts +2 -1
  476. package/src/testing-evidence/result.js +18 -4
  477. package/src/workload-roles/account-baseline.d.ts +11 -0
  478. package/src/workload-roles/account-baseline.js +253 -16
  479. package/src/workload-roles/authority.d.ts +3 -1
  480. package/src/workload-roles/authority.js +48 -2
  481. package/src/workload-roles/aws-s3-state.js +27 -0
  482. package/src/workload-roles/boundary.d.ts +2 -1
  483. package/src/workload-roles/boundary.js +9 -2
  484. package/src/workload-roles/handler.js +52 -24
  485. package/src/workload-roles/index.d.ts +10 -17
  486. package/src/workload-roles/index.js +5 -18
  487. package/src/workload-roles/injection.js +1 -1
  488. package/src/workload-roles/provisioner.js +12 -4
  489. package/src/workload-roles/registration.d.ts +1 -0
  490. package/src/workload-roles/registration.js +5 -0
  491. package/src/workload-roles/stage-boundary.js +1 -1
  492. package/src/workload-roles/standard-slice.js +3 -3
  493. package/src/workspace-deployment/affected-lifecycle.d.ts +53 -0
  494. package/src/workspace-deployment/affected-lifecycle.js +84 -0
  495. package/src/workspace-deployment/identity.d.ts +3 -0
  496. package/src/workspace-deployment/identity.js +22 -0
  497. package/src/workspace-deployment/index.d.ts +4 -0
  498. package/src/workspace-deployment/index.js +8 -0
  499. package/src/workspace-deployment/migration-evidence.d.ts +29 -0
  500. package/src/workspace-deployment/migration-evidence.js +83 -0
  501. package/src/workspace-deployment/migration.d.ts +27 -0
  502. package/src/workspace-deployment/migration.js +109 -0
  503. package/src/workspace-deployment/ownership.d.ts +81 -0
  504. package/src/workspace-deployment/ownership.js +381 -0
  505. package/src/api-contract/baseline-update.js.map +0 -1
  506. package/src/api-contract/compatibility.js.map +0 -1
  507. package/src/api-contract/contract-graph.js.map +0 -1
  508. package/src/api-contract/evidence.js.map +0 -1
  509. package/src/api-contract/index.js.map +0 -1
  510. package/src/api-contract/model.fixtures.d.ts +0 -2
  511. package/src/api-contract/model.fixtures.js +0 -81
  512. package/src/api-contract/model.fixtures.js.map +0 -1
  513. package/src/api-contract/model.js.map +0 -1
  514. package/src/api-contract/rollout.js.map +0 -1
  515. package/src/authorization/compatibility.js.map +0 -1
  516. package/src/authorization/index.js.map +0 -1
  517. package/src/blueprints/execution.js.map +0 -1
  518. package/src/blueprints/external-sandbox.js.map +0 -1
  519. package/src/blueprints/index.js.map +0 -1
  520. package/src/blueprints/inputs.js.map +0 -1
  521. package/src/blueprints/manifest.js.map +0 -1
  522. package/src/blueprints/resolver.js.map +0 -1
  523. package/src/blueprints/transitions.js.map +0 -1
  524. package/src/cli/agent-command.js.map +0 -1
  525. package/src/cli/agent-runtime.js.map +0 -1
  526. package/src/cli/blueprint-authority.js.map +0 -1
  527. package/src/cli/blueprint-command.js.map +0 -1
  528. package/src/cli/bootstrap.js.map +0 -1
  529. package/src/cli/dev-command.js.map +0 -1
  530. package/src/cli/main.js.map +0 -1
  531. package/src/cli/output.js.map +0 -1
  532. package/src/cli/personal-secret-runtime.js.map +0 -1
  533. package/src/cli/secret-terminal.js.map +0 -1
  534. package/src/container-images.js.map +0 -1
  535. package/src/data-lifecycle/index.js.map +0 -1
  536. package/src/data-lifecycle/model.fixtures.d.ts +0 -2
  537. package/src/data-lifecycle/model.fixtures.js +0 -244
  538. package/src/data-lifecycle/model.fixtures.js.map +0 -1
  539. package/src/data-lifecycle/model.js.map +0 -1
  540. package/src/data-lifecycle/sensitive-artifacts.js.map +0 -1
  541. package/src/data-lifecycle/validation.js.map +0 -1
  542. package/src/database-retirement/contract.js.map +0 -1
  543. package/src/database-retirement/index.js.map +0 -1
  544. package/src/deterministic-order.js.map +0 -1
  545. package/src/developer-agent/context.js.map +0 -1
  546. package/src/developer-agent/generator-planning.js.map +0 -1
  547. package/src/developer-agent/generator-preview.js.map +0 -1
  548. package/src/developer-agent/git-inspection.js.map +0 -1
  549. package/src/developer-agent/handoff.js.map +0 -1
  550. package/src/developer-agent/index.js.map +0 -1
  551. package/src/developer-agent/model.js.map +0 -1
  552. package/src/developer-agent/operation-registry.js.map +0 -1
  553. package/src/developer-agent/ordering.js.map +0 -1
  554. package/src/developer-agent/planning.js.map +0 -1
  555. package/src/developer-agent/preview-changes.js.map +0 -1
  556. package/src/developer-agent/preview-source.js.map +0 -1
  557. package/src/developer-agent/validation.js.map +0 -1
  558. package/src/developer-agent/workspace-inspection.js.map +0 -1
  559. package/src/developer-agent/workspace-path.js.map +0 -1
  560. package/src/executors/blueprint-trust/blueprint-trust.js.map +0 -1
  561. package/src/executors/blueprint-verification/blueprint-verification.js.map +0 -1
  562. package/src/executors/deploy/deploy.js.map +0 -1
  563. package/src/executors/deployment-plan/deployment-plan.js.map +0 -1
  564. package/src/executors/dev/dev.js.map +0 -1
  565. package/src/executors/dev-doctor/dev-doctor.js.map +0 -1
  566. package/src/executors/dev-setup/dev-setup.js.map +0 -1
  567. package/src/executors/developer-context/developer-context.js.map +0 -1
  568. package/src/executors/fleet/fleet.js.map +0 -1
  569. package/src/executors/foundation-preflight/foundation-preflight.js.map +0 -1
  570. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +0 -1
  571. package/src/executors/foundation-remove-preflight/foundation-remove-preflight.js.map +0 -1
  572. package/src/executors/github-bootstrap/github-bootstrap.js.map +0 -1
  573. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +0 -1
  574. package/src/executors/refresh/refresh.js.map +0 -1
  575. package/src/executors/remove/remove.js.map +0 -1
  576. package/src/executors/secret-guardrails/secret-guardrails.js.map +0 -1
  577. package/src/executors/secret-metadata/secret-metadata.js.map +0 -1
  578. package/src/executors/sst-lifecycle/logging-preflight.js.map +0 -1
  579. package/src/executors/sst-lifecycle/run-sst-command.js.map +0 -1
  580. package/src/executors/sst-lifecycle/secret-preflight.js.map +0 -1
  581. package/src/executors/unlock/unlock.js.map +0 -1
  582. package/src/executors/work-markers/work-markers.js.map +0 -1
  583. package/src/foundation/discovery.js.map +0 -1
  584. package/src/foundation/index.js.map +0 -1
  585. package/src/foundation/local-database-contract.js.map +0 -1
  586. package/src/foundation/logging-preflight.js.map +0 -1
  587. package/src/foundation/logging.js.map +0 -1
  588. package/src/foundation/preflight.js.map +0 -1
  589. package/src/foundation/provision-database-bindings.js.map +0 -1
  590. package/src/foundation/provision-logical-database.js.map +0 -1
  591. package/src/foundation/requirements.js.map +0 -1
  592. package/src/foundation/router-origin-proof.js.map +0 -1
  593. package/src/foundation/stages.js.map +0 -1
  594. package/src/frontend-security/index.js.map +0 -1
  595. package/src/frontend-security/security-headers.js.map +0 -1
  596. package/src/generators/feature-registry.js.map +0 -1
  597. package/src/generators/function/function.js.map +0 -1
  598. package/src/generators/job/job.js.map +0 -1
  599. package/src/generators/logging-registry.js.map +0 -1
  600. package/src/generators/post-generation-install.js.map +0 -1
  601. package/src/generators/preset/generator.js.map +0 -1
  602. package/src/generators/preset/tool-versions.js.map +0 -1
  603. package/src/generators/preset/workspace-files-developer-agent.js.map +0 -1
  604. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +0 -1
  605. package/src/generators/preset/workspace-files-performance-cost.js.map +0 -1
  606. package/src/generators/preset/workspace-files-performance-load.js.map +0 -1
  607. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +0 -1
  608. package/src/generators/preset/workspace-files.js.map +0 -1
  609. package/src/generators/repository-policy/repository-policy.js.map +0 -1
  610. package/src/generators/service/service.js.map +0 -1
  611. package/src/generators/slice/built-in-plan-api-contract-files.js.map +0 -1
  612. package/src/generators/slice/built-in-plan-api-files.js.map +0 -1
  613. package/src/generators/slice/built-in-plan-async-work-files.js.map +0 -1
  614. package/src/generators/slice/built-in-plan-authorization-files.js.map +0 -1
  615. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +0 -1
  616. package/src/generators/slice/built-in-plan-data-deletion-files.js.map +0 -1
  617. package/src/generators/slice/built-in-plan-data-export-infrastructure-files.js.map +0 -1
  618. package/src/generators/slice/built-in-plan-data-files.js.map +0 -1
  619. package/src/generators/slice/built-in-plan-data-lifecycle-files.js.map +0 -1
  620. package/src/generators/slice/built-in-plan-data-lifecycle-runtime-files.js.map +0 -1
  621. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +0 -1
  622. package/src/generators/slice/built-in-plan-data-retention-launcher-files.js.map +0 -1
  623. package/src/generators/slice/built-in-plan-data-rights-files.js.map +0 -1
  624. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +0 -1
  625. package/src/generators/slice/built-in-plan-database-retirement-rehearsal-files.js.map +0 -1
  626. package/src/generators/slice/built-in-plan-foundation-files.js.map +0 -1
  627. package/src/generators/slice/built-in-plan-frontend-files.js.map +0 -1
  628. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +0 -1
  629. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +0 -1
  630. package/src/generators/slice/built-in-plan-metadata-files.js.map +0 -1
  631. package/src/generators/slice/built-in-plan-operations-files.js.map +0 -1
  632. package/src/generators/slice/built-in-plan-performance-files.js.map +0 -1
  633. package/src/generators/slice/built-in-plan-project-files.js.map +0 -1
  634. package/src/generators/slice/built-in-plan-release-files.js.map +0 -1
  635. package/src/generators/slice/built-in-plan-reliability-files.js.map +0 -1
  636. package/src/generators/slice/built-in-plan-secret-runtime-files.js.map +0 -1
  637. package/src/generators/slice/built-in-plan-shared.js.map +0 -1
  638. package/src/generators/slice/built-in-plan-testing-files.js.map +0 -1
  639. package/src/generators/slice/built-in-plan-verification-files.js.map +0 -1
  640. package/src/generators/slice/built-in-plan-web-files.js.map +0 -1
  641. package/src/generators/slice/built-in-plan-workload-role-files.js.map +0 -1
  642. package/src/generators/slice/built-in-plan.js.map +0 -1
  643. package/src/generators/slice/slice.js.map +0 -1
  644. package/src/generators/upgrade/upgrade.js.map +0 -1
  645. package/src/generators/workload/frozen-container.js.map +0 -1
  646. package/src/generators/workload/performance-registration.js.map +0 -1
  647. package/src/generators/workload/reliability-registration.js.map +0 -1
  648. package/src/generators/workload/service-performance-files.js.map +0 -1
  649. package/src/generators/workload/workload.js.map +0 -1
  650. package/src/git-policy/action-pins.js.map +0 -1
  651. package/src/git-policy/github-bootstrap.js.map +0 -1
  652. package/src/git-policy/index.js.map +0 -1
  653. package/src/git-policy/routing.js.map +0 -1
  654. package/src/index.js.map +0 -1
  655. package/src/infrastructure-change/convergence.js.map +0 -1
  656. package/src/infrastructure-change/drift.js.map +0 -1
  657. package/src/infrastructure-change/index.js.map +0 -1
  658. package/src/infrastructure-change/model.js.map +0 -1
  659. package/src/infrastructure-change/normalize.js.map +0 -1
  660. package/src/infrastructure-change/plan.js.map +0 -1
  661. package/src/infrastructure-change/risk.js.map +0 -1
  662. package/src/infrastructure-change/summary.js.map +0 -1
  663. package/src/local-dev/context-discovery.js.map +0 -1
  664. package/src/local-dev/contract-validation.js.map +0 -1
  665. package/src/local-dev/contracts.js.map +0 -1
  666. package/src/local-dev/control-contract.js.map +0 -1
  667. package/src/local-dev/dev-command-core.js.map +0 -1
  668. package/src/local-dev/effects.js.map +0 -1
  669. package/src/local-dev/environment-inspector.js.map +0 -1
  670. package/src/local-dev/environment-state.js.map +0 -1
  671. package/src/local-dev/errors.js.map +0 -1
  672. package/src/local-dev/fleet-client.js.map +0 -1
  673. package/src/local-dev/fleet-configuration.js.map +0 -1
  674. package/src/local-dev/fleet-inventory.js.map +0 -1
  675. package/src/local-dev/fleet-ipc.js.map +0 -1
  676. package/src/local-dev/fleet-launcher.js.map +0 -1
  677. package/src/local-dev/fleet-lock.js.map +0 -1
  678. package/src/local-dev/fleet-logs.js.map +0 -1
  679. package/src/local-dev/fleet-process.js.map +0 -1
  680. package/src/local-dev/fleet-runtime.js.map +0 -1
  681. package/src/local-dev/fleet-session.js.map +0 -1
  682. package/src/local-dev/fleet-slice-runner-daemon.js.map +0 -1
  683. package/src/local-dev/fleet-startup.js.map +0 -1
  684. package/src/local-dev/fleet-state.js.map +0 -1
  685. package/src/local-dev/fleet-supervisor-daemon.js.map +0 -1
  686. package/src/local-dev/fleet-supervisor.js.map +0 -1
  687. package/src/local-dev/gateway-daemon.js.map +0 -1
  688. package/src/local-dev/gateway.js.map +0 -1
  689. package/src/local-dev/identity.js.map +0 -1
  690. package/src/local-dev/index.js.map +0 -1
  691. package/src/local-dev/local-context.js.map +0 -1
  692. package/src/local-dev/nx-workspace.js.map +0 -1
  693. package/src/local-dev/personal-secret-ledger.js.map +0 -1
  694. package/src/local-dev/personal-stage.js.map +0 -1
  695. package/src/local-dev/portless.js.map +0 -1
  696. package/src/local-dev/ports.js.map +0 -1
  697. package/src/local-dev/private-state.js.map +0 -1
  698. package/src/local-dev/process-identity.js.map +0 -1
  699. package/src/local-dev/proxy.js.map +0 -1
  700. package/src/local-dev/runtime-paths.js.map +0 -1
  701. package/src/local-dev/secret-slice-claim.js.map +0 -1
  702. package/src/local-dev/slice-claim.js.map +0 -1
  703. package/src/local-dev/slice-runner.js.map +0 -1
  704. package/src/local-dev/tls.js.map +0 -1
  705. package/src/ownership/composition.js.map +0 -1
  706. package/src/ownership/foundation-record.js.map +0 -1
  707. package/src/ownership/hash.js.map +0 -1
  708. package/src/ownership/index.js.map +0 -1
  709. package/src/ownership/json-ownership.js.map +0 -1
  710. package/src/ownership/record.js.map +0 -1
  711. package/src/ownership/workspace-record.js.map +0 -1
  712. package/src/performance/cost-collection.js.map +0 -1
  713. package/src/performance/cost-controls.js.map +0 -1
  714. package/src/performance/evidence.js.map +0 -1
  715. package/src/performance/index.js.map +0 -1
  716. package/src/performance/load-safety.js.map +0 -1
  717. package/src/performance/model.js.map +0 -1
  718. package/src/performance/pr-artifact-budget.js.map +0 -1
  719. package/src/performance/runner.js.map +0 -1
  720. package/src/performance/scenario-endpoint.js.map +0 -1
  721. package/src/performance/scenario.js.map +0 -1
  722. package/src/performance/test-fixtures.d.ts +0 -7
  723. package/src/performance/test-fixtures.js +0 -169
  724. package/src/performance/test-fixtures.js.map +0 -1
  725. package/src/performance/unit-cost.js.map +0 -1
  726. package/src/release/index.js.map +0 -1
  727. package/src/release/lifecycle.js.map +0 -1
  728. package/src/release/manifest.js.map +0 -1
  729. package/src/release/rollout.js.map +0 -1
  730. package/src/release/source-authority.js.map +0 -1
  731. package/src/repository-policy/aurora-preflight.js.map +0 -1
  732. package/src/repository-policy/deployment-plan.js.map +0 -1
  733. package/src/repository-policy/foundation-profile.js.map +0 -1
  734. package/src/repository-policy/index.js.map +0 -1
  735. package/src/repository-policy/policy.js.map +0 -1
  736. package/src/secrets/adapters.js.map +0 -1
  737. package/src/secrets/aws-control-plane.js.map +0 -1
  738. package/src/secrets/declaration-verification.js.map +0 -1
  739. package/src/secrets/guardrails.js.map +0 -1
  740. package/src/secrets/index.js.map +0 -1
  741. package/src/secrets/metadata.js.map +0 -1
  742. package/src/secrets/model.js.map +0 -1
  743. package/src/secrets/operator.js.map +0 -1
  744. package/src/secrets/permissions.js.map +0 -1
  745. package/src/secrets/personal-command.js.map +0 -1
  746. package/src/secrets/personal-ledger.js.map +0 -1
  747. package/src/secrets/registry.js.map +0 -1
  748. package/src/secrets/verification.js.map +0 -1
  749. package/src/secrets/workload-access.js.map +0 -1
  750. package/src/supply-chain/action-pins.js.map +0 -1
  751. package/src/supply-chain/blueprint-trust-git.js.map +0 -1
  752. package/src/supply-chain/blueprint-trust-process.js.map +0 -1
  753. package/src/supply-chain/blueprint-trust.js.map +0 -1
  754. package/src/supply-chain/blueprint-verification-authority.js.map +0 -1
  755. package/src/supply-chain/blueprint-verification-execution.js.map +0 -1
  756. package/src/supply-chain/build-output.js.map +0 -1
  757. package/src/supply-chain/common.js.map +0 -1
  758. package/src/supply-chain/container-artifact-contract.js.map +0 -1
  759. package/src/supply-chain/container-release.js.map +0 -1
  760. package/src/supply-chain/ecr-applicability.js.map +0 -1
  761. package/src/supply-chain/ecr-scanning.js.map +0 -1
  762. package/src/supply-chain/ecs-deployed-image.js.map +0 -1
  763. package/src/supply-chain/errors.js.map +0 -1
  764. package/src/supply-chain/generated-blueprint-trust-command.js.map +0 -1
  765. package/src/supply-chain/generated-command.js.map +0 -1
  766. package/src/supply-chain/generated-container-release-command.js.map +0 -1
  767. package/src/supply-chain/generated-ecr-collector-command.js.map +0 -1
  768. package/src/supply-chain/generated-files.js.map +0 -1
  769. package/src/supply-chain/generated-scanner-command.js.map +0 -1
  770. package/src/supply-chain/index.js.map +0 -1
  771. package/src/supply-chain/inventory.js.map +0 -1
  772. package/src/supply-chain/license-expression.js.map +0 -1
  773. package/src/supply-chain/pnpm-toolchain-authority.js.map +0 -1
  774. package/src/supply-chain/policy.js.map +0 -1
  775. package/src/supply-chain/publication.js.map +0 -1
  776. package/src/supply-chain/sbom.js.map +0 -1
  777. package/src/supply-chain/scanner.js.map +0 -1
  778. package/src/supply-chain/vendored-source.js.map +0 -1
  779. package/src/testing-evidence/fixture-scope.js.map +0 -1
  780. package/src/testing-evidence/index.js.map +0 -1
  781. package/src/testing-evidence/quarantine.js.map +0 -1
  782. package/src/testing-evidence/result.js.map +0 -1
  783. package/src/testing-evidence/runner-adapter.js.map +0 -1
  784. package/src/testing-evidence/sensitive-artifacts.js.map +0 -1
  785. package/src/validation.js.map +0 -1
  786. package/src/work-markers/index.js.map +0 -1
  787. package/src/work-markers/work-markers.js.map +0 -1
  788. package/src/workload-roles/account-baseline.js.map +0 -1
  789. package/src/workload-roles/authority.js.map +0 -1
  790. package/src/workload-roles/aws-adapter.js.map +0 -1
  791. package/src/workload-roles/aws-internal-handler.js.map +0 -1
  792. package/src/workload-roles/aws-s3-state.js.map +0 -1
  793. package/src/workload-roles/aws-sdk-control-plane.js.map +0 -1
  794. package/src/workload-roles/boundary.js.map +0 -1
  795. package/src/workload-roles/convergence.js.map +0 -1
  796. package/src/workload-roles/effective-policy.js.map +0 -1
  797. package/src/workload-roles/handler.js.map +0 -1
  798. package/src/workload-roles/history.js.map +0 -1
  799. package/src/workload-roles/index.js.map +0 -1
  800. package/src/workload-roles/injection.js.map +0 -1
  801. package/src/workload-roles/manifest.js.map +0 -1
  802. package/src/workload-roles/provisioner.js.map +0 -1
  803. package/src/workload-roles/registration.js.map +0 -1
  804. package/src/workload-roles/stage-boundary.js.map +0 -1
  805. package/src/workload-roles/standard-slice.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { type DeveloperAgentContext, type DeveloperAgentGeneratorInput, type DeveloperAgentGeneratorPreview, type DeveloperAgentPlan } from './model.js';
1
+ import { type DeveloperAgentAuthorityClass, type DeveloperAgentContext, type DeveloperAgentGeneratorInput, type DeveloperAgentGeneratorPreview, type DeveloperAgentPlan } from './model.js';
2
2
  import { type DeveloperAgentOperationRegistry } from './operation-registry.js';
3
3
  export interface DeveloperAgentPlanRequest {
4
4
  acceptanceCriteriaReference: string;
@@ -15,4 +15,11 @@ export declare class DeveloperAgentPlanInputError extends Error {
15
15
  readonly classification: "invalid-input";
16
16
  constructor(message: string);
17
17
  }
18
+ /**
19
+ * Names the gate an approval point actually stands for. Development-stage
20
+ * work through the bounded owners carries no approval point at all; the
21
+ * remaining points are protected authority, destructive recovery, an explicit
22
+ * shared-state apply, or host-level consent (dev-setup trust and ports).
23
+ */
24
+ export declare function approvalPointDescription(authority: DeveloperAgentAuthorityClass): string;
18
25
  export declare function planDeveloperAgentWork(context: DeveloperAgentContext, registry: DeveloperAgentOperationRegistry, request: DeveloperAgentPlanRequest, options?: DeveloperAgentPlanOptions): DeveloperAgentPlan;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeveloperAgentPlanInputError = void 0;
4
+ exports.approvalPointDescription = approvalPointDescription;
4
5
  exports.planDeveloperAgentWork = planDeveloperAgentWork;
5
6
  const model_js_1 = require("./model.js");
6
7
  const index_js_1 = require("../testing-evidence/index.js");
@@ -93,10 +94,11 @@ function isSafeWorkspacePath(path) {
93
94
  (0, workspace_path_js_1.isCanonicalDeveloperAgentWorkspacePath)(path) &&
94
95
  path.split('/').every((segment) => segment.length > 0 && segment !== '.'));
95
96
  }
96
- function blockingWarnings(context, readOnly, upgradeTarget) {
97
+ function blockingWarnings(context, readOnly, upgradeTarget, allowDirtyDevelopment = false) {
97
98
  const blocking = new Set(model_js_1.DEVELOPER_AGENT_CONTEXT_BLOCKING_FAILURES);
98
99
  if (!readOnly) {
99
- blocking.add('dirty-worktree');
100
+ if (!allowDirtyDevelopment)
101
+ blocking.add('dirty-worktree');
100
102
  blocking.add('stale-base');
101
103
  }
102
104
  const ownershipVersions = context.workspace.ownershipVersions;
@@ -120,16 +122,14 @@ function blockingWarnings(context, readOnly, upgradeTarget) {
120
122
  }
121
123
  if (upgradeTarget === 'workspace')
122
124
  return true;
123
- if (upgradeTarget === 'foundation' &&
124
- !hasExpectedVersionDrift('workspace')) {
125
- return drift.kind === 'foundation' && drift.target === 'foundation';
126
- }
127
- if (upgradeTarget !== 'foundation' &&
128
- !hasExpectedVersionDrift('workspace') &&
129
- !hasExpectedVersionDrift('foundation')) {
130
- return drift.kind === 'slice' && drift.target === upgradeTarget;
125
+ if (hasExpectedVersionDrift('workspace'))
126
+ return false;
127
+ if (upgradeTarget === 'foundation') {
128
+ return drift.kind === 'foundation' || drift.kind === 'slice';
131
129
  }
132
- return false;
130
+ if (hasExpectedVersionDrift('foundation'))
131
+ return false;
132
+ return drift.kind === 'slice';
133
133
  };
134
134
  return context.warnings.filter((warning) => blocking.has(warning.classification) &&
135
135
  !mayConsumeExpectedVersionDrift(warning));
@@ -223,6 +223,27 @@ function policyBlockers(context, operation) {
223
223
  }
224
224
  return blockers;
225
225
  }
226
+ /**
227
+ * Names the gate an approval point actually stands for. Development-stage
228
+ * work through the bounded owners carries no approval point at all; the
229
+ * remaining points are protected authority, destructive recovery, an explicit
230
+ * shared-state apply, or host-level consent (dev-setup trust and ports).
231
+ */
232
+ function approvalPointDescription(authority) {
233
+ switch (authority) {
234
+ case 'protected-mutate':
235
+ return 'Matching GitHub environment and OIDC authority';
236
+ case 'destructive':
237
+ return 'Explicit human approval of the exact target and retained recovery proof';
238
+ case 'protected-propose':
239
+ return 'Human approval before the owning tool applies shared GitHub or AWS state with --apply';
240
+ case 'development-mutate':
241
+ return 'Human consent to host trust-store or privileged port-forwarding changes; the human answers any OS credential prompt';
242
+ case 'local-source':
243
+ case 'read-only':
244
+ return 'Explicit human approval before invoking the owning tool';
245
+ }
246
+ }
226
247
  function nextAction(operation, blockers) {
227
248
  if (blockers.length > 0) {
228
249
  return {
@@ -352,7 +373,9 @@ function planDeveloperAgentWork(context, registry, request, options = {}) {
352
373
  const blockers = [
353
374
  ...blockingWarnings(context, readOnlyForSourceWarnings, request.generatorInput?.generator === 'upgrade'
354
375
  ? request.generatorInput.name
355
- : undefined),
376
+ : undefined, operation.owner === 'source-edit' ||
377
+ (operation.authority === 'development-mutate' &&
378
+ context.policy.canonicalStage === 'development')),
356
379
  ...concurrentPathBlockers(context, selectedFiles, readOnlyForSourceWarnings),
357
380
  ...policyBlockers(context, operation),
358
381
  ].filter((blocker, index, values) => values.findIndex((candidate) => candidate.classification === blocker.classification &&
@@ -380,9 +403,7 @@ function planDeveloperAgentWork(context, registry, request, options = {}) {
380
403
  ? [
381
404
  {
382
405
  authority: operation.authority,
383
- description: operation.authority === 'protected-mutate'
384
- ? 'Matching GitHub environment and OIDC authority'
385
- : 'Explicit owning-tool approval',
406
+ description: approvalPointDescription(operation.authority),
386
407
  },
387
408
  ]
388
409
  : [],
@@ -438,7 +459,9 @@ function planDeveloperAgentWork(context, registry, request, options = {}) {
438
459
  selectedProjects: operation.projects,
439
460
  verification: [
440
461
  ...new Set([
441
- ...context.requiredVerification,
462
+ ...(operation.owner === 'source-edit'
463
+ ? []
464
+ : context.requiredVerification),
442
465
  ...operation.requiredVerification,
443
466
  ]),
444
467
  ].sort(),
@@ -21,6 +21,8 @@ export declare class DeferredDeveloperAgentTree implements Tree {
21
21
  isFile(path: string): boolean;
22
22
  children(path: string): string[];
23
23
  listChanges(): FileChange[];
24
+ /** Inspect pending configuration without adding parent edits to this transaction. */
25
+ hasPendingChange(path: string): boolean;
24
26
  changePermissions(path: string, mode: Mode): void;
25
27
  apply(): void;
26
28
  }
@@ -64,7 +64,9 @@ function developerAgentPreviewOwnershipModes(tree, target) {
64
64
  }
65
65
  add('', result.value);
66
66
  }
67
- if (target === 'foundation') {
67
+ if (target === 'foundation' ||
68
+ (target !== 'workspace' &&
69
+ tree.exists('packages/foundation/.ebk/ownership.json'))) {
68
70
  const source = tree.read('packages/foundation/.ebk/ownership.json', 'utf8');
69
71
  const result = (0, index_js_1.validateFoundationOwnershipRecord)(JSON.parse(source ?? 'null'));
70
72
  if (!result.valid) {
@@ -72,7 +74,7 @@ function developerAgentPreviewOwnershipModes(tree, target) {
72
74
  }
73
75
  add('packages/foundation', result.value);
74
76
  }
75
- else if (target !== 'workspace') {
77
+ if (target !== 'workspace' && target !== 'foundation') {
76
78
  const prefix = `packages/${target}`;
77
79
  const source = tree.read(`${prefix}/.ebk/ownership.json`, 'utf8');
78
80
  const result = (0, index_js_1.validateGeneratedOwnershipRecord)(JSON.parse(source ?? 'null'));
@@ -181,6 +183,16 @@ class DeferredDeveloperAgentTree {
181
183
  }))
182
184
  .sort((left, right) => (0, ordering_js_1.compareDeveloperAgentStrings)(left.path, right.path));
183
185
  }
186
+ /** Inspect pending configuration without adding parent edits to this transaction. */
187
+ hasPendingChange(path) {
188
+ const normalized = canonicalPath(path);
189
+ return (this.changes.has(normalized) ||
190
+ (this.source instanceof DeferredDeveloperAgentTree
191
+ ? this.source.hasPendingChange(normalized)
192
+ : this.source
193
+ .listChanges()
194
+ .some((change) => change.path === normalized)));
195
+ }
184
196
  changePermissions(path, mode) {
185
197
  const contents = this.current(path);
186
198
  if (contents === null) {
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.developerAgentGeneratorPreviewSource = developerAgentGeneratorPreviewSource;
4
4
  function developerAgentGeneratorPreviewSource(context) {
5
+ if (context.git.commit === null) {
6
+ throw new Error('Commit-bound generator previews require an initial Git commit; local orientation and feature checks do not establish committed-source authority.');
7
+ }
5
8
  return {
6
9
  blueprintVersions: [...context.workspace.blueprintVersions],
7
10
  ...(context.workspace.candidateProvenance
@@ -54,7 +54,11 @@ const OPERATION_OWNER_SET = new Set(model_js_1.DEVELOPER_AGENT_OPERATION_OWNERS)
54
54
  const POLICY_LIFECYCLE_ACTION_SET = new Set(model_js_1.DEVELOPER_AGENT_POLICY_LIFECYCLE_ACTIONS);
55
55
  const STABLE_GENERATOR_SET = new Set(model_js_1.DEVELOPER_AGENT_STABLE_GENERATORS);
56
56
  const GENERATOR_MODE_SET = new Set(model_js_1.DEVELOPER_AGENT_GENERATOR_MODES);
57
- const PRODUCTION_PROFILE_SET = new Set(['cost-optimized', 'standard']);
57
+ const PRODUCTION_PROFILE_SET = new Set([
58
+ 'cost-optimized',
59
+ 'balanced',
60
+ 'standard',
61
+ ]);
58
62
  const BLOCKING_FAILURES = new Set([
59
63
  'unsupported-operation',
60
64
  'invalid-input',
@@ -478,10 +482,20 @@ function validateGitContext(value, path, issues) {
478
482
  return false;
479
483
  requireInteger(record.ahead, `${path}.ahead`, issues, 0, 1_000_000);
480
484
  requireInteger(record.behind, `${path}.behind`, issues, 0, 1_000_000);
481
- requireSafeString(record.commit, `${path}.commit`, issues, {
482
- maximumLength: 64,
483
- pattern: COMMIT_PATTERN,
484
- });
485
+ if (record.commit !== null) {
486
+ requireSafeString(record.commit, `${path}.commit`, issues, {
487
+ maximumLength: 64,
488
+ pattern: COMMIT_PATTERN,
489
+ });
490
+ }
491
+ else if (typeof record.branch !== 'string' ||
492
+ record.ahead !== 0 ||
493
+ record.behind !== 0 ||
494
+ has(record, 'upstream') ||
495
+ has(record, 'baseCommit') ||
496
+ has(record, 'headCommit')) {
497
+ addIssue(issues, `${path}.commit`, 'uncommitted state requires a symbolic branch without upstream or comparison authority');
498
+ }
485
499
  requireBoolean(record.concurrentChangeInspectionComplete, `${path}.concurrentChangeInspectionComplete`, issues);
486
500
  const concurrentChanges = requireArray(record.concurrentChanges, `${path}.concurrentChanges`, issues, MAX_CONCURRENT_PATHS);
487
501
  const concurrentPaths = new Set();
@@ -516,10 +530,12 @@ function validateGitContext(value, path, issues) {
516
530
  }
517
531
  requireInteger(concurrent.worktreeCount, `${entryPath}.worktreeCount`, issues, 1, 64);
518
532
  });
519
- requireSafeString(record.defaultBaseCommit, `${path}.defaultBaseCommit`, issues, {
520
- maximumLength: 64,
521
- pattern: COMMIT_PATTERN,
522
- });
533
+ if (record.defaultBaseCommit !== null) {
534
+ requireSafeString(record.defaultBaseCommit, `${path}.defaultBaseCommit`, issues, {
535
+ maximumLength: 64,
536
+ pattern: COMMIT_PATTERN,
537
+ });
538
+ }
523
539
  requireSafeString(record.defaultBaseRef, `${path}.defaultBaseRef`, issues, {
524
540
  maximumLength: MAX_PATH_LENGTH,
525
541
  });
@@ -6,6 +6,7 @@ const node_util_1 = require("node:util");
6
6
  const semver_1 = require("semver");
7
7
  const node_fs_1 = require("node:fs");
8
8
  const node_path_1 = require("node:path");
9
+ const contracts_js_1 = require("../local-dev/contracts.js");
9
10
  const index_js_1 = require("../ownership/index.js");
10
11
  const index_js_2 = require("../repository-policy/index.js");
11
12
  const index_js_3 = require("../work-markers/index.js");
@@ -222,7 +223,22 @@ function selectedDependencyClosureNodes(graph, selected) {
222
223
  const node = pending.pop();
223
224
  if (!node)
224
225
  continue;
225
- for (const { target } of graph.dependencies[node.name] ?? []) {
226
+ let localDependencies = [];
227
+ try {
228
+ const adapter = (0, contracts_js_1.validateLocalDevAdapter)(node.data.metadata?.['ebk']
229
+ ?.localDev);
230
+ if (adapter.adapterVersion === 3) {
231
+ localDependencies = adapter.dependencySlices;
232
+ }
233
+ }
234
+ catch {
235
+ // The operation registry rejects malformed metadata; do not traverse it.
236
+ }
237
+ const dependencyNames = new Set([
238
+ ...(graph.dependencies[node.name] ?? []).map(({ target }) => target),
239
+ ...localDependencies,
240
+ ]);
241
+ for (const target of dependencyNames) {
226
242
  const dependency = graph.nodes[target];
227
243
  if (!dependency || closure.has(target))
228
244
  continue;
@@ -612,7 +628,7 @@ function protectedExternalBlueprintVerification(root, frameworkVersion, records,
612
628
  git.defaultBaseRef === 'refs/remotes/origin/develop'
613
629
  ? 'develop'
614
630
  : undefined;
615
- if (!protectedBranch)
631
+ if (!protectedBranch || !git.commit || !git.defaultBaseCommit)
616
632
  return unavailable();
617
633
  const configurationPaths = (0, blueprint_verification_authority_js_1.assertNoMutableBlueprintVerificationConfiguration)(root);
618
634
  (0, blueprint_verification_authority_js_1.assertBlueprintVerificationNxAuthority)(readBoundedWorkspaceFile(root, 'nx.json', 'Blueprint verification Nx authority', MAX_CONTROL_JSON_BYTES).bytes.toString('utf8'));
@@ -862,6 +878,23 @@ function policyContext(root, stage, policy, nodes) {
862
878
  };
863
879
  });
864
880
  const fields = [
881
+ {
882
+ name: 'workspaceDeploymentId',
883
+ value: policy.workspaceDeploymentId,
884
+ },
885
+ {
886
+ name: 'workspaceDeploymentProvenance.kind',
887
+ value: policy.workspaceDeploymentProvenance.kind,
888
+ },
889
+ { name: 'deploymentProfile', value: policy.deploymentProfile },
890
+ {
891
+ name: 'deploymentRegion',
892
+ value: policy.deploymentRegion ?? 'unconfigured',
893
+ },
894
+ ...['development', 'staging', 'production'].map((stage) => ({
895
+ name: `deploymentAccounts.${stage}`,
896
+ value: policy.deploymentAccounts[stage] ?? 'unconfigured',
897
+ })),
865
898
  { name: 'productionAccess', value: policy.productionAccess },
866
899
  {
867
900
  name: 'productionApproval.mode',
@@ -886,11 +919,16 @@ function policyContext(root, stage, policy, nodes) {
886
919
  decisions,
887
920
  policy: {
888
921
  $schema: policy.$schema ?? null,
922
+ deploymentAccounts: policy.deploymentAccounts,
923
+ deploymentProfile: policy.deploymentProfile,
924
+ deploymentRegion: policy.deploymentRegion,
889
925
  productionAccess: policy.productionAccess,
890
926
  productionApproval: policy.productionApproval,
891
927
  productionFoundation: policy.productionFoundation,
892
928
  schemaVersion: policy.schemaVersion,
893
929
  slices: Object.fromEntries(Object.entries(policy.slices).sort(([left], [right]) => (0, ordering_js_1.compareDeveloperAgentStrings)(left, right))),
930
+ workspaceDeploymentId: policy.workspaceDeploymentId,
931
+ workspaceDeploymentProvenance: policy.workspaceDeploymentProvenance,
894
932
  },
895
933
  selected,
896
934
  stage,
@@ -1047,8 +1085,7 @@ function inspectDeveloperAgentWorkspace(options) {
1047
1085
  let policy;
1048
1086
  const policyWarnings = [];
1049
1087
  try {
1050
- const policySource = readBoundedWorkspaceFile(root, index_js_2.REPOSITORY_POLICY_FILE, 'Repository Operating Policy', MAX_CONTROL_JSON_BYTES).bytes.toString('utf8');
1051
- policy = (0, index_js_2.parseRepositoryOperatingPolicy)(policySource, index_js_2.REPOSITORY_POLICY_FILE);
1088
+ policy = (0, index_js_2.readRepositoryOperatingPolicy)(root);
1052
1089
  }
1053
1090
  catch {
1054
1091
  policyWarnings.push(warning('policy-conflict', 'Repository Operating Policy is missing, malformed, or contradictory.'));
@@ -1062,12 +1099,17 @@ function inspectDeveloperAgentWorkspace(options) {
1062
1099
  const marker = markerContext(root);
1063
1100
  const projectTargets = registryNodes.map((node) => ({
1064
1101
  context: projectContext(options.graph, node),
1102
+ localDev: node.data.metadata?.['ebk']?.localDev,
1065
1103
  targets: (node.data.targets ?? {}),
1066
1104
  }));
1067
1105
  const externalVerification = protectedExternalBlueprintVerification(root, versions.workspace.frameworkVersion, ownership.records, options.graph, new Set(registryNodes.map(({ name }) => name)), options.blueprintTrustNow ?? new Date().toISOString(), options.git);
1068
1106
  const operationRegistry = (0, operation_registry_js_1.createDeveloperAgentOperationRegistry)(projectTargets, {
1107
+ allSliceProjectNames: Object.values(options.graph.nodes)
1108
+ .filter((node) => node.data.tags?.includes('type:slice'))
1109
+ .map(({ name }) => name),
1069
1110
  exposedProjectNames: nodes.map(({ name }) => name),
1070
1111
  externalOwnedProjectNames: externalOwnedProjectNames(root, registryNodes, externalOwnershipRoots, options.externalOwnershipHistory, foundationProjectName),
1112
+ externalOwnershipHistoryComplete: options.externalOwnershipHistory.complete,
1071
1113
  namedInputDefinitions: [
1072
1114
  options.workspaceNamedInputs ?? { runtime: 'uninspected' },
1073
1115
  ...Object.values(options.graph.nodes).map((node) => node.data.namedInputs ?? {}),
@@ -1088,13 +1130,26 @@ function inspectDeveloperAgentWorkspace(options) {
1088
1130
  ...externalVerification.warnings,
1089
1131
  ...unsupportedWarnings,
1090
1132
  ]);
1133
+ // The name "verify" alone is not a framework verification obligation.
1134
+ // Adopter-owned authoring projects may run arbitrary recipe checks; they
1135
+ // remain visible but cannot inject authority into an unrelated operation.
1136
+ // Keep generated obligations even when their implementation is tampered
1137
+ // with, so planning still refuses unauthenticated required verification.
1138
+ const governedProjectNames = new Set([
1139
+ identity.name,
1140
+ ...(foundationProjectName ? [foundationProjectName] : []),
1141
+ ...ownership.records.flatMap(({ slice }) => slice ? [slice.slice, ...slice.projects] : []),
1142
+ ]);
1143
+ const authenticatedTargets = new Set(operationRegistry.authenticatedTargets);
1091
1144
  const requiredVerification = [
1092
1145
  ...new Set([
1093
1146
  ...ownership.records.flatMap((record) => record.slice && selectedProjectNames.has(record.slice.slice)
1094
1147
  ? record.slice.verification.map((target) => `${record.slice.slice}:${target}`)
1095
1148
  : []),
1096
1149
  ...projects
1097
- .filter(({ targets }) => targets.includes('verify'))
1150
+ .filter(({ name, targets }) => targets.includes('verify') &&
1151
+ (governedProjectNames.has(name) ||
1152
+ authenticatedTargets.has(`${name}:verify`)))
1098
1153
  .map(({ name }) => `${name}:verify`),
1099
1154
  ]),
1100
1155
  ].sort();
@@ -16,6 +16,12 @@ const TARGET_OPTIONS = Object.freeze({
16
16
  protectedBranch: 'develop',
17
17
  protectedRef: 'refs/remotes/origin/develop',
18
18
  }),
19
+ 'blueprint-trust-check-main': Object.freeze({
20
+ operation: 'adopt',
21
+ output: '.ebk/evidence/supply-chain/blueprint-trust.json',
22
+ protectedBranch: 'main',
23
+ protectedRef: 'refs/remotes/origin/main',
24
+ }),
19
25
  'blueprint-trust-check-protected': Object.freeze({
20
26
  operation: 'deploy',
21
27
  output: '.ebk/evidence/supply-chain/blueprint-trust.json',
@@ -7,3 +7,5 @@ interface DeploymentPlanOptions {
7
7
  }
8
8
  declare const executor: PromiseExecutor<DeploymentPlanOptions>;
9
9
  export default executor;
10
+ /** Derive protected OCI work from the committed inventory, not Slice existence. */
11
+ export declare function hasContainerArtifacts(value: unknown): boolean;
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.hasContainerArtifacts = hasContainerArtifacts;
3
4
  const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
4
6
  const devkit_1 = require("@nx/devkit");
5
7
  const index_js_1 = require("../../repository-policy/index.js");
6
8
  const index_js_2 = require("../../work-markers/index.js");
@@ -10,11 +12,22 @@ function writeGithubOutputs(plan) {
10
12
  return;
11
13
  (0, node_fs_1.appendFileSync)(output, [
12
14
  `foundation_project=${plan.foundationProject ?? ''}`,
15
+ `deployment_profile=${plan.deploymentProfile}`,
16
+ `deployment_region=${plan.deploymentRegion}`,
17
+ `development_account_id=${plan.deploymentAccounts.development ?? ''}`,
18
+ `staging_account_id=${plan.deploymentAccounts.staging ?? ''}`,
19
+ `production_account_id=${plan.deploymentAccounts.production ?? ''}`,
13
20
  `foundation_profile=${plan.effectiveProductionProfile ?? ''}`,
14
21
  `has_slices=${plan.sliceProjects.length > 0 ? 'true' : 'false'}`,
15
22
  `ordered_projects=${plan.orderedProjects.join(',')}`,
16
23
  `production_approval_mode=${plan.productionApprovalMode}`,
17
24
  `slice_projects=${plan.sliceProjects.join(',')}`,
25
+ // One matrix row per selected Slice so the protected OCI build fans out
26
+ // per Slice and architecture instead of looping on one runner.
27
+ `slice_matrix=${JSON.stringify(plan.sliceProjects.map((project) => ({ project })))}`,
28
+ `has_containers=${plan.containerProjects.length > 0 ? 'true' : 'false'}`,
29
+ `container_projects=${plan.containerProjects.join(',')}`,
30
+ `container_matrix=${JSON.stringify(plan.containerProjects.map((project) => ({ project })))}`,
18
31
  '',
19
32
  ].join('\n'), 'utf8');
20
33
  }
@@ -38,8 +51,23 @@ const executor = async (options, context) => {
38
51
  : {}),
39
52
  stage: options.stage,
40
53
  });
41
- devkit_1.logger.info(`[ebk-deployment-plan] validated before AWS access\n${JSON.stringify(plan, null, 2)}`);
42
- writeGithubOutputs(plan);
54
+ const containerProjects = options.action === 'deploy'
55
+ ? plan.sliceProjects.filter((name) => {
56
+ const project = context.projectsConfigurations?.projects[name];
57
+ if (!project?.root)
58
+ throw new Error(`Release inventory root is absent for ${name}.`);
59
+ const inventoryPath = (0, node_path_1.resolve)(context.root, project.root, 'operations/release.json');
60
+ const local = (0, node_path_1.relative)(context.root, inventoryPath);
61
+ if ((0, node_path_1.isAbsolute)(local) ||
62
+ local === '..' ||
63
+ local.startsWith('../') ||
64
+ local.startsWith('..\\'))
65
+ throw new Error(`Release inventory for ${name} is outside the workspace.`);
66
+ return hasContainerArtifacts(JSON.parse((0, node_fs_1.readFileSync)(inventoryPath, 'utf8')));
67
+ })
68
+ : [];
69
+ devkit_1.logger.info(`[ebk-deployment-plan] validated before AWS access\n${JSON.stringify({ ...plan, containerProjects }, null, 2)}`);
70
+ writeGithubOutputs({ ...plan, containerProjects });
43
71
  return { success: true };
44
72
  }
45
73
  catch (error) {
@@ -48,4 +76,31 @@ const executor = async (options, context) => {
48
76
  }
49
77
  };
50
78
  exports.default = executor;
79
+ /** Derive protected OCI work from the committed inventory, not Slice existence. */
80
+ function hasContainerArtifacts(value) {
81
+ const inventory = value;
82
+ if (inventory?.schemaVersion !== 1 ||
83
+ !Array.isArray(inventory.artifactInventory) ||
84
+ inventory.artifactInventory.length === 0)
85
+ throw new Error('Release inventory is absent or malformed.');
86
+ let containers = false;
87
+ for (const artifact of inventory.artifactInventory) {
88
+ if (!artifact ||
89
+ !artifact.finalArtifact ||
90
+ typeof artifact.finalArtifact.family !== 'string')
91
+ throw new Error('Release artifact identity is malformed.');
92
+ if (artifact.finalArtifact.family === 'sst-provider-artifact') {
93
+ if (artifact.finalArtifact.support !== 'unsupported')
94
+ throw new Error('Provider artifacts require their declared support boundary.');
95
+ continue;
96
+ }
97
+ if (artifact.finalArtifact.family !== 'oci-image')
98
+ throw new Error('Release artifact family is unsupported.');
99
+ if (artifact.finalArtifact.support !== 'supported' ||
100
+ artifact.finalArtifact.imageConsumption !== 'digest-qualified')
101
+ throw new Error('OCI artifacts require supported digest-qualified release identity.');
102
+ containers = true;
103
+ }
104
+ return containers;
105
+ }
51
106
  //# sourceMappingURL=deployment-plan.js.map
@@ -85,11 +85,10 @@ function effectiveProbeAuthorities(rootCertificatePath) {
85
85
  return (0, node_fs_1.readFileSync)(rootCertificatePath);
86
86
  }
87
87
  async function inspectLocalDevelopment(options, context, dependencies = {}) {
88
- const stage = (dependencies.personalStageResolver ?? (0, personal_stage_js_1.createPersonalStageResolver)()).resolve().stage;
89
88
  const hostname = options.hostname?.trim() ||
90
89
  (0, identity_js_1.createFleetHostname)((0, identity_js_1.createFleetId)({
91
90
  checkoutPath: context.root,
92
- stage,
91
+ stage: (dependencies.personalStageResolver ?? (0, personal_stage_js_1.createPersonalStageResolver)()).resolve(context.root).stage,
93
92
  workspaceName: context.projectName ?? 'workspace',
94
93
  }));
95
94
  const paths = (0, tls_js_1.localTlsPaths)(options.appData);
@@ -147,9 +146,17 @@ async function inspectLocalDevelopment(options, context, dependencies = {}) {
147
146
  const trust = (dependencies.inspectTrust ?? inspectCertificateTrust)(paths.rootCertificate, paths.intermediateCertificate, paths.leafCertificate, hostname);
148
147
  let authorities;
149
148
  let connectivity = 'missing';
150
- if (trust === 'ready' && resolver.length > 0) {
149
+ {
151
150
  try {
152
- authorities = effectiveProbeAuthorities(paths.rootCertificate);
151
+ // Prove the fleet's exact private chain without installing it into the
152
+ // operating system. Browser automation admits only this chain/origin.
153
+ authorities =
154
+ trust === 'ready'
155
+ ? effectiveProbeAuthorities(paths.rootCertificate)
156
+ : [
157
+ (0, node_fs_1.readFileSync)(paths.rootCertificate),
158
+ (0, node_fs_1.readFileSync)(paths.intermediateCertificate),
159
+ ];
153
160
  await (dependencies.probeExplicitTls ?? effects_js_1.probeEphemeralTlsEndpoint)({
154
161
  ca: authorities,
155
162
  certificate: (0, node_fs_1.readFileSync)(paths.leafCertificate),
@@ -162,8 +169,8 @@ async function inspectLocalDevelopment(options, context, dependencies = {}) {
162
169
  issues.push(`Supported explicit-port TLS effect probe failed: ${error instanceof Error ? error.message : String(error)}`);
163
170
  }
164
171
  }
165
- else {
166
- issues.push('The generated certificate chain is not trusted by the detected user trust provider.');
172
+ if (trust !== 'ready') {
173
+ issues.push('System trust is not installed. Use the generated verify-local-browser target for browser-scoped trust; human browsers may require explicit ebk dev setup --trust after reviewing the root.');
167
174
  }
168
175
  let state;
169
176
  if ((0, node_fs_1.existsSync)(paths.gatewayState)) {
@@ -0,0 +1,23 @@
1
+ import { type ExecutorContext, type PromiseExecutor } from '@nx/devkit';
2
+ import { type TaskAuthorityEffects } from '../../local-dev/task-authority.js';
3
+ import { createLocalFederatedCredentialTransport } from '../local-deploy/federated-credential-transport.js';
4
+ import { runSstCommand, type SstLifecycleOptions } from '../sst-lifecycle/run-sst-command.js';
5
+ import { inspectNeverCreatedTaskStack, verifyRemovedTaskStack } from './task-stack-absence.js';
6
+ export type DevTaskCleanupOptions = Record<string, never>;
7
+ export interface DevTaskCleanupDependencies {
8
+ authority?: TaskAuthorityEffects;
9
+ createTransport?: typeof createLocalFederatedCredentialTransport;
10
+ environment?: NodeJS.ProcessEnv;
11
+ preflight?: typeof preflightTaskRemove;
12
+ inspectStack?: typeof inspectNeverCreatedTaskStack;
13
+ verifyStack?: typeof verifyRemovedTaskStack;
14
+ run?: typeof runSstCommand;
15
+ }
16
+ declare function preflightTaskRemove(options: SstLifecycleOptions, context: ExecutorContext, environment: NodeJS.ProcessEnv): Promise<string>;
17
+ /** Internal generated cleanup target: never accepts a caller-selected task. */
18
+ export declare function runDevTaskCleanup(options: DevTaskCleanupOptions, context: ExecutorContext, dependencies?: DevTaskCleanupDependencies): Promise<{
19
+ success: boolean;
20
+ taskStack?: 'already-absent';
21
+ }>;
22
+ declare const executor: PromiseExecutor<DevTaskCleanupOptions>;
23
+ export default executor;