@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
@@ -0,0 +1,2 @@
1
+ /** Verification-only setup: repository code, never an additional authority. */
2
+ export declare function renderWorkspaceCiInstallFiles(): Readonly<Record<string, string>>;
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderWorkspaceCiInstallFiles = renderWorkspaceCiInstallFiles;
4
+ /** Verification-only setup: repository code, never an additional authority. */
5
+ function renderWorkspaceCiInstallFiles() {
6
+ return {
7
+ 'tools/ci/install.mjs': String.raw `import { spawn } from 'node:child_process';
8
+ import { lstatSync, realpathSync } from 'node:fs';
9
+ import path from 'node:path';
10
+ import { pathToFileURL } from 'node:url';
11
+
12
+ const root = realpathSync(process.cwd());
13
+ const hookPath = path.join(root, 'tools/ci/dependency-setup.mjs');
14
+ const controller = new AbortController();
15
+ let interrupted;
16
+ const interrupt = (signal) => {
17
+ interrupted ??= signal;
18
+ controller.abort(new Error('CI dependency installation interrupted: ' + signal));
19
+ };
20
+ const onInt = () => interrupt('SIGINT');
21
+ const onTerm = () => interrupt('SIGTERM');
22
+ process.on('SIGINT', onInt);
23
+ process.on('SIGTERM', onTerm);
24
+
25
+ function install() {
26
+ controller.signal.throwIfAborted();
27
+ return new Promise((resolve, reject) => {
28
+ const child = spawn('pnpm', ['install', '--frozen-lockfile'], {
29
+ cwd: root,
30
+ stdio: 'inherit',
31
+ shell: false,
32
+ detached: process.platform !== 'win32',
33
+ });
34
+ let escalation;
35
+ const kill = (signal) => {
36
+ if (!child.pid) return;
37
+ try {
38
+ if (process.platform === 'win32') child.kill(signal);
39
+ else process.kill(-child.pid, signal);
40
+ } catch (error) {
41
+ if (error.code !== 'ESRCH') throw error;
42
+ }
43
+ };
44
+ const abort = () => {
45
+ kill('SIGTERM');
46
+ escalation = setTimeout(() => kill('SIGKILL'), 5000);
47
+ escalation.unref();
48
+ };
49
+ controller.signal.addEventListener('abort', abort, { once: true });
50
+ const finish = (error) => {
51
+ clearTimeout(escalation);
52
+ controller.signal.removeEventListener('abort', abort);
53
+ if (error) reject(error);
54
+ else resolve();
55
+ };
56
+ child.once('error', finish);
57
+ child.once('exit', (code, signal) => finish(
58
+ code === 0 && !signal && !controller.signal.aborted ? undefined :
59
+ new Error('pnpm frozen install failed (' + (signal ?? code) + ').'),
60
+ ));
61
+ if (controller.signal.aborted) abort();
62
+ });
63
+ }
64
+
65
+ let cleanup;
66
+ let failed = false;
67
+ try {
68
+ let stat;
69
+ try { stat = lstatSync(hookPath); }
70
+ catch (error) { if (error.code !== 'ENOENT') throw error; }
71
+ if (stat) {
72
+ if (!stat.isFile() || stat.isSymbolicLink() || realpathSync(hookPath) !== hookPath) {
73
+ throw new Error('CI dependency setup must be a regular repository-local file.');
74
+ }
75
+ const hook = await import(pathToFileURL(hookPath).href);
76
+ if (typeof hook.setup !== 'function' || typeof hook.cleanup !== 'function') {
77
+ throw new Error('CI dependency setup must export setup and cleanup functions.');
78
+ }
79
+ // Register cleanup before setup: partial setup failure must also clean up.
80
+ cleanup = hook.cleanup;
81
+ await hook.setup({ workspaceRoot: root, signal: controller.signal });
82
+ }
83
+ await install();
84
+ } catch (error) {
85
+ failed = true;
86
+ console.error('[ebk-ci-install] ' + error.message);
87
+ } finally {
88
+ try {
89
+ // Cleanup must remain operable after the setup/install signal is aborted.
90
+ if (cleanup) await cleanup({ workspaceRoot: root });
91
+ } catch (error) {
92
+ failed = true;
93
+ console.error('[ebk-ci-install] Cleanup failed: ' + error.message);
94
+ }
95
+ process.off('SIGINT', onInt);
96
+ process.off('SIGTERM', onTerm);
97
+ }
98
+ process.exitCode = interrupted === 'SIGINT' ? 130 : interrupted ? 143 : failed ? 1 : 0;
99
+ `,
100
+ 'tools/ci/release-candidates.mjs': String.raw `import { existsSync, lstatSync, readFileSync, realpathSync } from 'node:fs';
101
+ import { createRequire } from 'node:module';
102
+ import path from 'node:path';
103
+ import { pathToFileURL } from 'node:url';
104
+
105
+ export function selectReleaseCandidates(nodes, root) {
106
+ if (!nodes || typeof nodes !== 'object' || Array.isArray(nodes)) {
107
+ throw new Error('Nx project graph is invalid.');
108
+ }
109
+ const selected = [];
110
+ for (const [name, node] of Object.entries(nodes)) {
111
+ const data = node?.data;
112
+ if (!data || typeof data.root !== 'string' || !data.targets || typeof data.targets !== 'object') {
113
+ throw new Error('Nx project configuration is invalid: ' + name);
114
+ }
115
+ const projectRoot = path.resolve(root, data.root);
116
+ const relative = path.relative(root, projectRoot);
117
+ if (relative.startsWith('..') || path.isAbsolute(relative)) {
118
+ throw new Error('Project root escapes workspace: ' + name);
119
+ }
120
+ const ownershipPath = path.join(projectRoot, '.ebk/ownership.json');
121
+ let standard = false;
122
+ if (existsSync(ownershipPath)) {
123
+ if (!lstatSync(ownershipPath).isFile() || realpathSync(ownershipPath) !== ownershipPath) {
124
+ throw new Error('Project ownership is not a regular file: ' + name);
125
+ }
126
+ standard = JSON.parse(readFileSync(ownershipPath, 'utf8')).blueprint?.name ===
127
+ '@empire-builder-kit/blueprint-standard';
128
+ }
129
+ const targets = data.targets;
130
+ if ((standard || targets['release-artifacts'] || targets['container-release']) && !targets['release-candidate']) {
131
+ throw new Error('Application release-candidate target is missing: ' + name);
132
+ }
133
+ if (!targets['release-candidate']) continue;
134
+ if (!/^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u.test(name) || data.root !== 'packages/' + name) {
135
+ throw new Error('Release candidate project identity is invalid: ' + name);
136
+ }
137
+ selected.push(name);
138
+ }
139
+ return selected.sort();
140
+ }
141
+
142
+ if (process.argv[1] && pathToFileURL(path.resolve(process.argv[1])).href === import.meta.url) {
143
+ try {
144
+ const require = createRequire(import.meta.url);
145
+ // pnpm exposes this dependency to the installed EBK package, not the adopter root.
146
+ const frameworkRequire = createRequire(require.resolve('@empire-builder-kit/nx/package.json'));
147
+ const { createProjectGraphAsync } = frameworkRequire('@nx/devkit');
148
+ const graph = await createProjectGraphAsync();
149
+ process.stdout.write(selectReleaseCandidates(graph.nodes, realpathSync(process.cwd())).join(','));
150
+ } catch (error) {
151
+ console.error('[ebk-release-candidates] ' + error.message);
152
+ process.exitCode = 1;
153
+ }
154
+ }
155
+ `,
156
+ 'docs/ci-dependency-setup.md': `# Verification CI dependency setup
157
+
158
+ Ordinary verification CI runs the fixed command \`pnpm install --frozen-lockfile\`
159
+ through the managed \`tools/ci/install.mjs\` wrapper. Without an extension its
160
+ installation, package policies and native diagnostics are unchanged.
161
+
162
+ For private package access or another installation prerequisite, create the
163
+ adopter-owned \`tools/ci/dependency-setup.mjs\`. Export two async functions:
164
+
165
+ \`setup({ workspaceRoot, signal })\` establishes the prerequisite **before** pnpm
166
+ starts. \`cleanup({ workspaceRoot })\` removes only resources owned by this
167
+ invocation. Both exports are required. Setup must support the cancellation
168
+ signal, and cleanup must be idempotent and work after partial setup failure.
169
+ Do not perform side effects at module import time. Use Node built-ins or
170
+ explicitly pinned independent tooling: workspace dependencies are not installed
171
+ yet. Do not replace the installer or relax its frozen lockfile/supply-chain rules.
172
+
173
+ The extension may temporarily configure the existing root registry surface.
174
+ It must preserve pre-existing configuration, retain exact ownership for any
175
+ temporary process or file, and remove its temporary state before returning.
176
+ Do not log credentials or copy authenticated configuration into artifacts.
177
+ Failed setup prevents installation; failed install or cleanup prevents accepted
178
+ job success. SIGINT/SIGTERM cancels the installer process group on POSIX, then
179
+ attempts cleanup. Hard termination still requires exact owned-remnant recovery;
180
+ neither hooks nor cleanup can be guaranteed after SIGKILL or runner loss.
181
+
182
+ This is repository code executing with the verification job's existing read-only
183
+ permissions, not a sandbox or a new credential authority. It is not installed in
184
+ OIDC deployment workflows and cannot change protected environments, review gates
185
+ or AWS permissions. No hook is generated by default; managed upgrades preserve
186
+ this unclaimed adopter-owned path. Never hand-edit the managed wrapper/workflow.
187
+
188
+ Infrastructure-only workspaces still run policy and source verification. With
189
+ no application release producers, the release-candidate job reports not
190
+ applicable and uploads no fictitious application candidate. Standard Slices and
191
+ other projects declaring release-artifacts/container-release must retain their
192
+ release-candidate target; declared candidates must still build and emit files.
193
+ `,
194
+ };
195
+ }
196
+ //# sourceMappingURL=workspace-files-ci-install.js.map
@@ -1,8 +1,10 @@
1
+ import type { DeploymentProfile } from '../../repository-policy/index.js';
1
2
  export declare const DEVELOPER_AGENT_RUNBOOK_PATH: "docs/developer-agent.md";
2
3
  export declare const DEVELOPER_AGENT_HANDOFF_TEMPLATE_PATH: "docs/developer-agent-handoff.template.json";
3
4
  export declare const DEVELOPER_AGENT_ADAPTER_EVALUATION_PATH: "docs/developer-agent-adapters.md";
4
5
  export declare const DEVELOPER_AGENT_WORKSPACE_SEEDED_PATHS: readonly ["docs/developer-agent.md", "docs/developer-agent-handoff.template.json", "docs/developer-agent-adapters.md"];
5
6
  export interface DeveloperAgentWorkspaceFileOptions {
7
+ deploymentProfile: DeploymentProfile;
6
8
  frameworkVersion: string;
7
9
  name: string;
8
10
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEVELOPER_AGENT_WORKSPACE_SEEDED_PATHS = exports.DEVELOPER_AGENT_ADAPTER_EVALUATION_PATH = exports.DEVELOPER_AGENT_HANDOFF_TEMPLATE_PATH = exports.DEVELOPER_AGENT_RUNBOOK_PATH = void 0;
4
4
  exports.renderDeveloperAgentWorkspaceFilePlan = renderDeveloperAgentWorkspaceFilePlan;
5
5
  const model_js_1 = require("../../developer-agent/model.js");
6
+ const workspace_files_adopter_skills_js_1 = require("./workspace-files-adopter-skills.js");
6
7
  exports.DEVELOPER_AGENT_RUNBOOK_PATH = 'docs/developer-agent.md';
7
8
  exports.DEVELOPER_AGENT_HANDOFF_TEMPLATE_PATH = 'docs/developer-agent-handoff.template.json';
8
9
  exports.DEVELOPER_AGENT_ADAPTER_EVALUATION_PATH = 'docs/developer-agent-adapters.md';
@@ -19,19 +20,58 @@ const HANDOFF_STATE_DESCRIPTIONS = {
19
20
  'failed-recovery-or-cleanup-required': 'Execution failed and named recovery or cleanup work is still required.',
20
21
  'proposal-or-research-only': 'The record contains no implementation or mutation claim.',
21
22
  };
22
- function renderAgentsAppendix(name) {
23
- return `## Developer-Agent workflow
23
+ /**
24
+ * One canonical secret hand-off for seeded agent guidance. `set` stays
25
+ * human-only (the CLI refuses agent and CI markers); `remove` carries no value
26
+ * and an agent may start it, with the human typing the hidden confirmation.
27
+ */
28
+ const HUMAN_SECRET_HANDOFF = `Human-supplied secret values are entered only by a human, in a terminal no agent spawned,
29
+ through \`ebk secret set <slice> <logical-name>\`; the command refuses agent and CI
30
+ environments, so the plaintext never crosses an agent-owned process. An agent prepares that
31
+ step: it names the exact Slice and logical name, tells the human the exact command to run,
32
+ and verifies afterwards with the value-blind status and verification targets.
33
+ \`ebk secret remove <slice> <logical-name>\` carries no value: an agent may start it, and the
34
+ human types the hidden confirmation in that interactive terminal. Agents and CI may use
35
+ value-blind metadata, status, verification, and the exact generated-secret initializer, which
36
+ accepts and returns no plaintext value.`;
37
+ function deploymentAuthorityGuidance(deploymentProfile) {
38
+ switch (deploymentProfile) {
39
+ case 'starter':
40
+ return `Development and production mutation may run locally only through the matching
41
+ authenticated Nx lifecycle and committed Repository Operating Policy. GitHub deployment
42
+ remains optional. A human operates the terminal for local production and types its exact
43
+ acknowledgement; an agent prepares the command, receipt review, and evidence.
44
+ Never invoke SST directly.`;
45
+ case 'production-isolated':
46
+ return `Development and staging mutation may run locally only through the matching
47
+ authenticated Nx lifecycle and committed Repository Operating Policy. A human operates the
48
+ terminal for local staging and types its exact acknowledgement; an agent prepares the
49
+ command, receipt review, and evidence. Production mutation
50
+ belongs to the protected GitHub environment and OIDC workflow. Never invoke SST directly.`;
51
+ case 'fully-isolated':
52
+ return `Development mutation may run locally only through the matching authenticated Nx
53
+ lifecycle and committed Repository Operating Policy. Staging and production mutation belongs
54
+ to the matching protected GitHub environment and OIDC workflow. Never invoke SST directly.`;
55
+ }
56
+ }
57
+ function renderAgentsAppendix(name, deploymentProfile) {
58
+ return `${(0, workspace_files_adopter_skills_js_1.renderAdopterSkillIndex)()}
59
+ ## Developer-Agent workflow
24
60
 
25
61
  The Developer-Agent contract is bounded to the ${name} product and this repository. It does
26
62
  not grant authority over another repository, account, environment, or worktree.
27
63
 
28
64
  Use \`ebk agent context\`, \`ebk agent plan\`, \`ebk agent upgrade-preview\`,
29
65
  \`ebk agent handoff\`, and \`ebk agent resume\`; add \`--json\` when a machine-readable
30
- result is required. Nx remains the graph and target authority: an agent plan is advisory, and
31
- work runs only through the authenticated owning target, typed Nx generator, bounded EBK
32
- development command, frozen package-manager command, or plan-derived adopter-owned
33
- source-edit scope. Protected and destructive operations expose identity and routing only,
34
- never local command arguments.
66
+ result is required. Nx remains the graph and target authority. An agent plan is advisory; it
67
+ is the route for typed generators, Upgrade preview and apply, and protected routing. Ordinary
68
+ edits to adopter-owned, seeded, and unrecorded files need no plan: make them directly on a
69
+ topic branch, bounded by \`.ebk/ownership.json\`, \`pnpm health\`, the verify barrier, and
70
+ pull-request review. Managed paths are never hand-edited. Other work runs through the
71
+ authenticated owning target, typed Nx generator, bounded EBK development command, or frozen
72
+ package-manager command.
73
+ Protected and destructive operations expose identity and routing only, never local command
74
+ arguments.
35
75
 
36
76
  External Blueprint receipt review is the one deliberate target exception. Run only
37
77
  \`ebk blueprint verification-review\` after the protected static approval; there is no Nx
@@ -41,28 +81,51 @@ reported after that commit remain authenticated local-source Nx targets and reta
41
81
  documented same-user installed-toolchain boundary.
42
82
 
43
83
  Begin and hand off implementation work with
44
- \`pnpm nx run ${name}:work-markers\`. Verify the affected owner target, then run
45
- \`pnpm nx run ${name}:verify\` and the workspace \`pnpm verify\` barrier before claiming
46
- implemented-and-verified.
47
-
48
- Use one topic branch and linked worktree per independent change. Stop on stale base,
49
- overlapping paths or shared external state, ownership or generated drift, invalid policy,
50
- blocking markers, missing prerequisites, or unknown authority; never merge, rebase, discard,
51
- or overwrite another worktree automatically.
52
-
53
- Local agents may inspect and propose protected work, but staging and production mutation
54
- belongs to the matching protected GitHub environment and OIDC workflow. Secret values remain
55
- a human-only TTY ceremony; agents may use only value-blind metadata, status, and verification.
84
+ \`pnpm nx run ${name}:work-markers\`. For ordinary feature completion, run the
85
+ affected owner's tests, typecheck, lint, and ownership checks reported by the
86
+ Nx graph and agent context. Record exactly which checks passed and which remain
87
+ pending. Feature verification is not release qualification.
88
+
89
+ Reserve the workspace \`pnpm verify\` source-check barrier for an adopter
90
+ milestone or coherent integration batch. It uses \`${name}:verify-proposed\`
91
+ and does not require an initial commit or produce protected Blueprint authority.
92
+ The separate \`pnpm nx run ${name}:verify\` target retains protected Blueprint
93
+ trust checks and requires real committed history and protected refs; protected
94
+ CI continues using that target. Release qualification additionally requires
95
+ the declared packed, platform, and external acceptance.
96
+ An explicitly required safety or contract check is never waived by this cadence.
97
+ Development accepts a dirty tree and needs no production confirmation or release
98
+ artifact; protected-stage source and approval requirements remain unchanged.
99
+
100
+ If a Slice, Service, or Job generator reports a retained post-generation install, rerun
101
+ that same generator with the exact scoped prefix
102
+ \`pnpm --config.verify-deps-before-run=warn nx generate\`. This is the sole exception to
103
+ the workspace's fail-closed dependency-state check: it lets Nx reach EBK's bound recovery
104
+ callback, which owns the install. Never run \`pnpm install\` while the retained marker exists.
105
+
106
+ Use one topic branch and linked worktree per independent change. Stop on overlapping paths
107
+ or shared external state, ownership or generated drift, invalid policy, blocking markers,
108
+ missing prerequisites, or unknown authority. A stale base on your own topic branch is not a
109
+ stop: rebase or merge the base branch into your own branch, rerun affected verification, and
110
+ continue; where an operation itself binds an exact base (upgrade, formal handoff), refresh
111
+ the base first and then rerun that operation. Never merge, rebase, discard, or overwrite
112
+ another worktree or another actor's branch automatically. Before a shared operation (gateway
113
+ setup, package release, candidate adoption, database replacement, or development
114
+ deployment), follow the claim procedure in \`docs/shared-operation-claims.yaml\`.
115
+
116
+ ${deploymentAuthorityGuidance(deploymentProfile)}
117
+
118
+ ${HUMAN_SECRET_HANDOFF}
56
119
 
57
120
  Read \`docs/developer-agent.md\`, \`docs/developer-agent-handoff.template.json\`,
58
- \`docs/developer-agent-adapters.md\`, \`docs/git-workflow.md\`, and
59
- \`docs/work-markers.md\` before proceeding.
121
+ \`docs/developer-agent-adapters.md\`, \`docs/git-workflow.md\`,
122
+ \`docs/work-markers.md\`, and \`docs/shared-operation-claims.yaml\` before proceeding.
60
123
  `;
61
124
  }
62
125
  function renderHandoffStates() {
63
126
  return model_js_1.DEVELOPER_AGENT_HANDOFF_STATES.map((state) => `- \`${state}\`: ${HANDOFF_STATE_DESCRIPTIONS[state]}`).join('\n');
64
127
  }
65
- function renderRunbook(name) {
128
+ function renderRunbook(name, deploymentProfile) {
66
129
  return `# Developer-Agent runbook
67
130
 
68
131
  This is the vendor-neutral Developer-Agent contract for the ${name} repository. The
@@ -73,7 +136,9 @@ required. A skill, MCP client, IDE, or hosted agent service is optional.
73
136
 
74
137
  The numeric JSON schema in this runbook is framework-internal and may change before stable v1.
75
138
  Do not publish an adapter or treat it as an independent public API until the repository-native
76
- CLI and Nx contract complete their live pilots.
139
+ CLI and Nx contract complete their live pilots. A local, unpublished wrapper (skill, MCP tool,
140
+ or IDE command) that only invokes these same commands with \`--json\` is permitted under
141
+ \`docs/developer-agent-adapters.md\` and must stay removable without changing the workflow.
77
142
 
78
143
  ## Canonical loop
79
144
 
@@ -84,21 +149,36 @@ CLI and Nx contract complete their live pilots.
84
149
  \`pnpm nx run ${name}:developer-context\` target is a compatibility and graph-authority
85
150
  route: its human mode emits concise prose, and \`--json\` emits only the canonical context
86
151
  byte length and digest in a bounded fingerprint.
87
- 3. Create one bounded JSON request, then run
152
+ 3. For commit-bound advisory planning, create one bounded JSON request, then run
88
153
  \`ebk agent plan <request.json>\` for one supported operation and reviewed
89
154
  acceptance-criteria reference. The plan is advisory and grants no execution authority.
90
- 4. Follow only the reported owner and operation:
155
+ On fresh or dirty source, ordinary feature work may instead use the documented
156
+ typed generator directly (dry-run, then apply), or edit inspected seeded/user-owned
157
+ feature surfaces. This does not execute a blocked plan or waive the owner's checks.
158
+ Do not manufacture commits or protected refs merely to develop.
159
+ 4. Follow the documented owning workflow, or the reported plan when using planning:
91
160
  - execute a typed stable Slice, Function, Service, Job, or Upgrade generator with exactly
92
161
  the structured arguments reported by the plan;
93
162
  - execute authenticated read-only, local-source, or development Nx targets;
94
163
  - execute bounded \`ebk dev\` inspection or Slice lifecycle commands;
164
+ - run \`ebk deploy development [slice...]\` directly for a development deployment,
165
+ adding \`--json\` for one bounded result on stdout after the run (planning reports the
166
+ root \`deploy-local\` target as non-plannable and names this owner; staging and
167
+ production refuse \`--json\`);
95
168
  - execute the frozen package installation command;
96
- - make an ordinary source edit only within the plan-derived adopter-owned project scope; or
169
+ - make an ordinary source edit within inspected seeded/user-owned extension points
170
+ (formal source-edit plans admit only adopter-owned paths); or
97
171
  - route protected work to the matching GitHub environment and OIDC workflow without
98
172
  receiving local command arguments.
99
- 5. Verify the affected project or owner target, rerun
100
- \`pnpm nx run ${name}:work-markers\`, run \`pnpm nx run ${name}:verify\`, and complete
101
- \`pnpm verify\` before claiming completion.
173
+ 5. Run the affected owner's tests, typecheck, lint, and ownership checks from
174
+ the Nx graph and agent context, then rerun \`pnpm nx run ${name}:work-markers\`.
175
+ For ordinary feature completion, report those results without requiring the
176
+ full workspace barrier. At an adopter milestone or coherent integration batch,
177
+ also run \`pnpm verify\` for current source. Protected acceptance separately
178
+ runs \`pnpm nx run ${name}:verify\` against genuine protected refs. Release qualification
179
+ adds the declared packed, platform, and external acceptance. Feature verification
180
+ is not release qualification; no explicitly required safety or contract check
181
+ is waived, and pending external proof remains pending in the handoff.
102
182
  6. Fill an adopter-owned copy of the seeded template, then run
103
183
  \`ebk agent handoff <handoff.json>\` to validate exact resumable state. A different actor
104
184
  uses \`ebk agent resume <handoff.json>\` and must re-inspect current state rather than
@@ -109,7 +189,11 @@ unsupported until their owning target, command, workflow, or runbook has an exac
109
189
  signature and proof contract. The stable Slice, Function, Service, Job, and Upgrade generators
110
190
  have closed typed inputs; arbitrary Blueprint references or inputs, dependency changes other
111
191
  than frozen installation, mutable development configuration, and secret set/remove remain
112
- outside \`ebk agent plan\`. Use their direct typed owner and never infer arguments.
192
+ outside \`ebk agent plan\` but are not forbidden: use their direct owner and never infer
193
+ arguments. Add or upgrade a dependency with \`pnpm add\` or \`pnpm up\` on the
194
+ adopter-owned entries of a projection-managed \`package.json\` (never a framework-managed
195
+ entry), then run the frozen installation and \`pnpm verify\`, which includes the
196
+ supply-chain checks, and let pull-request review cover the change.
113
197
 
114
198
  External Blueprint receipt creation is not an Nx target. After protected Git retains the exact
115
199
  static generated-content approval, invoke only \`ebk blueprint verification-review\`. The
@@ -138,9 +222,17 @@ context:
138
222
  Optional \`assumptions\` remain bounded and explicit. The CLI derives each selected path's
139
223
  \`managed\`, \`seeded\`, or \`adopter-owned\` mode from repository ownership records and
140
224
  project roots; the request cannot assert it. Cross-project selections, unknown ownership,
141
- managed or seeded source-edit paths, raw commands, prompts, secret values, absolute paths,
225
+ managed or seeded source-edit plan paths, raw commands, prompts, secret values, absolute paths,
142
226
  traversal, and symlink inputs are refused.
143
227
 
228
+ That source-edit plan restriction does not make seeded feature code immutable. A plan
229
+ refusal for a seeded path is not a prohibition: seeded files and files absent from the
230
+ ownership record may be edited directly on a topic branch, without a plan, bounded by
231
+ \`pnpm health\`, the verify barrier, and pull-request review. Edit seeded handlers, tests
232
+ and feature registries through the ordinary documented feature workflow; managed mechanics
233
+ always require their owning generator and are never hand-edited. Source-edit plans do not yet
234
+ admit seeded paths.
235
+
144
236
  Typed generator requests add one closed \`generatorInput\` object and cannot supply
145
237
  \`selectedFiles\`. New Slice planning accepts only \`{"generator":"slice","name":"billing"}\`
146
238
  and the built-in Standard Blueprint. Function, Service, and Job planning requires exact
@@ -211,19 +303,38 @@ mutation, verification, cleanup, protected evidence, or approval occurred.
211
303
 
212
304
  ## Stop conditions
213
305
 
214
- Stop before mutation when the command reports invalid input, a dirty worktree, stale base,
215
- overlapping work, ownership conflict, generated drift, policy conflict, blocking marker,
306
+ Stop the requested operation when its command reports invalid input, a dirty worktree
307
+ or stale base prohibited by that operation, overlapping work, ownership conflict, generated drift, policy conflict, blocking marker,
216
308
  missing prerequisite, or required authority. Unknown targets fail closed. Do not repair managed
217
309
  output directly, silently adopt another worktree's changes, infer a protected credential, or
218
310
  broaden an operation beyond the owning tool.
219
311
 
220
- For development mutation, name the cleanup and recovery owner before execution. For staging or
221
- production, a local agent stops at report or proposal: mutation belongs only to the matching
222
- protected GitHub environment and OIDC workflow. Destructive work additionally requires an exact
223
- target, explicit approval, retained recovery proof, and completed cleanup.
224
-
225
- Secret values are entered only through the human TTY ceremony. Agents and CI are limited to
226
- value-blind secret metadata, status, and verification.
312
+ Dirty source alone does not block ordinary feature generation, seeded/user-owned edits,
313
+ affected verification or local development. Commit-bound plans, upgrades and formal
314
+ handoffs still enforce their exact source requirements; protected authority is unchanged.
315
+ A stale base on your own topic branch is not a stop: rebase or merge the base branch into
316
+ your own branch, rerun affected verification, and continue. Never merge, rebase, discard,
317
+ or overwrite another worktree or another actor's branch.
318
+
319
+ For every mutation, name the cleanup and recovery owner before execution.
320
+ ${deploymentAuthorityGuidance(deploymentProfile)} Destructive work in a staging or production
321
+ stage additionally requires an exact target, the human-typed TTY acknowledgement or protected
322
+ GitHub environment approval that owns that stage, retained recovery proof, and completed
323
+ cleanup. Destructive work in the development stage (remove, unlock, migration, personal task
324
+ teardown) needs only the exact target and completed cleanup.
325
+
326
+ ${HUMAN_SECRET_HANDOFF}
327
+
328
+ ## Shared-operation claims
329
+
330
+ Gateway setup, package release, candidate adoption, database replacement, and development
331
+ deployment are shared operations that only one actor at a time may run. Before starting one,
332
+ follow the procedure in \`docs/shared-operation-claims.yaml\` and \`docs/work-markers.md\`:
333
+ read the current ledger, stop and report an open conflicting claim instead of running the
334
+ operation, otherwise record your claim, and delete it when the operation and its verification
335
+ are complete. Nothing enforces a claim; it is a convention built on work markers. Adding or
336
+ removing a claim changes the work-marker set, so \`ebk agent resume\` reports a retained
337
+ handoff as \`marker-blocked\`; record a fresh handoff after the claim changes.
227
338
 
228
339
  ## Handoff and resumption
229
340
 
@@ -238,6 +349,11 @@ stage, effective policy digest, candidate provenance, Blueprint and framework ve
238
349
  performed operation identities, marker snapshot, external resources, and required verification
239
350
  and evidence.
240
351
 
352
+ Before a clean checkpoint exists, retain an ordinary work-in-progress note under
353
+ \`docs/adoption/\`: exact files, package/source identity, checks, pending cleanup and
354
+ next supported command. Another actor must re-inspect current state. Such a note is
355
+ not a validated formal handoff or protected evidence and needs no fabricated refs.
356
+
241
357
  The six honest handoff states are:
242
358
 
243
359
  ${renderHandoffStates()}
@@ -467,11 +583,13 @@ function createHandoffTemplate(options) {
467
583
  function renderAdapterEvaluation() {
468
584
  return `# Optional Developer-Agent adapter evaluation
469
585
 
470
- Stable-v1 decision: Empire Builder Kit does not ship a skill or MCP adapter before v1. The
586
+ Empire Builder Kit bundles six repository-local adopter skills under \`.agents/skills/\`.
587
+ They teach the canonical workflow and can be read directly by any agent; automatic discovery
588
+ depends on the agent host. EBK does not require a hosted agent service or ship an MCP adapter. The
471
589
  repository-local \`ebk agent context\`, \`ebk agent plan\`, \`ebk agent upgrade-preview\`,
472
590
  \`ebk agent handoff\`, \`ebk agent resume\`, and declared Nx targets are the canonical
473
591
  contract for humans and agents. Revisit an adapter only after that contract completes its
474
- live pilots.
592
+ live pilots. Bundled skills remain guidance, not a separate execution or approval system.
475
593
 
476
594
  A skill or MCP adapter is optional.
477
595
 
@@ -499,9 +617,9 @@ canonical Developer-Agent contract.
499
617
  function renderDeveloperAgentWorkspaceFilePlan(options) {
500
618
  const template = createHandoffTemplate(options);
501
619
  return {
502
- agentsAppendix: renderAgentsAppendix(options.name),
620
+ agentsAppendix: renderAgentsAppendix(options.name, options.deploymentProfile),
503
621
  files: {
504
- [exports.DEVELOPER_AGENT_RUNBOOK_PATH]: renderRunbook(options.name),
622
+ [exports.DEVELOPER_AGENT_RUNBOOK_PATH]: renderRunbook(options.name, options.deploymentProfile),
505
623
  [exports.DEVELOPER_AGENT_HANDOFF_TEMPLATE_PATH]: `${JSON.stringify(template, null, 2)}\n`,
506
624
  [exports.DEVELOPER_AGENT_ADAPTER_EVALUATION_PATH]: renderAdapterEvaluation(),
507
625
  },
@@ -0,0 +1,18 @@
1
+ import type { DeploymentProfile } from '../../repository-policy/index.js';
2
+ export declare const THIN_ECR_INSPECTOR_WORKFLOW_PATH: ".github/workflows/ecr-inspector-evidence.yml";
3
+ interface EcrInspectorWorkflowOptions {
4
+ actionPins: {
5
+ checkout: string;
6
+ configureAwsCredentials: string;
7
+ downloadArtifact: string;
8
+ pnpmSetup: string;
9
+ setupNode: string;
10
+ uploadArtifact: string;
11
+ };
12
+ deploymentProfile: DeploymentProfile;
13
+ name: string;
14
+ nodeVersion: string;
15
+ }
16
+ /** Render the postdeploy scanner against the thin lifecycle receipt artifact. */
17
+ export declare function renderThinEcrInspectorWorkflow(options: EcrInspectorWorkflowOptions): Readonly<Record<typeof THIN_ECR_INSPECTOR_WORKFLOW_PATH, string>>;
18
+ export {};