@empire-builder-kit/nx 1.0.0-rc.2 → 1.0.0-rc.21

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 (253) hide show
  1. package/executors.json +10 -0
  2. package/package.json +4 -4
  3. package/src/cli/output.js +1 -1
  4. package/src/developer-agent/model.js +4 -4
  5. package/src/developer-agent/model.js.map +1 -1
  6. package/src/developer-agent/operation-registry.js +67 -10
  7. package/src/developer-agent/operation-registry.js.map +1 -1
  8. package/src/developer-agent/planning.js +7 -9
  9. package/src/developer-agent/planning.js.map +1 -1
  10. package/src/developer-agent/workspace-inspection.js +12 -0
  11. package/src/developer-agent/workspace-inspection.js.map +1 -1
  12. package/src/executors/blueprint-trust/blueprint-trust.js +6 -0
  13. package/src/executors/blueprint-trust/blueprint-trust.js.map +1 -1
  14. package/src/executors/deployment-plan/deployment-plan.js +5 -0
  15. package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
  16. package/src/executors/foundation-preflight/foundation-preflight.d.ts +2 -0
  17. package/src/executors/foundation-preflight/foundation-preflight.js +6 -2
  18. package/src/executors/foundation-preflight/foundation-preflight.js.map +1 -1
  19. package/src/executors/foundation-preflight/schema.json +10 -0
  20. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.d.ts +2 -0
  21. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js +2 -1
  22. package/src/executors/foundation-profile-preflight/foundation-profile-preflight.js.map +1 -1
  23. package/src/executors/foundation-profile-preflight/schema.json +19 -3
  24. package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
  25. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
  26. package/src/executors/infrastructure-plan/infrastructure-plan.d.ts +229 -5
  27. package/src/executors/infrastructure-plan/infrastructure-plan.js +2298 -175
  28. package/src/executors/infrastructure-plan/infrastructure-plan.js.map +1 -1
  29. package/src/executors/infrastructure-plan/schema.json +16 -0
  30. package/src/executors/local-deploy/fixtures/local-deploy-state-machine.mjs +53 -0
  31. package/src/executors/local-deploy/local-approval.d.ts +23 -0
  32. package/src/executors/local-deploy/local-approval.js +43 -0
  33. package/src/executors/local-deploy/local-approval.js.map +1 -0
  34. package/src/executors/local-deploy/local-deploy.d.ts +69 -0
  35. package/src/executors/local-deploy/local-deploy.js +911 -0
  36. package/src/executors/local-deploy/local-deploy.js.map +1 -0
  37. package/src/executors/local-deploy/schema.json +42 -0
  38. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +3 -0
  39. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +94 -0
  40. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -0
  41. package/src/executors/router-waf-rehearsal/schema.json +9 -0
  42. package/src/executors/secret-metadata/schema.json +5 -0
  43. package/src/executors/secret-metadata/secret-metadata.d.ts +12 -1
  44. package/src/executors/secret-metadata/secret-metadata.js +68 -16
  45. package/src/executors/secret-metadata/secret-metadata.js.map +1 -1
  46. package/src/executors/sst-lifecycle/logging-preflight.d.ts +5 -0
  47. package/src/executors/sst-lifecycle/logging-preflight.js +23 -13
  48. package/src/executors/sst-lifecycle/logging-preflight.js.map +1 -1
  49. package/src/executors/sst-lifecycle/run-sst-command.d.ts +8 -1
  50. package/src/executors/sst-lifecycle/run-sst-command.js +144 -12
  51. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
  52. package/src/executors/sst-lifecycle/schema.json +13 -1
  53. package/src/executors/sst-lifecycle/sst-environment-source.d.ts +25 -0
  54. package/src/executors/sst-lifecycle/sst-environment-source.js +213 -0
  55. package/src/executors/sst-lifecycle/sst-environment-source.js.map +1 -0
  56. package/src/foundation/index.d.ts +2 -0
  57. package/src/foundation/index.js +2 -0
  58. package/src/foundation/index.js.map +1 -1
  59. package/src/foundation/logging-preflight.js +1 -1
  60. package/src/foundation/logging-preflight.js.map +1 -1
  61. package/src/foundation/logging.d.ts +3 -1
  62. package/src/foundation/logging.js +1 -1
  63. package/src/foundation/logging.js.map +1 -1
  64. package/src/foundation/partial-state.d.ts +10 -0
  65. package/src/foundation/partial-state.js +21 -0
  66. package/src/foundation/partial-state.js.map +1 -0
  67. package/src/foundation/router-waf.d.ts +98 -0
  68. package/src/foundation/router-waf.js +401 -0
  69. package/src/foundation/router-waf.js.map +1 -0
  70. package/src/generators/function/function.js +2 -1
  71. package/src/generators/function/function.js.map +1 -1
  72. package/src/generators/post-generation-install.d.ts +1 -0
  73. package/src/generators/post-generation-install.js +134 -67
  74. package/src/generators/post-generation-install.js.map +1 -1
  75. package/src/generators/preset/generator.js +23 -3
  76. package/src/generators/preset/generator.js.map +1 -1
  77. package/src/generators/preset/schema.d.ts +7 -0
  78. package/src/generators/preset/schema.json +47 -0
  79. package/src/generators/preset/tool-versions.d.ts +5 -5
  80. package/src/generators/preset/tool-versions.js +4 -4
  81. package/src/generators/preset/workspace-files-ci-acceptance.d.ts +1 -0
  82. package/src/generators/preset/workspace-files-ci-acceptance.js +791 -0
  83. package/src/generators/preset/workspace-files-ci-acceptance.js.map +1 -0
  84. package/src/generators/preset/workspace-files-developer-agent.d.ts +2 -0
  85. package/src/generators/preset/workspace-files-developer-agent.js +25 -11
  86. package/src/generators/preset/workspace-files-developer-agent.js.map +1 -1
  87. package/src/generators/preset/workspace-files-foundation-workload-roles.js +5 -2
  88. package/src/generators/preset/workspace-files-foundation-workload-roles.js.map +1 -1
  89. package/src/generators/preset/workspace-files-performance-load.js +2 -1
  90. package/src/generators/preset/workspace-files-performance-load.js.map +1 -1
  91. package/src/generators/preset/workspace-files-workload-role-baseline.js +254 -42
  92. package/src/generators/preset/workspace-files-workload-role-baseline.js.map +1 -1
  93. package/src/generators/preset/workspace-files.d.ts +8 -4
  94. package/src/generators/preset/workspace-files.js +1039 -68
  95. package/src/generators/preset/workspace-files.js.map +1 -1
  96. package/src/generators/repository-policy/repository-policy.js +65 -3
  97. package/src/generators/repository-policy/repository-policy.js.map +1 -1
  98. package/src/generators/repository-policy/schema.d.ts +6 -0
  99. package/src/generators/repository-policy/schema.json +46 -0
  100. package/src/generators/slice/built-in-plan-api-files.js +2 -1
  101. package/src/generators/slice/built-in-plan-api-files.js.map +1 -1
  102. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js +19 -1
  103. package/src/generators/slice/built-in-plan-authorization-infrastructure-files.js.map +1 -1
  104. package/src/generators/slice/built-in-plan-data-files.js +16 -5
  105. package/src/generators/slice/built-in-plan-data-files.js.map +1 -1
  106. package/src/generators/slice/built-in-plan-data-retention-job-files.js +10 -6
  107. package/src/generators/slice/built-in-plan-data-retention-job-files.js.map +1 -1
  108. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +25 -10
  109. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -1
  110. package/src/generators/slice/built-in-plan-foundation-files.js +2 -3
  111. package/src/generators/slice/built-in-plan-foundation-files.js.map +1 -1
  112. package/src/generators/slice/built-in-plan-infrastructure-files.js +364 -29
  113. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -1
  114. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js +67 -11
  115. package/src/generators/slice/built-in-plan-infrastructure-safety-files.js.map +1 -1
  116. package/src/generators/slice/built-in-plan-metadata-files.js +1 -0
  117. package/src/generators/slice/built-in-plan-metadata-files.js.map +1 -1
  118. package/src/generators/slice/built-in-plan-operations-files.js +442 -5
  119. package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
  120. package/src/generators/slice/built-in-plan-performance-files.d.ts +2 -1
  121. package/src/generators/slice/built-in-plan-performance-files.js +41 -47
  122. package/src/generators/slice/built-in-plan-performance-files.js.map +1 -1
  123. package/src/generators/slice/built-in-plan-project-files.js +14 -1
  124. package/src/generators/slice/built-in-plan-project-files.js.map +1 -1
  125. package/src/generators/slice/built-in-plan-release-files.js +235 -56
  126. package/src/generators/slice/built-in-plan-release-files.js.map +1 -1
  127. package/src/generators/slice/built-in-plan-testing-files.js +92 -5
  128. package/src/generators/slice/built-in-plan-testing-files.js.map +1 -1
  129. package/src/generators/slice/built-in-plan-web-files.js +13 -0
  130. package/src/generators/slice/built-in-plan-web-files.js.map +1 -1
  131. package/src/generators/slice/built-in-plan-workload-role-files.js +5 -2
  132. package/src/generators/slice/built-in-plan-workload-role-files.js.map +1 -1
  133. package/src/generators/slice/built-in-plan.d.ts +2 -1
  134. package/src/generators/slice/built-in-plan.js +8 -5
  135. package/src/generators/slice/built-in-plan.js.map +1 -1
  136. package/src/generators/slice/slice.js +11 -3
  137. package/src/generators/slice/slice.js.map +1 -1
  138. package/src/generators/upgrade/upgrade.js +35 -0
  139. package/src/generators/upgrade/upgrade.js.map +1 -1
  140. package/src/generators/workload/frozen-container.d.ts +3 -2
  141. package/src/generators/workload/frozen-container.js +6 -4
  142. package/src/generators/workload/frozen-container.js.map +1 -1
  143. package/src/generators/workload/workload.js +2 -2
  144. package/src/generators/workload/workload.js.map +1 -1
  145. package/src/git-policy/github-bootstrap.d.ts +3 -1
  146. package/src/git-policy/github-bootstrap.js +22 -5
  147. package/src/git-policy/github-bootstrap.js.map +1 -1
  148. package/src/git-policy/routing.d.ts +2 -0
  149. package/src/git-policy/routing.js +12 -1
  150. package/src/git-policy/routing.js.map +1 -1
  151. package/src/infrastructure-change/local-capability.d.ts +73 -0
  152. package/src/infrastructure-change/local-capability.js +114 -0
  153. package/src/infrastructure-change/local-capability.js.map +1 -0
  154. package/src/infrastructure-change/model.d.ts +25 -4
  155. package/src/infrastructure-change/model.js +1 -0
  156. package/src/infrastructure-change/model.js.map +1 -1
  157. package/src/infrastructure-change/normalize.d.ts +4 -0
  158. package/src/infrastructure-change/normalize.js +47 -7
  159. package/src/infrastructure-change/normalize.js.map +1 -1
  160. package/src/infrastructure-change/plan.d.ts +30 -3
  161. package/src/infrastructure-change/plan.js +323 -13
  162. package/src/infrastructure-change/plan.js.map +1 -1
  163. package/src/infrastructure-change/risk.d.ts +3 -1
  164. package/src/infrastructure-change/risk.js +96 -16
  165. package/src/infrastructure-change/risk.js.map +1 -1
  166. package/src/local-dev/environment-inspector.d.ts +1 -0
  167. package/src/local-dev/environment-inspector.js +21 -9
  168. package/src/local-dev/environment-inspector.js.map +1 -1
  169. package/src/local-dev/private-state.d.ts +2 -0
  170. package/src/local-dev/private-state.js +3 -1
  171. package/src/local-dev/private-state.js.map +1 -1
  172. package/src/performance/cost-controls.d.ts +5 -3
  173. package/src/performance/cost-controls.js +30 -24
  174. package/src/performance/cost-controls.js.map +1 -1
  175. package/src/performance/model.d.ts +1 -1
  176. package/src/performance/model.js +0 -2
  177. package/src/performance/model.js.map +1 -1
  178. package/src/performance/test-fixtures.js +0 -2
  179. package/src/performance/test-fixtures.js.map +1 -1
  180. package/src/release/source-authority.d.ts +1 -0
  181. package/src/release/source-authority.js +136 -9
  182. package/src/release/source-authority.js.map +1 -1
  183. package/src/repository-policy/deployment-plan.d.ts +4 -1
  184. package/src/repository-policy/deployment-plan.js +8 -0
  185. package/src/repository-policy/deployment-plan.js.map +1 -1
  186. package/src/repository-policy/foundation-profile.js +1 -2
  187. package/src/repository-policy/foundation-profile.js.map +1 -1
  188. package/src/repository-policy/policy.d.ts +25 -1
  189. package/src/repository-policy/policy.js +145 -4
  190. package/src/repository-policy/policy.js.map +1 -1
  191. package/src/schemas/performance-policy-v1.json +0 -2
  192. package/src/schemas/repository-policy-v1.json +41 -0
  193. package/src/secrets/operator.js +22 -4
  194. package/src/secrets/operator.js.map +1 -1
  195. package/src/secrets/verification.js +9 -1
  196. package/src/secrets/verification.js.map +1 -1
  197. package/src/sst-environment-source-format.d.ts +3 -0
  198. package/src/sst-environment-source-format.js +179 -0
  199. package/src/sst-environment-source-format.js.map +1 -0
  200. package/src/supply-chain/blueprint-trust-git.js +72 -21
  201. package/src/supply-chain/blueprint-trust-git.js.map +1 -1
  202. package/src/supply-chain/blueprint-verification-authority.js +55 -3
  203. package/src/supply-chain/blueprint-verification-authority.js.map +1 -1
  204. package/src/supply-chain/blueprint-verification-execution.js +17 -2
  205. package/src/supply-chain/blueprint-verification-execution.js.map +1 -1
  206. package/src/supply-chain/build-output.d.ts +7 -1
  207. package/src/supply-chain/build-output.js +160 -20
  208. package/src/supply-chain/build-output.js.map +1 -1
  209. package/src/supply-chain/generated-command.js +131 -43
  210. package/src/supply-chain/generated-command.js.map +1 -1
  211. package/src/supply-chain/generated-container-release-command.js +187 -38
  212. package/src/supply-chain/generated-container-release-command.js.map +1 -1
  213. package/src/supply-chain/generated-ecr-collector-command.js +12 -2
  214. package/src/supply-chain/generated-ecr-collector-command.js.map +1 -1
  215. package/src/supply-chain/generated-scanner-command.js +114 -54
  216. package/src/supply-chain/generated-scanner-command.js.map +1 -1
  217. package/src/supply-chain/inventory.d.ts +17 -0
  218. package/src/supply-chain/inventory.js +114 -3
  219. package/src/supply-chain/inventory.js.map +1 -1
  220. package/src/supply-chain/pnpm-toolchain-authority.d.ts +4 -3
  221. package/src/supply-chain/pnpm-toolchain-authority.js +20 -34
  222. package/src/supply-chain/pnpm-toolchain-authority.js.map +1 -1
  223. package/src/supply-chain/policy.js +4 -1
  224. package/src/supply-chain/policy.js.map +1 -1
  225. package/src/supply-chain/sbom.d.ts +1 -1
  226. package/src/supply-chain/sbom.js +30 -5
  227. package/src/supply-chain/sbom.js.map +1 -1
  228. package/src/supply-chain/scanner.js +10 -1
  229. package/src/supply-chain/scanner.js.map +1 -1
  230. package/src/workload-roles/account-baseline.d.ts +11 -0
  231. package/src/workload-roles/account-baseline.js +253 -16
  232. package/src/workload-roles/account-baseline.js.map +1 -1
  233. package/src/workload-roles/authority.d.ts +3 -1
  234. package/src/workload-roles/authority.js +48 -2
  235. package/src/workload-roles/authority.js.map +1 -1
  236. package/src/workload-roles/aws-s3-state.js +27 -0
  237. package/src/workload-roles/aws-s3-state.js.map +1 -1
  238. package/src/workload-roles/boundary.d.ts +2 -1
  239. package/src/workload-roles/boundary.js +9 -2
  240. package/src/workload-roles/boundary.js.map +1 -1
  241. package/src/workload-roles/handler.js +52 -24
  242. package/src/workload-roles/handler.js.map +1 -1
  243. package/src/workload-roles/injection.js +1 -1
  244. package/src/workload-roles/injection.js.map +1 -1
  245. package/src/workload-roles/provisioner.js +12 -4
  246. package/src/workload-roles/provisioner.js.map +1 -1
  247. package/src/workload-roles/registration.d.ts +1 -0
  248. package/src/workload-roles/registration.js +5 -0
  249. package/src/workload-roles/registration.js.map +1 -1
  250. package/src/workload-roles/stage-boundary.js +1 -1
  251. package/src/workload-roles/stage-boundary.js.map +1 -1
  252. package/src/workload-roles/standard-slice.js +1 -0
  253. package/src/workload-roles/standard-slice.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-files-ci-acceptance.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-ci-acceptance.ts"],"names":[],"mappings":";;AAAA,4EAoxBC;AApxBD,SAAgB,gCAAgC;IAG9C,OAAO;QACL,mCAAmC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8wBxC;KACE,CAAC;AACJ,CAAC"}
@@ -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
  }
@@ -19,7 +19,23 @@ const HANDOFF_STATE_DESCRIPTIONS = {
19
19
  'failed-recovery-or-cleanup-required': 'Execution failed and named recovery or cleanup work is still required.',
20
20
  'proposal-or-research-only': 'The record contains no implementation or mutation claim.',
21
21
  };
22
- function renderAgentsAppendix(name) {
22
+ function deploymentAuthorityGuidance(deploymentProfile) {
23
+ switch (deploymentProfile) {
24
+ case 'starter':
25
+ return `Development and staging mutation may run locally only through the matching
26
+ authenticated Nx lifecycle and committed Repository Operating Policy. Production mutation
27
+ belongs to the protected GitHub environment and OIDC workflow. Never invoke SST directly.`;
28
+ case 'production-isolated':
29
+ return `Development and staging mutation may run locally only through the matching
30
+ authenticated Nx lifecycle and committed Repository Operating Policy. Production mutation
31
+ belongs to the protected GitHub environment and OIDC workflow. Never invoke SST directly.`;
32
+ case 'fully-isolated':
33
+ return `Development mutation may run locally only through the matching authenticated Nx
34
+ lifecycle and committed Repository Operating Policy. Staging and production mutation belongs
35
+ to the matching protected GitHub environment and OIDC workflow. Never invoke SST directly.`;
36
+ }
37
+ }
38
+ function renderAgentsAppendix(name, deploymentProfile) {
23
39
  return `## Developer-Agent workflow
24
40
 
25
41
  The Developer-Agent contract is bounded to the ${name} product and this repository. It does
@@ -50,9 +66,8 @@ overlapping paths or shared external state, ownership or generated drift, invali
50
66
  blocking markers, missing prerequisites, or unknown authority; never merge, rebase, discard,
51
67
  or overwrite another worktree automatically.
52
68
 
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.
69
+ ${deploymentAuthorityGuidance(deploymentProfile)} Secret values remain a human-only TTY ceremony;
70
+ agents may use only value-blind metadata, status, and verification.
56
71
 
57
72
  Read \`docs/developer-agent.md\`, \`docs/developer-agent-handoff.template.json\`,
58
73
  \`docs/developer-agent-adapters.md\`, \`docs/git-workflow.md\`, and
@@ -62,7 +77,7 @@ Read \`docs/developer-agent.md\`, \`docs/developer-agent-handoff.template.json\`
62
77
  function renderHandoffStates() {
63
78
  return model_js_1.DEVELOPER_AGENT_HANDOFF_STATES.map((state) => `- \`${state}\`: ${HANDOFF_STATE_DESCRIPTIONS[state]}`).join('\n');
64
79
  }
65
- function renderRunbook(name) {
80
+ function renderRunbook(name, deploymentProfile) {
66
81
  return `# Developer-Agent runbook
67
82
 
68
83
  This is the vendor-neutral Developer-Agent contract for the ${name} repository. The
@@ -217,10 +232,9 @@ missing prerequisite, or required authority. Unknown targets fail closed. Do not
217
232
  output directly, silently adopt another worktree's changes, infer a protected credential, or
218
233
  broaden an operation beyond the owning tool.
219
234
 
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.
235
+ For every mutation, name the cleanup and recovery owner before execution.
236
+ ${deploymentAuthorityGuidance(deploymentProfile)} Destructive work additionally requires an
237
+ exact target, explicit approval, retained recovery proof, and completed cleanup.
224
238
 
225
239
  Secret values are entered only through the human TTY ceremony. Agents and CI are limited to
226
240
  value-blind secret metadata, status, and verification.
@@ -499,9 +513,9 @@ canonical Developer-Agent contract.
499
513
  function renderDeveloperAgentWorkspaceFilePlan(options) {
500
514
  const template = createHandoffTemplate(options);
501
515
  return {
502
- agentsAppendix: renderAgentsAppendix(options.name),
516
+ agentsAppendix: renderAgentsAppendix(options.name, options.deploymentProfile),
503
517
  files: {
504
- [exports.DEVELOPER_AGENT_RUNBOOK_PATH]: renderRunbook(options.name),
518
+ [exports.DEVELOPER_AGENT_RUNBOOK_PATH]: renderRunbook(options.name, options.deploymentProfile),
505
519
  [exports.DEVELOPER_AGENT_HANDOFF_TEMPLATE_PATH]: `${JSON.stringify(template, null, 2)}\n`,
506
520
  [exports.DEVELOPER_AGENT_ADAPTER_EVALUATION_PATH]: renderAdapterEvaluation(),
507
521
  },
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-files-developer-agent.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-developer-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-files-developer-agent.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-developer-agent.ts"],"names":[],"mappings":";;;AAojBA,sFAuBC;AA3kBD,6DAQwC;AAG3B,QAAA,4BAA4B,GAAG,yBAAkC,CAAC;AAClE,QAAA,qCAAqC,GAChD,4CAAqD,CAAC;AAC3C,QAAA,uCAAuC,GAClD,kCAA2C,CAAC;AAEjC,QAAA,sCAAsC,GAAG;IACpD,oCAA4B;IAC5B,6CAAqC;IACrC,+CAAuC;CAC/B,CAAC;AAgBX,MAAM,0BAA0B,GAAG;IACjC,0BAA0B,EACxB,wEAAwE;IAC1E,oCAAoC,EAClC,kFAAkF;IACpF,yBAAyB,EACvB,+FAA+F;IACjG,0BAA0B,EACxB,+EAA+E;IACjF,qCAAqC,EACnC,wEAAwE;IAC1E,2BAA2B,EACzB,0DAA0D;CACC,CAAC;AAEhE,SAAS,2BAA2B,CAClC,iBAAoC;IAEpC,QAAQ,iBAAiB,EAAE,CAAC;QAC1B,KAAK,SAAS;YACZ,OAAO;;0FAE6E,CAAC;QACvF,KAAK,qBAAqB;YACxB,OAAO;;0FAE6E,CAAC;QACvF,KAAK,gBAAgB;YACnB,OAAO;;2FAE8E,CAAC;IAC1F,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,iBAAoC;IAEpC,OAAO;;iDAEwC,IAAI;;;;;;;;;;;;;;;;;;;gBAmBrC,IAAI;gBACJ,IAAI;;;;;;;;EAQlB,2BAA2B,CAAC,iBAAiB,CAAC;;;;;;CAM/C,CAAC;AACF,CAAC;AAED,SAAS,mBAAmB;IAC1B,OAAO,yCAA8B,CAAC,GAAG,CACvC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,OAAO,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAClE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,iBAAoC;IAEpC,OAAO;;8DAEqD,IAAI;;;;;;;;;;;;uBAY3C,IAAI;;;;mBAIR,IAAI;;;;;;;;;;;;;;;;mBAgBJ,IAAI,sCAAsC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAgCjC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyFlC,2BAA2B,CAAC,iBAAiB,CAAC;;;;;;;;IAQ5C,6CAAqC;;;;;;;;;;;;;EAavC,mBAAmB,EAAE;;IAEnB,6CAAqC;8BACX,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoD5B,+CAAuC;CAC5C,CAAC;AACF,CAAC;AAED,SAAS,qBAAqB,CAC5B,OAA2C;IAE3C,MAAM,qBAAqB,GAAG,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;IACzD,MAAM,wBAAwB,GAC5B,wDAAwD,CAAC;IAC3D,MAAM,oBAAoB,GAAG,GAAG,OAAO,CAAC,IAAI,SAAS,CAAC;IACtD,OAAO;QACL,gBAAgB,EAAE,EAAE;QACpB,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;QACpC,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,uCAA4B;QAClC,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE;YACd,gBAAgB,EAAE,KAAK;YACvB,SAAS,EAAE,WAAW;YACtB,WAAW,EACT,2FAA2F;SAC9F;QACD,UAAU,EAAE;YACV;gBACE,SAAS,EAAE,cAAc;gBACzB,EAAE,EAAE,eAAe,OAAO,CAAC,IAAI,EAAE;gBACjC,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE;oBACL,SAAS,EAAE,EAAE;oBACb,eAAe,EAAE,CAAC,QAAQ,CAAC;oBAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;oBACxB,oBAAoB,EAAE,CAAC,oBAAoB,CAAC;iBAC7C;aACF;SACF;QACD,QAAQ,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;QACrC,UAAU,EAAE;YACV,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,EAAE,+BAA+B;YACxC,MAAM,EAAE,qBAAqB;YAC7B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,QAAQ,EAAE,OAAO,CAAC,IAAI;YACtB,QAAQ,EAAE,gCAAgC;SAC3C;QACD,gBAAgB,EAAE,CAAC,QAAQ,CAAC;QAC5B,uBAAuB,EAAE,EAAE;QAC3B,oBAAoB,EAAE,CAAC,oBAAoB,CAAC;QAC5C,2BAA2B,EAAE,CAAC,oBAAoB,CAAC;QACnD,OAAO,EAAE;YACP;gBACE,QAAQ,EAAE;oBACR,SAAS,EAAE,EAAE;oBACb,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;iBACzB;gBACD,SAAS,EAAE;oBACT;wBACE,MAAM,EAAE,qBAAqB;wBAC7B,aAAa,EAAE,QAAQ;wBACvB,IAAI,EAAE,8BAA8B;wBACpC,YAAY,EAAE,qBAAqB;wBACnC,SAAS,EAAE,wBAAwB;qBACpC;iBACF;gBACD,OAAO,EAAE;oBACP,iBAAiB,EAAE,EAAE;oBACrB,KAAK,EAAE,EAAE;iBACV;gBACD,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;gBACpC,IAAI,EAAE,sCAA2B;gBACjC,cAAc,EAAE;oBACd,gBAAgB,EAAE,KAAK;oBACvB,SAAS,EAAE,WAAW;oBACtB,WAAW,EACT,sEAAsE;iBACzE;gBACD,SAAS,EAAE;oBACT,IAAI,EAAE,eAAe,OAAO,CAAC,IAAI,EAAE;oBACnC,gBAAgB,EAAE,EAAE;iBACrB;gBACD,OAAO,EAAE,YAAY;gBACrB,QAAQ,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;gBACrC,aAAa,EAAE,kDAAuC;gBACtD,MAAM,EAAE;oBACN,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACtB,QAAQ,EAAE,gCAAgC;iBAC3C;gBACD,eAAe,EAAE;oBACf,MAAM,EAAE,qBAAqB;oBAC7B,SAAS,EAAE,wBAAwB;oBACnC,MAAM,EAAE;wBACN,SAAS,EAAE,EAAE;wBACb,OAAO,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;wBACpC,MAAM,EAAE;4BACN,MAAM,EAAE,CAAC;4BACT,MAAM,EAAE,CAAC;4BACT,WAAW,EAAE,CAAC;4BACd,OAAO,EAAE,CAAC;4BACV,OAAO,EAAE,CAAC;yBACX;wBACD,WAAW,EAAE;4BACX,KAAK,EAAE,OAAO;4BACd,QAAQ,EAAE,KAAK;yBAChB;wBACD,QAAQ,EAAE,EAAE;wBACZ,cAAc,EAAE,KAAK;wBACrB,IAAI,EAAE,yBAAyB;wBAC/B,SAAS,EAAE;4BACT,cAAc,EAAE,8BAA8B;4BAC9C,OAAO,EAAE,OAAO,CAAC,IAAI;4BACrB,UAAU,EAAE,QAAQ;4BACpB,MAAM,EAAE,QAAQ;yBACjB;wBACD,OAAO,EAAE,QAAQ;wBACjB,YAAY,EAAE,IAAI;wBAClB,mBAAmB,EAAE,KAAK;wBAC1B,aAAa,EAAE,0DAA+C;wBAC9D,MAAM,EAAE;4BACN,mBAAmB,EAAE,EAAE;4BACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;4BACtB,kBAAkB,EAAE,0BAA0B,OAAO,CAAC,gBAAgB,EAAE;yBACzE;wBACD,MAAM,EAAE;4BACN,WAAW,EAAE,0BAA0B;4BACvC,UAAU,EAAE,IAAI;4BAChB,SAAS,EAAE,0BAA0B;yBACtC;wBACD,SAAS,EAAE,OAAO,CAAC,IAAI;qBACxB;oBACD,aAAa,EAAE,0DAA+C;iBAC/D;gBACD,IAAI,EAAE;oBACJ,eAAe,EAAE,kDAAuC;oBACxD,IAAI,EAAE,aAAa;oBACnB,OAAO,EAAE,OAAO,CAAC,gBAAgB;iBAClC;gBACD,UAAU,EAAE;oBACV,aAAa,EAAE,EAAE;oBACjB,WAAW,EAAE,EAAE;oBACf,SAAS,EAAE,EAAE;oBACb,OAAO,EAAE,EAAE;iBACZ;gBACD,YAAY,EAAE;oBACZ,QAAQ,EAAE,EAAE;oBACZ,OAAO,EAAE,CAAC,oBAAoB,CAAC;iBAChC;aACF;SACF;QACD,aAAa,EAAE,kDAAuC;QACtD,SAAS,EAAE;YACT,eAAe,EAAE,CAAC,QAAQ,CAAC;YAC3B,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;SACzB;QACD,KAAK,EAAE,2BAA2B;QAClC,UAAU,EAAE;YACV,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,EAAE;SACZ;QACD,QAAQ,EAAE;YACR,iBAAiB,EAAE,EAAE;YACrB,cAAc,EAAE,aAAa;YAC7B,qBAAqB,EAAE,UAAU,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YACjD,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;YAC1C,gBAAgB,EAAE,CAAC,4BAA4B,CAAC;SACjD;QACD,IAAI,EAAE;YACJ,0BAA0B,EAAE,2CAA2C;YACvE,SAAS,EAAE,6BAA6B;SACzC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BR,CAAC;AACF,CAAC;AAED,SAAgB,qCAAqC,CACnD,OAA2C;IAE3C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,OAAO;QACL,cAAc,EAAE,oBAAoB,CAClC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,iBAAiB,CAC1B;QACD,KAAK,EAAE;YACL,CAAC,oCAA4B,CAAC,EAAE,aAAa,CAC3C,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,iBAAiB,CAC1B;YACD,CAAC,6CAAqC,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CACxD,QAAQ,EACR,IAAI,EACJ,CAAC,CACF,IAAI;YACL,CAAC,+CAAuC,CAAC,EAAE,uBAAuB,EAAE;SACrE;QACD,WAAW,EAAE,8CAAsC;KACpD,CAAC;AACJ,CAAC"}
@@ -229,6 +229,7 @@ export async function reportWorkloadRoleCandidate(options: {
229
229
  import { GetParameterCommand, SSMClient } from '@aws-sdk/client-ssm';
230
230
  import { GetCallerIdentityCommand, STSClient } from '@aws-sdk/client-sts';
231
231
  import {
232
+ areWorkloadRoleIntentsEquivalent,
232
233
  digestWorkloadRoleManifest,
233
234
  provisionedWorkloadRoleRegistrationObjectKey,
234
235
  registeredWorkloadRoleManifestObjectKey,
@@ -360,8 +361,10 @@ export async function preflightFoundationWorkloadRoles(stage: string) {
360
361
  digestWorkloadRoleManifest(recreated.manifest) !==
361
362
  registered.manifestDigest ||
362
363
  registered.manifestDigest !== storage.manifestDigest ||
363
- JSON.stringify(recreated.intentsByRole) !==
364
- JSON.stringify(registered.intentsByRole)
364
+ !areWorkloadRoleIntentsEquivalent(
365
+ recreated.intentsByRole,
366
+ registered.intentsByRole,
367
+ )
365
368
  ) {
366
369
  throw new Error(
367
370
  'Foundation workload-role registration differs from generated intent.',
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-files-foundation-workload-roles.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-foundation-workload-roles.ts"],"names":[],"mappings":";;AAKA,8EA8YC;AAnZD;;;;GAIG;AACH,SAAgB,iCAAiC;IAG/C,OAAO;QACL,uDAAuD,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8H5D;QACG,uDAAuD,EAAE;;;;;;;;;;;;;;;;;;;;CAoB5D;QACG,oDAAoD,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEzD;QACG,uDAAuD,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0K5D;QACG,mDAAmD,EAAE;;;;CAIxD;KACE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace-files-foundation-workload-roles.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-foundation-workload-roles.ts"],"names":[],"mappings":";;AAKA,8EAiZC;AAtZD;;;;GAIG;AACH,SAAgB,iCAAiC;IAG/C,OAAO;QACL,uDAAuD,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8H5D;QACG,uDAAuD,EAAE;;;;;;;;;;;;;;;;;;;;CAoB5D;QACG,oDAAoD,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEzD;QACG,uDAAuD,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6K5D;QACG,mDAAmD,EAAE;;;;CAIxD;KACE,CAAC;AACJ,CAAC"}
@@ -414,7 +414,6 @@ jobs:
414
414
  EBK_ACCOUNT_FINGERPRINT: \${{ inputs.target_account_fingerprint }}
415
415
  EBK_APPROVED_REGION: \${{ vars.AWS_REGION }}
416
416
  EBK_PERFORMANCE_ORIGINS_JSON: \${{ vars.EBK_PERFORMANCE_ORIGINS_JSON }}
417
- EBK_PERFORMANCE_LOAD_HMAC_KEY_PATH: \${{ runner.temp }}/ebk-performance-load-hmac-\${{ github.run_id }}-\${{ github.run_attempt }}.json
418
417
  EBK_PROJECT: \${{ inputs.project }}
419
418
  EBK_PROTECTED_LOAD_APPROVAL_PATH: \${{ inputs.approval }}
420
419
  EBK_PROTECTED_LOAD_PLAN_PATH: \${{ inputs.plan }}
@@ -422,6 +421,8 @@ jobs:
422
421
  EBK_STAGE: \${{ inputs.stage }}
423
422
  NX_DAEMON: 'false'
424
423
  steps:
424
+ - name: Initialize private performance material path
425
+ run: echo "EBK_PERFORMANCE_LOAD_HMAC_KEY_PATH=$RUNNER_TEMP/ebk-performance-load-hmac-$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT.json" >> "$GITHUB_ENV"
425
426
  - name: Validate exact protected request
426
427
  env:
427
428
  EBK_PROTECTED_REF: \${{ github.ref }}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-files-performance-load.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-performance-load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-files-performance-load.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-performance-load.ts"],"names":[],"mappings":"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"}
@@ -39,7 +39,15 @@ The ordinary deployment policy is not promoted until every project provisioner
39
39
  returns a sanitized, exact registration. It contains only exact registration
40
40
  reads, qualified provisioner observation/invocation, and exact
41
41
  service-conditioned \`iam:PassRole\`. It contains no direct role, trust, inline
42
- policy, tag, boundary, or delete mutation.
42
+ policy, tag, boundary, or delete mutation. A separate protected CloudFormation
43
+ stack shards this authority into exact managed-policy documents within AWS's
44
+ 6,144-character document and attachment limits; the account-baseline stack
45
+ never removes the active deployment authority during convergence.
46
+
47
+ Each provisioner invocation is synchronous and may consume the fixed 900-second
48
+ Lambda timeout for a large stage. The publisher therefore sets the AWS CLI read
49
+ timeout to 910 seconds instead of inheriting the 60-second default; Lambda still
50
+ bounds server execution, and any timeout fails the publication before promotion.
43
51
 
44
52
  ## Candidate bundle and first-stage bootstrap
45
53
 
@@ -57,7 +65,8 @@ phases because Slice intent depends on outputs created by Foundation:
57
65
  1. Run \`foundation-bootstrap\` report mode. This fixed phase emits Foundation
58
66
  only; it is not a generic project filter.
59
67
  2. Review and apply that Foundation-only publication, then deploy Foundation
60
- with the same candidate identity. Bootstrap apply proves both the baseline
68
+ with the same candidate identity through the root \`deploy-local\` target's exact
69
+ \`--phase=foundation-bootstrap\` mode. Bootstrap apply proves both the baseline
61
70
  stack and Foundation workload-role pointer are absent before any mutation,
62
71
  then uses create-only stack semantics so a concurrent bootstrap cannot win a
63
72
  check/use race. It cannot shrink or replace an existing stage boundary.
@@ -67,16 +76,31 @@ phases because Slice intent depends on outputs created by Foundation:
67
76
  4. Review and apply the full-stage publication before deploying any Slice.
68
77
  Every later publication uses \`full-stage\`; bootstrap reuse fails closed.
69
78
 
70
- If initial bootstrap fails after its create-only stack succeeds but before the
71
- Foundation pointer is promoted, do not bypass the one-time check. The external
72
- account-baseline owner must inspect the failed stack and retained state, remove
73
- that incomplete bootstrap explicitly, and restart from the same reviewed
74
- candidate. A successful or ambiguous bootstrap is never reset for convenience.
79
+ If Foundation deployment fails after bootstrap has published its account
80
+ baseline, do not delete the baseline or bypass the one-time check. Inspect the
81
+ retained Foundation state, generate a repaired Foundation-only candidate, and
82
+ rerun the publisher with the exact independently reviewed prior candidate,
83
+ manifest digest, history digest, and history document. Recovery revalidates the
84
+ existing stack, protected pointer, and live history before rebinding the same
85
+ baseline. A stable \`UPDATE_ROLLBACK_COMPLETE\` stack is eligible for this exact
86
+ recovery because CloudFormation has restored the prior template; in-progress or
87
+ failed rollback states remain ineligible. Missing, ambiguous, or substituted
88
+ authority still fails closed. Foundation-only recovery also requires the exact
89
+ Foundation-only stack inventory; after any Slice baseline exists, rebind the
90
+ complete candidate through \`full-stage\` and never shrink the stack through
91
+ bootstrap recovery.
92
+
93
+ If the create-only baseline stack exists but the Foundation SSM pointer and
94
+ history object are both absent, bootstrap stopped before authority promotion.
95
+ Do not rerun bootstrap or synthesize either record. Inspect the exact
96
+ Foundation-only stack, remove that incomplete bootstrap through the reviewed
97
+ CloudFormation recovery procedure, prove the stack and history key absent, and
98
+ then restart the two-phase bootstrap with a new candidate.
75
99
 
76
100
  \`\`\`bash
77
101
  pnpm nx run ${options.name}:workload-role-candidate-report -- \\
78
102
  --phase=foundation-bootstrap \\
79
- --candidate=<reviewed-candidate> \\
103
+ --candidate=<reviewed-source-commit> \\
80
104
  --stage=staging \\
81
105
  --region=us-east-1 \\
82
106
  > /path/outside-the-checkout/staging-foundation-workload-roles.json
@@ -84,7 +108,7 @@ pnpm nx run ${options.name}:workload-role-candidate-report -- \\
84
108
  # After Foundation publication and deployment:
85
109
  pnpm nx run ${options.name}:workload-role-candidate-report -- \\
86
110
  --phase=full-stage \\
87
- --candidate=<same-reviewed-candidate> \\
111
+ --candidate=<same-reviewed-source-commit> \\
88
112
  --stage=staging \\
89
113
  --region=us-east-1 \\
90
114
  > /path/outside-the-checkout/staging-workload-roles.json
@@ -100,7 +124,7 @@ principal returned by \`aws sts get-caller-identity\`:
100
124
  node tools/workload-role-baseline/publish.mjs \\
101
125
  --documents=/path/outside-the-checkout/staging-workload-roles.json \\
102
126
  --phase=full-stage \\
103
- --candidate=<reviewed-candidate> \\
127
+ --candidate=<reviewed-source-commit> \\
104
128
  --stage=staging \\
105
129
  --account=<12-digit-account> \\
106
130
  --partition=aws \\
@@ -125,7 +149,11 @@ documents and digest entries. When a full-stage candidate drops or renames an
125
149
  active role, the report adds only the exact retired role and NAT profile ARNs
126
150
  to temporary provisioner authority. It rejects stale, cross-stage,
127
151
  cross-project, or unreviewed history and never uses a wildcard. Bootstrap
128
- rejects all prior-history input.
152
+ without prior history is create-only. After an interrupted Foundation deploy,
153
+ the same Foundation-only phase accepts one exact reviewed prior history to
154
+ rebind the existing account baseline to a repaired candidate; apply first
155
+ requires the exact existing stack, protected pointer, and live history to
156
+ match that independently reviewed authority.
129
157
 
130
158
  Review both deterministic templates, the exact resource inventory, boundary
131
159
  digest, and boundary character count. The transitional template contains only
@@ -155,7 +183,8 @@ aggregate boundary first, stores every
155
183
  reviewed document with explicit AES-256 encryption, invokes each
156
184
  candidate-qualified alias, validates all sanitized results, reapplies the
157
185
  settled baseline to remove transition authority, replaces the one exact
158
- deployment inline policy, and finally switches each protected SSM pointer. A
186
+ deployment managed-policy stack, removes the legacy inline policy only after
187
+ the managed stack succeeds, and finally switches each protected SSM pointer. A
159
188
  failure before the final three steps leaves ordinary deployment unpromoted.
160
189
  Investigate and rerun the same immutable candidate; never widen the policy,
161
190
  skip a Slice, substitute a digest, or invoke an unqualified function.
@@ -603,7 +632,11 @@ import { join } from 'node:path';
603
632
  import { spawnSync } from 'node:child_process';
604
633
  import {
605
634
  createWorkloadRoleStageAccountBaselinePlan,
635
+ digestWorkloadRoleHistory,
606
636
  publishReviewedStageWorkloadRoleCandidate,
637
+ requireWorkloadRoleHistory,
638
+ requireWorkloadRoleStorageRegistration,
639
+ workloadRoleHistoryObjectKey,
607
640
  } from '@empire-builder-kit/nx/workload-roles';
608
641
  import {
609
642
  discoverWorkloadRoleCandidateProjects,
@@ -787,14 +820,9 @@ if (
787
820
  ) {
788
821
  throw new Error('--prior and --prior-histories must be supplied together.');
789
822
  }
790
- if (
823
+ const foundationRecovery =
791
824
  publicationPhase === 'foundation-bootstrap' &&
792
- expectedPriorHistories !== undefined
793
- ) {
794
- throw new Error(
795
- 'Foundation bootstrap cannot carry prior workload-role history.',
796
- );
797
- }
825
+ expectedPriorHistories !== undefined;
798
826
  const plan = createWorkloadRoleStageAccountBaselinePlan({
799
827
  code: {
800
828
  bucketName: required(
@@ -857,6 +885,7 @@ const report = {
857
885
  stage: plan.stage,
858
886
  stateBucketName: plan.stateBucketName,
859
887
  publicationPhase,
888
+ foundationRecovery,
860
889
  settledTemplate: plan.settledCloudFormationTemplate,
861
890
  transitionalTemplate: plan.transitionalCloudFormationTemplate,
862
891
  transitionalInstanceProfileArns: plan.transitionalInstanceProfileArns,
@@ -864,7 +893,7 @@ const report = {
864
893
  };
865
894
 
866
895
  if (args.apply !== true) {
867
- process.stdout.write(JSON.stringify(report, null, 2) + '\\n');
896
+ writeFileSync(1, JSON.stringify(report, null, 2) + '\\n');
868
897
  process.exit(0);
869
898
  }
870
899
  if (
@@ -920,6 +949,155 @@ function requireAwsResourceAbsent(command, commandArgs, absentPattern, label) {
920
949
  }
921
950
  }
922
951
 
952
+ function awsToFile(command, commandArgs, outputPath) {
953
+ const response = spawnSync(
954
+ 'aws',
955
+ [command, ...commandArgs, '--region', plan.region, outputPath],
956
+ {
957
+ encoding: 'utf8',
958
+ maxBuffer: 4 * 1024 * 1024,
959
+ shell: false,
960
+ },
961
+ );
962
+ if (response.status !== 0) {
963
+ throw new Error(
964
+ 'Protected AWS read failed: ' +
965
+ command +
966
+ ' (' +
967
+ String(response.status) +
968
+ ').',
969
+ );
970
+ }
971
+ }
972
+
973
+ function requireFoundationRecoveryAuthority(foundation) {
974
+ const expectation = expectedPriorHistories?.foundation;
975
+ const reviewed = reviewedPriorHistories?.foundation;
976
+ if (!expectation || reviewed === undefined) {
977
+ throw new Error('Foundation recovery prior authority is absent.');
978
+ }
979
+ const stacks = JSON.parse(
980
+ aws('cloudformation', [
981
+ 'describe-stacks',
982
+ '--stack-name',
983
+ plan.stackName,
984
+ '--output',
985
+ 'json',
986
+ ]),
987
+ ).Stacks;
988
+ const stableRecoveryStatuses = new Set([
989
+ 'CREATE_COMPLETE',
990
+ 'UPDATE_COMPLETE',
991
+ 'UPDATE_ROLLBACK_COMPLETE',
992
+ ]);
993
+ if (
994
+ !Array.isArray(stacks) ||
995
+ stacks.length !== 1 ||
996
+ stacks[0]?.StackName !== plan.stackName ||
997
+ !stableRecoveryStatuses.has(stacks[0]?.StackStatus)
998
+ ) {
999
+ throw new Error('Foundation recovery baseline stack authority differs.');
1000
+ }
1001
+ const currentResources = JSON.parse(
1002
+ aws('cloudformation', [
1003
+ 'list-stack-resources',
1004
+ '--stack-name',
1005
+ plan.stackName,
1006
+ '--output',
1007
+ 'json',
1008
+ ]),
1009
+ ).StackResourceSummaries;
1010
+ const expectedResources = Object.entries(
1011
+ plan.settledCloudFormationTemplate.Resources,
1012
+ )
1013
+ .map(([logicalResourceId, resource]) => ({
1014
+ logicalResourceId,
1015
+ resourceType: resource.Type,
1016
+ }))
1017
+ .sort((left, right) =>
1018
+ left.logicalResourceId < right.logicalResourceId
1019
+ ? -1
1020
+ : left.logicalResourceId > right.logicalResourceId
1021
+ ? 1
1022
+ : 0,
1023
+ );
1024
+ const observedResources = Array.isArray(currentResources)
1025
+ ? currentResources
1026
+ .map((resource) => ({
1027
+ logicalResourceId: resource?.LogicalResourceId,
1028
+ resourceType: resource?.ResourceType,
1029
+ }))
1030
+ .sort((left, right) => {
1031
+ const leftId = String(left.logicalResourceId);
1032
+ const rightId = String(right.logicalResourceId);
1033
+ return leftId < rightId ? -1 : leftId > rightId ? 1 : 0;
1034
+ })
1035
+ : [];
1036
+ if (JSON.stringify(observedResources) !== JSON.stringify(expectedResources)) {
1037
+ throw new Error(
1038
+ 'Foundation recovery requires an exact Foundation-only baseline inventory; use full-stage publication after any Slice baseline exists.',
1039
+ );
1040
+ }
1041
+ const parameter = JSON.parse(
1042
+ aws('ssm', [
1043
+ 'get-parameter',
1044
+ '--name',
1045
+ foundation.storageParameterName,
1046
+ '--output',
1047
+ 'json',
1048
+ ]),
1049
+ ).Parameter;
1050
+ let storage;
1051
+ try {
1052
+ storage = requireWorkloadRoleStorageRegistration(
1053
+ JSON.parse(parameter?.Value ?? ''),
1054
+ );
1055
+ } catch {
1056
+ throw new Error('Foundation recovery storage authority is malformed.');
1057
+ }
1058
+ if (
1059
+ parameter?.Name !== foundation.storageParameterName ||
1060
+ parameter?.Type !== 'String' ||
1061
+ storage.bucketName !== plan.stateBucketName ||
1062
+ storage.candidateIdentity !== expectation.candidateIdentity ||
1063
+ storage.manifestDigest !== expectation.manifestDigest ||
1064
+ storage.project !== 'foundation' ||
1065
+ storage.stage !== plan.stage
1066
+ ) {
1067
+ throw new Error('Foundation recovery storage authority differs.');
1068
+ }
1069
+ const historyPath = join(scratch, 'foundation-prior-history.json');
1070
+ awsToFile(
1071
+ 's3api',
1072
+ [
1073
+ 'get-object',
1074
+ '--bucket',
1075
+ plan.stateBucketName,
1076
+ '--key',
1077
+ workloadRoleHistoryObjectKey(plan.stage, 'foundation'),
1078
+ ],
1079
+ historyPath,
1080
+ );
1081
+ let currentHistory;
1082
+ let reviewedHistory;
1083
+ try {
1084
+ currentHistory = requireWorkloadRoleHistory(
1085
+ JSON.parse(readFileSync(historyPath, 'utf8')),
1086
+ );
1087
+ reviewedHistory = requireWorkloadRoleHistory(reviewed);
1088
+ } catch {
1089
+ throw new Error('Foundation recovery history authority is malformed.');
1090
+ }
1091
+ if (
1092
+ currentHistory.currentCandidateIdentity !== expectation.candidateIdentity ||
1093
+ currentHistory.currentManifestDigest !== expectation.manifestDigest ||
1094
+ digestWorkloadRoleHistory(currentHistory) !== expectation.historyDigest ||
1095
+ JSON.stringify(currentHistory) !== JSON.stringify(reviewedHistory)
1096
+ ) {
1097
+ throw new Error('Foundation recovery history authority differs.');
1098
+ }
1099
+ }
1100
+
923
1101
  try {
924
1102
  const caller = JSON.parse(
925
1103
  aws('sts', ['get-caller-identity', '--output', 'json']),
@@ -954,18 +1132,22 @@ try {
954
1132
  'Foundation bootstrap project set was substituted.',
955
1133
  );
956
1134
  }
957
- requireAwsResourceAbsent(
958
- 'cloudformation',
959
- ['describe-stacks', '--stack-name', plan.stackName],
960
- /does not exist/i,
961
- 'the workload-role account-baseline stack',
962
- );
963
- requireAwsResourceAbsent(
964
- 'ssm',
965
- ['get-parameter', '--name', foundation.storageParameterName],
966
- /ParameterNotFound/,
967
- 'the Foundation workload-role pointer',
968
- );
1135
+ if (foundationRecovery) {
1136
+ requireFoundationRecoveryAuthority(foundation);
1137
+ } else {
1138
+ requireAwsResourceAbsent(
1139
+ 'cloudformation',
1140
+ ['describe-stacks', '--stack-name', plan.stackName],
1141
+ /does not exist/i,
1142
+ 'the workload-role account-baseline stack',
1143
+ );
1144
+ requireAwsResourceAbsent(
1145
+ 'ssm',
1146
+ ['get-parameter', '--name', foundation.storageParameterName],
1147
+ /ParameterNotFound/,
1148
+ 'the Foundation workload-role pointer',
1149
+ );
1150
+ }
969
1151
  }
970
1152
 
971
1153
  let baselineApplications = 0;
@@ -978,6 +1160,7 @@ try {
978
1160
  });
979
1161
  if (
980
1162
  publicationPhase === 'foundation-bootstrap' &&
1163
+ !foundationRecovery &&
981
1164
  baselineApplications === 0
982
1165
  ) {
983
1166
  aws('cloudformation', [
@@ -1042,6 +1225,8 @@ try {
1042
1225
  functionArn,
1043
1226
  '--invocation-type',
1044
1227
  'RequestResponse',
1228
+ '--cli-read-timeout',
1229
+ '910',
1045
1230
  '--cli-binary-format',
1046
1231
  'raw-in-base64-out',
1047
1232
  '--payload',
@@ -1057,20 +1242,47 @@ try {
1057
1242
  return JSON.parse(readFileSync(outputPath, 'utf8'));
1058
1243
  },
1059
1244
  async putDeploymentRolePolicy(input) {
1060
- const path = join(scratch, 'deployment-policy.json');
1061
- writeFileSync(path, JSON.stringify(input.policy), {
1245
+ const path = join(scratch, 'deployment-policy-stack.json');
1246
+ writeFileSync(path, JSON.stringify(input.template), {
1062
1247
  encoding: 'utf8',
1063
1248
  mode: 0o600,
1064
1249
  });
1065
- aws('iam', [
1066
- 'put-role-policy',
1067
- '--role-name',
1068
- input.roleName,
1069
- '--policy-name',
1070
- input.policyName,
1071
- '--policy-document',
1072
- 'file://' + path,
1250
+ aws('cloudformation', [
1251
+ 'deploy',
1252
+ '--template-file',
1253
+ path,
1254
+ '--stack-name',
1255
+ input.stackName,
1256
+ '--capabilities',
1257
+ 'CAPABILITY_NAMED_IAM',
1258
+ '--no-fail-on-empty-changeset',
1073
1259
  ]);
1260
+ const inlinePolicyNames = JSON.parse(
1261
+ aws('iam', [
1262
+ 'list-role-policies',
1263
+ '--role-name',
1264
+ input.roleName,
1265
+ '--output',
1266
+ 'json',
1267
+ ]),
1268
+ ).PolicyNames;
1269
+ if (
1270
+ !Array.isArray(inlinePolicyNames) ||
1271
+ inlinePolicyNames.some(
1272
+ (name) => typeof name !== 'string' || name.length === 0,
1273
+ )
1274
+ ) {
1275
+ throw new Error('Deployment role inline policy inventory is invalid.');
1276
+ }
1277
+ if (inlinePolicyNames.includes(input.policyName)) {
1278
+ aws('iam', [
1279
+ 'delete-role-policy',
1280
+ '--role-name',
1281
+ input.roleName,
1282
+ '--policy-name',
1283
+ input.policyName,
1284
+ ]);
1285
+ }
1074
1286
  },
1075
1287
  async putStoragePointer(input) {
1076
1288
  aws('ssm', [
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-files-workload-role-baseline.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-workload-role-baseline.ts"],"names":[],"mappings":";;AASA,4FAskCC;AA3kCD;;;;GAIG;AACH,SAAgB,wCAAwC,CACtD,OAAiD;IAEjD,OAAO;QACL,wCAAwC,EAAE;;QAEtC,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAgEN,OAAO,CAAC,IAAI;;;;;;;;cAQZ,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAgDV,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6B3B;QACG,8CAA8C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0GnD;QACG,0DAA0D,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0I/D;QACG,6CAA6C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ElD;QACG,wCAAwC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8G7C;QACG,0CAA0C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwf/C;KACE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace-files-workload-role-baseline.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-workload-role-baseline.ts"],"names":[],"mappings":";;AASA,4FA0xCC;AA/xCD;;;;GAIG;AACH,SAAgB,wCAAwC,CACtD,OAAiD;IAEjD,OAAO;QACL,wCAAwC,EAAE;;QAEtC,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAwFN,OAAO,CAAC,IAAI;;;;;;;;cAQZ,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBAoDV,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8B3B;QACG,8CAA8C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0GnD;QACG,0DAA0D,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0I/D;QACG,6CAA6C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ElD;QACG,wCAAwC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8G7C;QACG,0CAA0C,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+qB/C;KACE,CAAC;AACJ,CAAC"}