@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,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DeveloperAgentOperationRegistryError = void 0;
3
+ exports.ROUTER_WAF_REHEARSAL_OWNER_RATIONALE = exports.GRAPH_INTERACTIVE_RATIONALE = exports.FORMAT_WRITE_OWNER_RATIONALE = exports.WORKLOAD_DEV_OWNER_RATIONALE = exports.DOCKER_BUILD_OWNER_RATIONALE = exports.DEPLOY_LOCAL_OWNER_RATIONALE = exports.DeveloperAgentOperationRegistryError = void 0;
4
4
  exports.joinDeveloperAgentAuthorityClasses = joinDeveloperAgentAuthorityClasses;
5
5
  exports.createDeveloperAgentOperationRegistry = createDeveloperAgentOperationRegistry;
6
6
  exports.requireDeveloperAgentOperation = requireDeveloperAgentOperation;
7
7
  exports.operationLooksMutating = operationLooksMutating;
8
8
  const node_util_1 = require("node:util");
9
+ const contracts_js_1 = require("../local-dev/contracts.js");
9
10
  const blueprint_trust_js_1 = require("../supply-chain/blueprint-trust.js");
10
11
  const model_js_1 = require("./model.js");
11
12
  const ordering_js_1 = require("./ordering.js");
@@ -36,12 +37,21 @@ const PROTECTED_CANONICAL_STAGES = [
36
37
  'production',
37
38
  ];
38
39
  const PROTECTED_WORKFLOW_ONLY_RATIONALE = 'This exact target is reserved for a protected workflow that supplies reviewed authority and retained evidence; Developer-Agent planning must use that owning workflow.';
39
- const LOCAL_OWNER_ONLY_RATIONALE = 'This exact target is intentionally unavailable to Developer-Agent planning; use its bounded framework owner instead.';
40
+ /**
41
+ * Non-plannable local targets name their real owner. Each string states only
42
+ * behaviour that exists: none of them promises a Developer-Agent plan entry.
43
+ */
44
+ exports.DEPLOY_LOCAL_OWNER_RATIONALE = 'Development deployment is owned by ebk deploy development [slice]: run that command directly with the saved development --profile and the policy-derived --expectedRoleArn. This root target is its Nx implementation, not a separate entry point.';
45
+ exports.DOCKER_BUILD_OWNER_RATIONALE = 'Local workload image builds use the host Docker daemon outside any bounded owner. Verify workload source with its build, test and typecheck targets; ebk deploy development <slice> builds the deployable image.';
46
+ exports.WORKLOAD_DEV_OWNER_RATIONALE = 'A hot workload process started outside the ebk dev Fleet has no owned port, lifecycle or cleanup. Verify Service and Job source with its test, typecheck and build targets and exercise it through ebk deploy development <slice>.';
47
+ exports.FORMAT_WRITE_OWNER_RATIONALE = 'Formatting rewrites source files only: run pnpm nx format:write directly as part of a source edit, then rerun the required verification.';
48
+ exports.GRAPH_INTERACTIVE_RATIONALE = 'nx graph starts an interactive browser server and is not a bounded operation; use ebk agent context for the read-only project inventory.';
49
+ exports.ROUTER_WAF_REHEARSAL_OWNER_RATIONALE = 'The Router WAF rehearsal requires an exact --probeUrl that planning cannot derive: run it directly through its Nx target with that option after a development deployment.';
40
50
  function policyLifecycleActionForTarget(targetName) {
41
- if (exact('deploy', 'deploy-infrastructure', 'deployment-plan', 'foundation-ready', 'infrastructure-plan')(targetName)) {
51
+ if (exact('deploy', 'deploy-infrastructure', 'deploy-local', 'deployment-plan', 'foundation-ready')(targetName)) {
42
52
  return 'deploy';
43
53
  }
44
- if (exact('dev', 'dev-cleanup', 'dev-setup')(targetName))
54
+ if (exact('dev', 'dev-cleanup', 'dev-task-cleanup', 'dev-setup')(targetName))
45
55
  return 'dev';
46
56
  if (exact('db-local-migrate', 'db-migrate')(targetName))
47
57
  return 'migrate';
@@ -60,7 +70,11 @@ function runCommandSignature(targetName, command, settings = {}) {
60
70
  return {
61
71
  ...(settings.continuous ? { continuous: true } : {}),
62
72
  ...(settings.dependsOn
63
- ? { dependsOn: () => settings.dependsOn }
73
+ ? {
74
+ dependsOn: (input) => typeof settings.dependsOn === 'function'
75
+ ? settings.dependsOn(input)
76
+ : settings.dependsOn,
77
+ }
64
78
  : {}),
65
79
  executor: 'nx:run-commands',
66
80
  ...(settings.nonPlannableRationale
@@ -98,20 +112,39 @@ function runScriptSignature(targetName, expectedScript, settings = {}) {
98
112
  function executorSignature(targetName, executor, options, dependsOn, settings = {}) {
99
113
  return {
100
114
  ...settings,
101
- ...(dependsOn ? { dependsOn: () => dependsOn } : {}),
115
+ ...(dependsOn
116
+ ? {
117
+ dependsOn: (input) => typeof dependsOn === 'function' ? dependsOn(input) : dependsOn,
118
+ }
119
+ : {}),
102
120
  executor,
103
121
  optionsMatch: options,
104
122
  targetName,
105
123
  };
106
124
  }
107
- const sliceVerifyDependencies = [
125
+ // Use the inspected target inventory, not the workspace-wide Foundation
126
+ // capability: a SQL-free Slice may coexist with a relational Slice. Any SQL
127
+ // target keeps the SQL prerequisites mandatory, including in a partial/tampered
128
+ // graph where db-check alone was removed.
129
+ function sliceDeclaresSql(input) {
130
+ return input.project.targets.some((name) => [
131
+ 'db-check',
132
+ 'db-generate',
133
+ 'db-migrate',
134
+ 'db-local-down',
135
+ 'db-local-migrate',
136
+ 'db-local-up',
137
+ 'db-retirement-rehearsal',
138
+ ].includes(name));
139
+ }
140
+ const sliceVerifyDependencies = (input) => [
108
141
  'api-contract-check',
109
142
  'async-verify',
110
143
  'authorization-check',
111
144
  'build',
112
145
  'contract-dependencies-check',
113
146
  'data-policy-check',
114
- 'db-check',
147
+ ...(sliceDeclaresSql(input) ? ['db-check'] : []),
115
148
  'frontend-boundaries',
116
149
  'lint',
117
150
  'performance-budget',
@@ -123,11 +156,26 @@ const sliceVerifyDependencies = [
123
156
  'test-integration',
124
157
  'typecheck',
125
158
  ];
159
+ function sliceReleaseArtifactDependencies(input) {
160
+ if (input.project.root !== `packages/${input.project.name}` ||
161
+ !input.project.tags.includes('type:slice')) {
162
+ return [];
163
+ }
164
+ return [
165
+ 'build',
166
+ {
167
+ params: 'ignore',
168
+ projects: [`@${input.project.name}/job-data-retention`],
169
+ target: 'build',
170
+ },
171
+ ];
172
+ }
126
173
  // These are execution signatures, not name heuristics. Generator changes that
127
174
  // alter executor options or dependency closure must update this reviewed list;
128
175
  // external Blueprint verification instead enters through the exact protected
129
176
  // target-closure review passed to the registry below.
130
177
  const TARGET_SIGNATURES = [
178
+ runCommandSignature('verify-local-browser', 'node scripts/verify-local-browser.mjs', { forwardAllArgs: false }),
131
179
  runCommandSignature('api-contract-baseline', 'node --experimental-strip-types scripts/api-contract.mjs baseline', { forwardAllArgs: true }),
132
180
  runCommandSignature('api-contract-check', 'node --experimental-strip-types scripts/api-contract.mjs check', { forwardAllArgs: false }),
133
181
  runCommandSignature('api-contract-generate', 'node --experimental-strip-types scripts/api-contract.mjs generate', { forwardAllArgs: false }),
@@ -140,6 +188,14 @@ const TARGET_SIGNATURES = [
140
188
  protectedBranch: 'develop',
141
189
  protectedRef: 'refs/remotes/origin/develop',
142
190
  }))),
191
+ executorSignature('blueprint-trust-check-main', '@empire-builder-kit/nx:blueprint-trust', exactOptions(() => ({
192
+ operation: 'adopt',
193
+ output: '.ebk/evidence/supply-chain/blueprint-trust.json',
194
+ protectedBranch: 'main',
195
+ protectedRef: 'refs/remotes/origin/main',
196
+ })), undefined, {
197
+ nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
198
+ }),
143
199
  executorSignature('blueprint-trust-check-protected', '@empire-builder-kit/nx:blueprint-trust', exactOptions(() => ({
144
200
  operation: 'deploy',
145
201
  output: '.ebk/evidence/supply-chain/blueprint-trust.json',
@@ -161,7 +217,7 @@ const TARGET_SIGNATURES = [
161
217
  runCommandSignature('async-workflow-recovery-report', 'node --experimental-strip-types scripts/async-recovery.mjs report workflow-recovery', { forwardAllArgs: false }),
162
218
  runCommandSignature('async-workflow-recovery-status', 'node --experimental-strip-types scripts/async-recovery.mjs status workflow-recovery', { forwardAllArgs: false }),
163
219
  runCommandSignature('async-verify', 'node --experimental-strip-types scripts/async-contract.mjs', { forwardAllArgs: false }),
164
- runCommandSignature('build', 'next build web', {
220
+ runCommandSignature('build', 'next build --webpack web', {
165
221
  dependsOn: ['secret-guardrails', 'typecheck'],
166
222
  env: { NODE_ENV: 'production' },
167
223
  }),
@@ -170,14 +226,17 @@ const TARGET_SIGNATURES = [
170
226
  runCommandSignature('contract-dependencies-check', 'node scripts/contract-dependencies.mjs check', { forwardAllArgs: false }),
171
227
  runCommandSignature('contract-dependencies-sync', 'node scripts/contract-dependencies.mjs sync', { forwardAllArgs: false }),
172
228
  runCommandSignature('container-release-amd64', 'node ../../tools/container-release.mjs platform linux/amd64', {
229
+ dependsOn: ['release-artifacts'],
173
230
  forwardAllArgs: false,
174
231
  nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
175
232
  }),
176
233
  runCommandSignature('container-release-arm64', 'node ../../tools/container-release.mjs platform linux/arm64', {
234
+ dependsOn: ['release-artifacts'],
177
235
  forwardAllArgs: false,
178
236
  nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
179
237
  }),
180
238
  runCommandSignature('container-release-assemble', 'node ../../tools/container-release.mjs assemble', {
239
+ dependsOn: ['release-artifacts'],
181
240
  forwardAllArgs: false,
182
241
  nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
183
242
  }),
@@ -204,11 +263,22 @@ const TARGET_SIGNATURES = [
204
263
  runCommandSignature('data-restore-reconcile', 'node --experimental-strip-types scripts/data-restore-reconcile.mjs', { forwardAllArgs: true }),
205
264
  runCommandSignature('data-retention', 'node --experimental-strip-types scripts/data-retention.mjs', { forwardAllArgs: true }),
206
265
  runCommandSignature('deploy', 'node scripts/confirm-deploy.mjs', {
207
- dependsOn: [{ params: 'forward', target: 'db-migrate' }],
266
+ dependsOn: (input) => [
267
+ {
268
+ params: 'forward',
269
+ target: sliceDeclaresSql(input)
270
+ ? 'db-migrate'
271
+ : 'deploy-infrastructure',
272
+ },
273
+ ],
208
274
  forwardAllArgs: true,
209
275
  }),
210
276
  runCommandSignature('dev-prerequisite', 'node scripts/verify-live-mode.mjs', {
211
- dependsOn: ['db-check', 'secret-guardrails', 'typecheck'],
277
+ dependsOn: (input) => [
278
+ ...(sliceDeclaresSql(input) ? ['db-check'] : []),
279
+ 'secret-guardrails',
280
+ 'typecheck',
281
+ ],
212
282
  }),
213
283
  runCommandSignature('frontend-boundaries', 'node scripts/frontend-boundaries.mjs --output=.ebk/evidence/frontend/frontend-boundaries.json', { forwardAllArgs: false }),
214
284
  runCommandSignature('frontend-security-headers', 'node scripts/frontend-security-headers.mjs', {
@@ -251,8 +321,18 @@ const TARGET_SIGNATURES = [
251
321
  runCommandSignature('reliability-remediation', 'node scripts/incident-remediation.mjs', { forwardAllArgs: false }),
252
322
  runCommandSignature('reliability-report', 'node scripts/reliability-report.mjs', { forwardAllArgs: false }),
253
323
  runCommandSignature('reliability-verify', 'node scripts/verify-reliability.mjs', { forwardAllArgs: false }),
254
- runCommandSignature('release-artifacts', 'node --experimental-strip-types scripts/release-artifacts.mjs', { forwardAllArgs: false }),
255
- runCommandSignature('release-candidate', 'node --experimental-strip-types scripts/release-candidate.mjs', { dependsOn: ['release-artifacts'], forwardAllArgs: false }),
324
+ runCommandSignature('release-artifacts', 'node --experimental-strip-types scripts/release-artifacts.mjs', {
325
+ dependsOn: sliceReleaseArtifactDependencies,
326
+ forwardAllArgs: false,
327
+ }),
328
+ runCommandSignature('release-candidate', 'node --experimental-strip-types scripts/release-candidate.mjs', {
329
+ dependsOn: [
330
+ 'api-contract-check',
331
+ 'release-artifacts',
332
+ 'test-integration',
333
+ ],
334
+ forwardAllArgs: false,
335
+ }),
256
336
  runCommandSignature('release-lifecycle', 'node --experimental-strip-types scripts/release-lifecycle.mjs', { forwardAllArgs: false }),
257
337
  runCommandSignature('release-manifest', 'node --experimental-strip-types scripts/release-manifest.mjs', { forwardAllArgs: false }),
258
338
  runCommandSignature('release-rollout', 'node --experimental-strip-types scripts/release-rollout.mjs', { forwardAllArgs: false }),
@@ -285,42 +365,65 @@ const TARGET_SIGNATURES = [
285
365
  nonPlannableRationale: PROTECTED_WORKFLOW_ONLY_RATIONALE,
286
366
  workspaceRoot: true,
287
367
  }),
368
+ runCommandSignature('stage-authority-render', 'node tools/stage-authority-render.mjs', {
369
+ forwardAllArgs: true,
370
+ workspaceRoot: true,
371
+ }),
288
372
  runCommandSignature('workload-role-candidate-report', 'node tools/workload-role-baseline/report-candidate-bundle.mjs', { forwardAllArgs: true, workspaceRoot: true }),
289
373
  runCommandSignature('workload-role-provisioner-build', 'node tools/workload-role-baseline/build.mjs', { workspaceRoot: true }),
290
374
  runCommandSignature('verify', 'node tools/workspace-health.mjs', {
291
375
  dependsOn: ['blueprint-trust-check', 'supply-chain-check'],
292
376
  workspaceRoot: true,
293
377
  }),
378
+ runCommandSignature('verify-proposed', 'node tools/workspace-health.mjs', {
379
+ dependsOn: ['supply-chain-check'],
380
+ workspaceRoot: true,
381
+ }),
294
382
  runCommandSignature('workspace-health', 'node tools/workspace-health.mjs', {
295
383
  workspaceRoot: true,
296
384
  }),
297
- runScriptSignature('build', (input) => input.project.tags.includes('scope:workspace')
298
- ? `nx run-many -t build --exclude=${input.project.name}`
299
- : input.project.root.includes('/services/') ||
385
+ runScriptSignature('build', (input) => {
386
+ if (input.project.tags.includes('scope:workspace')) {
387
+ return `nx run-many -t build --exclude=${input.project.name}`;
388
+ }
389
+ const dataRetentionJob = /^packages\/([^/]+)\/jobs\/data-retention$/u.exec(input.project.root);
390
+ if (dataRetentionJob) {
391
+ return input.project.name ===
392
+ `@${dataRetentionJob[1]}/job-data-retention`
393
+ ? 'tsc -p tsconfig.build.json'
394
+ : undefined;
395
+ }
396
+ return input.project.root.includes('/services/') ||
300
397
  input.project.root.includes('/jobs/')
301
398
  ? 'tsc -p tsconfig.json'
302
- : undefined, { dependsOn: ['^build'] }),
399
+ : undefined;
400
+ }, { dependsOn: ['^build'] }),
303
401
  runScriptSignature('docker-build', (input) => {
304
402
  const match = /^packages\/([^/]+)\/(services|jobs)\/([^/]+)$/u.exec(input.project.root);
305
403
  if (!match)
306
404
  return undefined;
307
405
  const [, slice, plural, workload] = match;
406
+ if (plural === 'jobs' && workload === 'data-retention') {
407
+ return input.project.name === `@${slice}/job-data-retention`
408
+ ? `docker build -f packages/${slice}/jobs/data-retention/Dockerfile -t ${slice}-data-retention:local ../../../..`
409
+ : undefined;
410
+ }
308
411
  const kind = plural === 'services' ? 'service' : 'job';
309
412
  return (`docker build -f packages/${slice}/${plural}/${workload}/Dockerfile ` +
310
413
  `-t ${slice}-${kind}-${workload}:local ../../../..`);
311
- }, { nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE }),
414
+ }, { nonPlannableRationale: exports.DOCKER_BUILD_OWNER_RATIONALE }),
312
415
  runScriptSignature('dev', (input) => input.project.root.includes('/services/')
313
416
  ? 'node --experimental-strip-types src/main.ts'
314
417
  : input.project.root.includes('/jobs/')
315
418
  ? 'node --experimental-strip-types src/run.ts'
316
- : undefined, { nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE }),
419
+ : undefined, { nonPlannableRationale: exports.WORKLOAD_DEV_OWNER_RATIONALE }),
317
420
  runScriptSignature('format', (input) => input.project.tags.includes('scope:workspace')
318
421
  ? 'nx format:write'
319
- : undefined, { nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE }),
422
+ : undefined, { nonPlannableRationale: exports.FORMAT_WRITE_OWNER_RATIONALE }),
320
423
  runScriptSignature('format:check', (input) => input.project.tags.includes('scope:workspace')
321
- ? 'nx format:check'
424
+ ? 'nx format:check --all'
322
425
  : undefined),
323
- runScriptSignature('graph', (input) => input.project.tags.includes('scope:workspace') ? 'nx graph' : undefined, { nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE }),
426
+ runScriptSignature('graph', (input) => input.project.tags.includes('scope:workspace') ? 'nx graph' : undefined, { nonPlannableRationale: exports.GRAPH_INTERACTIVE_RATIONALE }),
324
427
  runScriptSignature('health', (input) => input.project.tags.includes('scope:workspace')
325
428
  ? `nx run ${input.project.name}:workspace-health`
326
429
  : undefined),
@@ -347,9 +450,9 @@ const TARGET_SIGNATURES = [
347
450
  ? 'pnpm run lint && pnpm run typecheck && pnpm test && pnpm run build'
348
451
  : undefined),
349
452
  executorSignature('deployment-plan', '@empire-builder-kit/nx:deployment-plan', exactOptions(() => ({ action: 'deploy', stage: 'staging' }))),
453
+ executorSignature('deploy-local', '@empire-builder-kit/nx:local-deploy', exactOptions(() => ({ stage: 'development' })), ['workspace-health'], { nonPlannableRationale: exports.DEPLOY_LOCAL_OWNER_RATIONALE }),
350
454
  executorSignature('dev', '@empire-builder-kit/nx:fleet', exactOptions(() => ({})), undefined, {
351
455
  continuous: true,
352
- nonPlannableRationale: LOCAL_OWNER_ONLY_RATIONALE,
353
456
  }),
354
457
  executorSignature('developer-context', '@empire-builder-kit/nx:developer-context', exactOptions(() => ({}))),
355
458
  executorSignature('dev-doctor', '@empire-builder-kit/nx:dev-doctor', exactOptions(() => ({}))),
@@ -357,14 +460,29 @@ const TARGET_SIGNATURES = [
357
460
  executorSignature('github-bootstrap', '@empire-builder-kit/nx:github-bootstrap', exactOptions(() => ({}))),
358
461
  executorSignature('work-markers', '@empire-builder-kit/nx:work-markers', exactOptions(() => ({}))),
359
462
  executorSignature('secret-guardrails', '@empire-builder-kit/nx:secret-guardrails', exactOptions(() => ({}))),
463
+ executorSignature('secret-initialize', '@empire-builder-kit/nx:secret-initialize', exactOptions(() => ({
464
+ logicalName: 'GeneratedPerformanceLoadHmacKeys',
465
+ stage: 'production',
466
+ }))),
360
467
  executorSignature('secret-metadata', '@empire-builder-kit/nx:secret-metadata', exactOptions(() => ({ stage: 'development' }))),
361
- executorSignature('dev-cleanup', 'nx:noop', exactOptions(() => ({})), ['db-local-down', 'secret-personal-down']),
468
+ executorSignature('dev-cleanup', 'nx:run-commands', exactOptions((input) => ({
469
+ commands: [
470
+ ...(sliceDeclaresSql(input)
471
+ ? [`pnpm nx run ${input.project.name}:db-local-down`]
472
+ : []),
473
+ `pnpm nx run ${input.project.name}:secret-personal-down`,
474
+ ],
475
+ cwd: '.',
476
+ forwardAllArgs: false,
477
+ parallel: false,
478
+ })), ['dev-task-cleanup']),
479
+ executorSignature('dev-task-cleanup', '@empire-builder-kit/nx:dev-task-cleanup', exactOptions(() => ({}))),
362
480
  executorSignature('dev', '@empire-builder-kit/nx:dev', exactOptions((input) => ({
363
481
  cwd: input.project.root,
364
482
  stageMode: 'consumer',
365
- })), [
483
+ })), (input) => [
366
484
  'dev-prerequisite',
367
- 'db-local-migrate',
485
+ ...(sliceDeclaresSql(input) ? ['db-local-migrate'] : []),
368
486
  { params: 'forward', target: 'foundation-preflight' },
369
487
  ]),
370
488
  executorSignature('deploy-infrastructure', '@empire-builder-kit/nx:deploy', exactOptions((input) => ({
@@ -378,13 +496,11 @@ const TARGET_SIGNATURES = [
378
496
  stageMode: 'foundation',
379
497
  })), ['verify', { params: 'forward', target: 'profile-preflight' }]),
380
498
  executorSignature('infrastructure-plan', '@empire-builder-kit/nx:infrastructure-plan', exactOptions((input) => ({
381
- action: 'deploy',
382
499
  cwd: input.project.root,
383
500
  stage: 'development',
384
501
  stageMode: 'consumer',
385
502
  }))),
386
503
  executorSignature('infrastructure-plan', '@empire-builder-kit/nx:infrastructure-plan', exactOptions((input) => ({
387
- action: 'deploy',
388
504
  cwd: input.project.root,
389
505
  stage: 'development',
390
506
  stageMode: 'foundation',
@@ -421,6 +537,7 @@ const TARGET_SIGNATURES = [
421
537
  'capabilities,contract,deployIfMissing,foundationProject,stage', [{ params: 'ignore', projects: ['foundation'], target: 'verify' }]),
422
538
  executorSignature('profile-preflight', '@empire-builder-kit/nx:foundation-profile-preflight', exactOptions(() => ({ stage: 'development' }))),
423
539
  executorSignature('remove-preflight', '@empire-builder-kit/nx:foundation-remove-preflight', exactOptions(() => ({ stage: 'development' }))),
540
+ executorSignature('router-waf-rehearsal', '@empire-builder-kit/nx:router-waf-rehearsal', exactOptions(() => ({})), undefined, { nonPlannableRationale: exports.ROUTER_WAF_REHEARSAL_OWNER_RATIONALE }),
424
541
  ];
425
542
  /**
426
543
  * Rules are deliberately ordered from highest/conservative authority to
@@ -466,6 +583,8 @@ const TARGET_RULES = [
466
583
  !suffix('-report', '-status')(targetName)),
467
584
  requiredVerification: ['verify', 'protected-proof'],
468
585
  },
586
+ // These two apply shared GitHub repository or AWS secret-container state
587
+ // outside the personal development stage, so they keep an approval point.
469
588
  {
470
589
  approvalRequired: true,
471
590
  authority: 'protected-propose',
@@ -481,26 +600,59 @@ const TARGET_RULES = [
481
600
  'docs/developer-agent.md',
482
601
  ],
483
602
  evidenceClasses: ['protected-promotion-proof'],
484
- matches: (targetName) => exact('deployment-plan', 'github-bootstrap', 'infrastructure-plan', 'infrastructure-drift', 'ecr-inspector-collect', 'performance-cost-collect', 'reliability-deployed-verify', 'reliability-diagnostic', 'reliability-exercise-collect', 'secret-metadata', 'smoke-deployed')(targetName),
603
+ matches: exact('github-bootstrap', 'secret-initialize'),
604
+ requiredVerification: ['source', 'protected-proof'],
605
+ },
606
+ // Report-first plans, collectors and deployed verification read and
607
+ // propose only; staging and production reach stays bounded by the
608
+ // deployment role, not by a plan-time approval point.
609
+ {
610
+ approvalRequired: false,
611
+ authority: 'protected-propose',
612
+ contractClasses: [
613
+ 'configuration',
614
+ 'infrastructure',
615
+ 'reliability',
616
+ 'performance',
617
+ ],
618
+ documentationPaths: [
619
+ 'AGENTS.md',
620
+ 'docs/git-workflow.md',
621
+ 'docs/developer-agent.md',
622
+ ],
623
+ evidenceClasses: ['protected-promotion-proof'],
624
+ matches: (targetName) => exact('deployment-plan', 'infrastructure-plan', 'infrastructure-drift', 'ecr-inspector-collect', 'performance-cost-collect', 'reliability-deployed-verify', 'reliability-diagnostic', 'reliability-exercise-collect', 'secret-metadata', 'smoke-deployed', 'stage-authority-render')(targetName),
485
625
  requiredVerification: ['source', 'protected-proof'],
486
626
  },
487
627
  {
488
628
  applicableStages: ['development'],
489
- approvalRequired: true,
629
+ approvalRequired: false,
490
630
  authority: 'development-mutate',
491
631
  contractClasses: ['database'],
492
632
  documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
493
633
  evidenceClasses: ['local-integration'],
494
- matches: exact('test-integration'),
634
+ matches: exact('test-integration', 'verify-local-browser'),
495
635
  requiredVerification: ['local-integration'],
496
636
  },
637
+ // dev-setup can reach host trust-store installation and privileged port
638
+ // forwarding (--trust, --portless): an OS-level consent boundary.
497
639
  {
498
640
  approvalRequired: true,
499
641
  authority: 'development-mutate',
500
642
  contractClasses: ['database', 'infrastructure'],
501
643
  documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
502
644
  evidenceClasses: ['local-integration'],
503
- matches: exact('dev', 'dev-cleanup', 'dev-setup', 'db-local-down', 'db-local-migrate', 'db-local-up', 'secret-personal-down'),
645
+ matches: exact('dev-setup'),
646
+ requiredVerification: ['local-integration'],
647
+ },
648
+ // Personal development-stage work under the human's own bounded identity.
649
+ {
650
+ approvalRequired: false,
651
+ authority: 'development-mutate',
652
+ contractClasses: ['database', 'infrastructure'],
653
+ documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
654
+ evidenceClasses: ['local-integration'],
655
+ matches: exact('dev', 'dev-cleanup', 'dev-task-cleanup', 'db-local-down', 'db-local-migrate', 'db-local-up', 'secret-personal-down'),
504
656
  requiredVerification: ['local-integration'],
505
657
  },
506
658
  {
@@ -515,7 +667,7 @@ const TARGET_RULES = [
515
667
  ],
516
668
  documentationPaths: ['AGENTS.md', 'docs/developer-agent.md'],
517
669
  evidenceClasses: ['source'],
518
- matches: (targetName) => exact('api-contract-baseline', 'api-contract-generate', 'authorization-check', 'build', 'configuration-expected', 'contract-dependencies-sync', 'db-generate', 'ecr-scan-applicability', 'format:check', 'frontend-visual', 'frontend-visual-update', 'install-git-hooks', 'performance-tag-coverage', 'performance-unit-cost', 'release-artifacts', 'release-candidate', 'release-manifest', 'smoke-deployed-check', 'supply-chain-scan', 'test', 'typecheck', 'verify', 'workload-role-provisioner-build')(targetName),
670
+ matches: (targetName) => exact('api-contract-baseline', 'api-contract-generate', 'authorization-check', 'build', 'configuration-expected', 'contract-dependencies-sync', 'db-generate', 'ecr-scan-applicability', 'format:check', 'frontend-visual', 'frontend-visual-update', 'install-git-hooks', 'performance-tag-coverage', 'performance-unit-cost', 'release-artifacts', 'release-candidate', 'release-manifest', 'smoke-deployed-check', 'supply-chain-scan', 'test', 'typecheck', 'verify', 'verify-proposed', 'workload-role-provisioner-build')(targetName),
519
671
  requiredVerification: ['source'],
520
672
  },
521
673
  {
@@ -540,9 +692,11 @@ const TARGET_RULES = [
540
692
  * Static invocable operations contain complete argv only. Source edits use a
541
693
  * commandless, project-scoped identity. Stable generators use commandless
542
694
  * typed templates that planning binds to exact normalized argv. Mutable dev
543
- * configuration and human-only secret set/remove stay with their direct owner.
695
+ * configuration and human-supplied secret set/remove stay with their direct
696
+ * owner. Value-blind generated-secret initialization is admitted only through
697
+ * its exact report-first Nx target.
544
698
  */
545
- function localDevOperations(projects, externalOwnedProjectNames) {
699
+ function localDevOperations(projects, externalOwnedProjectNames, developmentClosures, blockedDevelopment) {
546
700
  const sliceNames = projects
547
701
  .map(({ context }) => context)
548
702
  .filter(({ tags }) => tags.includes('type:slice'))
@@ -563,7 +717,7 @@ function localDevOperations(projects, externalOwnedProjectNames) {
563
717
  });
564
718
  const lifecycle = (command, slice) => ({
565
719
  applicableStages: ['development'],
566
- approvalRequired: true,
720
+ approvalRequired: false,
567
721
  authority: 'development-mutate',
568
722
  command: {
569
723
  args: ['dev', command, slice, '--no-wait', '--json'],
@@ -578,7 +732,7 @@ function localDevOperations(projects, externalOwnedProjectNames) {
578
732
  id: `ebk-dev:${command}:${slice}`,
579
733
  owner: 'ebk-reconciler',
580
734
  policyLifecycleAction: 'dev',
581
- projects: [slice],
735
+ projects: developmentClosures.get(slice) ?? [slice],
582
736
  requiredVerification: ['ebk-dev:doctor'],
583
737
  });
584
738
  return [
@@ -593,7 +747,7 @@ function localDevOperations(projects, externalOwnedProjectNames) {
593
747
  readOnly('ebk-dev:status', ['dev', 'status', '--json']),
594
748
  ...sliceNames.flatMap((slice) => [
595
749
  readOnly(`ebk-dev:logs:${slice}`, ['dev', 'logs', slice, '--limit=200', '--json'], [slice]),
596
- ...(externalOwnedProjectNames.has(slice)
750
+ ...(externalOwnedProjectNames.has(slice) || blockedDevelopment.has(slice)
597
751
  ? []
598
752
  : [
599
753
  lifecycle('up', slice),
@@ -754,7 +908,17 @@ function reviewedExternalDependencies(input) {
754
908
  }
755
909
  function dependencyTargets(input, dependsOn, availableProjects, availableTargets) {
756
910
  const targets = [];
757
- for (const dependency of dependsOn) {
911
+ // The exact generated sequential composite invokes these targets after its
912
+ // native prerequisite; include their authority even though they are not
913
+ // sibling Nx prerequisites (which would execute before native cleanup).
914
+ const executionDependencies = input.targetName === 'dev-cleanup'
915
+ ? [
916
+ ...dependsOn,
917
+ ...(sliceDeclaresSql(input) ? ['db-local-down'] : []),
918
+ 'secret-personal-down',
919
+ ]
920
+ : dependsOn;
921
+ for (const dependency of executionDependencies) {
758
922
  if (typeof dependency === 'string') {
759
923
  if (dependency.startsWith('^')) {
760
924
  const targetName = dependency.slice(1);
@@ -887,7 +1051,10 @@ function operationForTarget(input, forwardedStage, reviewedExternal = false) {
887
1051
  : ALL_CANONICAL_STAGES;
888
1052
  return {
889
1053
  applicableStages,
890
- approvalRequired: developmentLifecycle ? true : rule.approvalRequired,
1054
+ // Development needs no lifecycle acknowledgement (the governed executors
1055
+ // prompt only for staging and production); protected stages never reach
1056
+ // this branch and keep the rule's approval.
1057
+ approvalRequired: developmentLifecycle ? false : rule.approvalRequired,
891
1058
  authority,
892
1059
  ...(authority === 'protected-mutate' || authority === 'destructive'
893
1060
  ? {}
@@ -988,12 +1155,34 @@ function composeTargetOperation(operation, dependencies) {
988
1155
  function sourceEditOperations(projects, authenticatedTargets, workspaceVerification) {
989
1156
  return projects.flatMap(({ context }) => {
990
1157
  const projectVerification = `${context.name}:verify`;
991
- const requiredVerification = context.targets.includes('verify')
1158
+ const fallbackVerification = context.targets.includes('verify')
992
1159
  ? authenticatedTargets.has(projectVerification)
993
1160
  ? projectVerification
994
1161
  : undefined
995
1162
  : workspaceVerification;
996
- if (!requiredVerification)
1163
+ const featureTargets = ['lint', 'secret-guardrails', 'test', 'typecheck']
1164
+ .filter((target) => context.targets.includes(target))
1165
+ .map((target) => `${context.name}:${target}`);
1166
+ // Never substitute an unauthenticated check with a weaker fallback.
1167
+ if (featureTargets.some((target) => !authenticatedTargets.has(target)))
1168
+ return [];
1169
+ const workspace = workspaceVerification?.slice(0, workspaceVerification.lastIndexOf(':'));
1170
+ const ownershipChecks = workspace
1171
+ ? ['work-markers', 'workspace-health']
1172
+ .map((target) => `${workspace}:${target}`)
1173
+ .filter((target) => authenticatedTargets.has(target))
1174
+ : [];
1175
+ const requiredVerification = [
1176
+ ...new Set([
1177
+ ...(featureTargets.length > 0
1178
+ ? featureTargets
1179
+ : fallbackVerification
1180
+ ? [fallbackVerification]
1181
+ : []),
1182
+ ...ownershipChecks,
1183
+ ]),
1184
+ ].sort();
1185
+ if (requiredVerification.length === 0)
997
1186
  return [];
998
1187
  return [
999
1188
  {
@@ -1006,7 +1195,7 @@ function sourceEditOperations(projects, authenticatedTargets, workspaceVerificat
1006
1195
  id: `source-edit:${context.name}`,
1007
1196
  owner: 'source-edit',
1008
1197
  projects: [context.name],
1009
- requiredVerification: [requiredVerification],
1198
+ requiredVerification,
1010
1199
  },
1011
1200
  ];
1012
1201
  });
@@ -1015,10 +1204,38 @@ function createDeveloperAgentOperationRegistry(projects, options) {
1015
1204
  const namedInputRuntimeDetected = options.namedInputDefinitions.some(containsRuntimeInput);
1016
1205
  const exposedProjectNames = new Set(options.exposedProjectNames ?? projects.map(({ context }) => context.name));
1017
1206
  const externalOwnedProjectNames = new Set(options.externalOwnedProjectNames);
1207
+ const missingFleetSlice = options.allSliceProjectNames?.find((name) => !projects.some(({ context }) => context.name === name));
1208
+ const implicitFleetCrossesExternalOwnership = (input) => externalOwnedProjectNames.size > 0 &&
1209
+ input.target.executor === '@empire-builder-kit/nx:fleet';
1018
1210
  const exposedProjects = projects.filter(({ context }) => exposedProjectNames.has(context.name));
1019
- const operations = [
1020
- ...localDevOperations(exposedProjects, externalOwnedProjectNames),
1021
- ];
1211
+ const operations = [];
1212
+ const adapters = new Map();
1213
+ const developmentClosures = new Map();
1214
+ const developmentReasons = new Map();
1215
+ for (const project of projects) {
1216
+ if (project.localDev === undefined)
1217
+ continue;
1218
+ try {
1219
+ adapters.set(project.context.name, (0, contracts_js_1.validateLocalDevAdapter)(project.localDev));
1220
+ }
1221
+ catch {
1222
+ developmentReasons.set(project.context.name, `Slice ${project.context.name} has invalid local-development metadata; repair its versioned adapter before planning development.`);
1223
+ }
1224
+ }
1225
+ for (const name of adapters.keys()) {
1226
+ try {
1227
+ const closure = (0, contracts_js_1.resolveFleetSliceDependencies)(adapters, [name]);
1228
+ developmentClosures.set(name, closure);
1229
+ const external = closure.find((dependency) => externalOwnedProjectNames.has(dependency));
1230
+ if (external)
1231
+ developmentReasons.set(name, options.externalOwnershipHistoryComplete === false
1232
+ ? `Slice ${name} has history-unverified dependency ${external}; protected external-Blueprint history is incomplete. Retained-plan execution is unavailable until the configured protected history is available. Ordinary feature work may use the documented typed generator and inspected seeded/user-owned surfaces with focused Nx checks; do not invent external Blueprint trust.`
1233
+ : `Slice ${name} requires external-owned dependency ${external}; use its explicit Blueprint owner. External development contracts are not authenticated by this operation registry.`);
1234
+ }
1235
+ catch {
1236
+ developmentReasons.set(name, `Slice ${name} has an unresolved, cyclic, or invalid dependency Slice; repair its declared dependencySlices before planning development.`);
1237
+ }
1238
+ }
1022
1239
  const nonPlannableTargets = [];
1023
1240
  const unsupportedTargets = [];
1024
1241
  const orderedProjects = [...projects].sort((left, right) => (0, ordering_js_1.compareDeveloperAgentStrings)(left.context.name, right.context.name));
@@ -1027,7 +1244,7 @@ function createDeveloperAgentOperationRegistry(projects, options) {
1027
1244
  for (const [targetName, target] of Object.entries(project.targets)) {
1028
1245
  targetInputs.set(`${project.context.name}:${targetName}`, {
1029
1246
  namedInputRuntimeDetected,
1030
- project: project.context,
1247
+ project: { ...project.context, targets: Object.keys(project.targets) },
1031
1248
  target,
1032
1249
  targetName,
1033
1250
  });
@@ -1078,7 +1295,10 @@ function createDeveloperAgentOperationRegistry(projects, options) {
1078
1295
  authentication.set(id, false);
1079
1296
  return false;
1080
1297
  }
1081
- if (input.namedInputRuntimeDetected) {
1298
+ if (input.namedInputRuntimeDetected ||
1299
+ (input.target.executor === '@empire-builder-kit/nx:fleet' &&
1300
+ missingFleetSlice !== undefined) ||
1301
+ implicitFleetCrossesExternalOwnership(input)) {
1082
1302
  authentication.set(id, false);
1083
1303
  return false;
1084
1304
  }
@@ -1112,6 +1332,35 @@ function createDeveloperAgentOperationRegistry(projects, options) {
1112
1332
  }
1113
1333
  const nextActive = new Set(active);
1114
1334
  nextActive.add(id);
1335
+ if (input.target.executor === '@empire-builder-kit/nx:fleet') {
1336
+ for (const project of projects.filter(({ context }) => context.tags.includes('type:slice'))) {
1337
+ if (!authenticate(`${project.context.name}:${adapters.get(project.context.name)?.target ?? 'dev'}`, nextActive)) {
1338
+ authentication.set(id, false);
1339
+ return false;
1340
+ }
1341
+ }
1342
+ }
1343
+ if (input.targetName === (adapters.get(input.project.name)?.target ?? 'dev')) {
1344
+ if (developmentReasons.has(input.project.name)) {
1345
+ authentication.set(id, false);
1346
+ return false;
1347
+ }
1348
+ for (const name of developmentClosures.get(input.project.name) ?? []) {
1349
+ if (name === input.project.name)
1350
+ continue;
1351
+ const dependencyAdapter = adapters.get(name);
1352
+ if (!dependencyAdapter) {
1353
+ authentication.set(id, false);
1354
+ return false;
1355
+ }
1356
+ const dependencyId = `${name}:${dependencyAdapter.target}`;
1357
+ if (!authenticate(dependencyId, nextActive)) {
1358
+ developmentReasons.set(input.project.name, `Slice ${input.project.name} requires non-plannable dependency ${dependencyId}; use that dependency's explicit owner before planning development.`);
1359
+ authentication.set(id, false);
1360
+ return false;
1361
+ }
1362
+ }
1363
+ }
1115
1364
  const authenticated = dependencies.every((dependency) => authenticate(dependency.id, nextActive));
1116
1365
  authentication.set(id, authenticated);
1117
1366
  return authenticated;
@@ -1148,7 +1397,24 @@ function createDeveloperAgentOperationRegistry(projects, options) {
1148
1397
  composedInvocations.set(memoKey, null);
1149
1398
  return undefined;
1150
1399
  }
1151
- const dependencies = dependencyTargetsForOperation.map((dependency) => {
1400
+ const allDependencyTargets = [...dependencyTargetsForOperation];
1401
+ const developmentProjects = input.target.executor === '@empire-builder-kit/nx:fleet'
1402
+ ? projects
1403
+ .filter(({ context }) => context.tags.includes('type:slice'))
1404
+ .map(({ context }) => context.name)
1405
+ : input.targetName === adapters.get(input.project.name)?.target
1406
+ ? (developmentClosures.get(input.project.name) ?? []).filter((name) => name !== input.project.name)
1407
+ : [];
1408
+ for (const name of developmentProjects) {
1409
+ const dependencyId = `${name}:${adapters.get(name)?.target ?? 'dev'}`;
1410
+ if (!allDependencyTargets.some(({ id }) => id === dependencyId)) {
1411
+ allDependencyTargets.push({
1412
+ id: dependencyId,
1413
+ params: 'ignore',
1414
+ });
1415
+ }
1416
+ }
1417
+ const dependencies = allDependencyTargets.map((dependency) => {
1152
1418
  const composed = composeInvocation(dependency.id, dependency.params === 'forward' ? forwardedStage : undefined);
1153
1419
  if (!composed)
1154
1420
  return undefined;
@@ -1209,6 +1475,12 @@ function createDeveloperAgentOperationRegistry(projects, options) {
1209
1475
  }
1210
1476
  }
1211
1477
  const authenticatedTargets = new Set([...targetInputs.keys()].filter((target) => compose(target) !== undefined));
1478
+ const blockedDevelopment = new Set(developmentReasons.keys());
1479
+ for (const [name, adapter] of adapters) {
1480
+ if (!authenticatedTargets.has(`${name}:${adapter.target}`))
1481
+ blockedDevelopment.add(name);
1482
+ }
1483
+ operations.push(...localDevOperations(exposedProjects, externalOwnedProjectNames, developmentClosures, blockedDevelopment));
1212
1484
  operations.push(...sourceEditOperations(exposedProjects, authenticatedTargets, workspaceVerification));
1213
1485
  for (const project of orderedProjects) {
1214
1486
  if (!exposedProjectNames.has(project.context.name))
@@ -1217,6 +1489,27 @@ function createDeveloperAgentOperationRegistry(projects, options) {
1217
1489
  const target = `${project.context.name}:${targetName}`;
1218
1490
  const input = targetInputs.get(target);
1219
1491
  const signature = input ? authenticatedTargetSignature(input) : undefined;
1492
+ if (input?.target.executor === '@empire-builder-kit/nx:fleet' &&
1493
+ missingFleetSlice !== undefined) {
1494
+ nonPlannableTargets.push({
1495
+ target,
1496
+ rationale: `Root Fleet development implicitly selects Slice ${missingFleetSlice} outside this bounded context. Select an owned Slice ebk-dev operation or inspect the full development target inventory first.`,
1497
+ });
1498
+ continue;
1499
+ }
1500
+ const developmentReason = developmentReasons.get(project.context.name);
1501
+ if (developmentReason &&
1502
+ targetName === (adapters.get(project.context.name)?.target ?? 'dev')) {
1503
+ nonPlannableTargets.push({ target, rationale: developmentReason });
1504
+ continue;
1505
+ }
1506
+ if (input && signature && implicitFleetCrossesExternalOwnership(input)) {
1507
+ nonPlannableTargets.push({
1508
+ target,
1509
+ rationale: 'This root Fleet target implicitly selects all Slices, including external-owned Blueprint targets outside the authenticated development execution boundary. Select an owned Slice ebk-dev operation or require an explicit external Blueprint development contract from its owner (Milestone 4).',
1510
+ });
1511
+ continue;
1512
+ }
1220
1513
  if (signature?.nonPlannableRationale &&
1221
1514
  !externalOwnedProjectNames.has(project.context.name)) {
1222
1515
  nonPlannableTargets.push({