@empire-builder-kit/nx 1.0.0-rc.32 → 1.0.0-rc.34

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 (111) hide show
  1. package/package.json +3 -3
  2. package/src/aws-authority/stage-authority.js +4 -0
  3. package/src/aws-authority/stage-authority.js.map +1 -1
  4. package/src/developer-agent/model.d.ts +1 -1
  5. package/src/developer-agent/operation-registry.js +25 -3
  6. package/src/developer-agent/operation-registry.js.map +1 -1
  7. package/src/developer-agent/planning.js +9 -4
  8. package/src/developer-agent/planning.js.map +1 -1
  9. package/src/developer-agent/validation.js +5 -1
  10. package/src/developer-agent/validation.js.map +1 -1
  11. package/src/executors/deployment-plan/deployment-plan.js +3 -0
  12. package/src/executors/deployment-plan/deployment-plan.js.map +1 -1
  13. package/src/executors/foundation-profile-preflight/production-database-safeguard.d.ts +1 -0
  14. package/src/executors/foundation-profile-preflight/production-database-safeguard.js +4 -2
  15. package/src/executors/foundation-profile-preflight/production-database-safeguard.js.map +1 -1
  16. package/src/executors/github-bootstrap/github-bootstrap.js +1 -0
  17. package/src/executors/github-bootstrap/github-bootstrap.js.map +1 -1
  18. package/src/executors/local-deploy/local-deploy.d.ts +21 -3
  19. package/src/executors/local-deploy/local-deploy.js +201 -1
  20. package/src/executors/local-deploy/local-deploy.js.map +1 -1
  21. package/src/executors/local-deploy/schema.json +21 -0
  22. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.d.ts +13 -0
  23. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js +323 -137
  24. package/src/executors/router-waf-rehearsal/router-waf-rehearsal.js.map +1 -1
  25. package/src/executors/router-waf-rehearsal/schema.json +5 -0
  26. package/src/executors/secret-initialize/secret-initialize.d.ts +2 -0
  27. package/src/executors/secret-initialize/secret-initialize.js +57 -3
  28. package/src/executors/secret-initialize/secret-initialize.js.map +1 -1
  29. package/src/executors/sst-lifecycle/run-sst-command.d.ts +2 -0
  30. package/src/executors/sst-lifecycle/run-sst-command.js +4 -0
  31. package/src/executors/sst-lifecycle/run-sst-command.js.map +1 -1
  32. package/src/foundation/index.d.ts +1 -0
  33. package/src/foundation/index.js +8 -0
  34. package/src/foundation/index.js.map +1 -1
  35. package/src/foundation/private-smoke-access.d.ts +23 -0
  36. package/src/foundation/private-smoke-access.js +127 -0
  37. package/src/foundation/private-smoke-access.js.map +1 -0
  38. package/src/foundation/private-smoke-admission.d.ts +43 -0
  39. package/src/foundation/private-smoke-admission.js +158 -0
  40. package/src/foundation/private-smoke-admission.js.map +1 -0
  41. package/src/foundation/private-smoke-control-plane.d.ts +18 -0
  42. package/src/foundation/private-smoke-control-plane.js +173 -0
  43. package/src/foundation/private-smoke-control-plane.js.map +1 -0
  44. package/src/generators/preset/dependency-overrides.d.ts +8 -0
  45. package/src/generators/preset/dependency-overrides.js +55 -0
  46. package/src/generators/preset/dependency-overrides.js.map +1 -0
  47. package/src/generators/preset/tool-versions.d.ts +2 -0
  48. package/src/generators/preset/tool-versions.js +3 -1
  49. package/src/generators/preset/tool-versions.js.map +1 -1
  50. package/src/generators/preset/workspace-files-developer-agent.js +19 -6
  51. package/src/generators/preset/workspace-files-developer-agent.js.map +1 -1
  52. package/src/generators/preset/workspace-files-thin-deploy.d.ts +16 -1
  53. package/src/generators/preset/workspace-files-thin-deploy.js +946 -26
  54. package/src/generators/preset/workspace-files-thin-deploy.js.map +1 -1
  55. package/src/generators/preset/workspace-files-thin-docs.d.ts +2 -0
  56. package/src/generators/preset/workspace-files-thin-docs.js +66 -6
  57. package/src/generators/preset/workspace-files-thin-docs.js.map +1 -1
  58. package/src/generators/preset/workspace-files.d.ts +8 -1
  59. package/src/generators/preset/workspace-files.js +97 -21
  60. package/src/generators/preset/workspace-files.js.map +1 -1
  61. package/src/generators/repository-policy/repository-policy.js +1 -0
  62. package/src/generators/repository-policy/repository-policy.js.map +1 -1
  63. package/src/generators/repository-policy/schema.d.ts +2 -0
  64. package/src/generators/repository-policy/schema.json +27 -7
  65. package/src/generators/slice/built-in-plan-background-work-files.d.ts +2 -0
  66. package/src/generators/slice/built-in-plan-background-work-files.js +89 -0
  67. package/src/generators/slice/built-in-plan-background-work-files.js.map +1 -0
  68. package/src/generators/slice/built-in-plan-database-lifecycle-files.js +20 -4
  69. package/src/generators/slice/built-in-plan-database-lifecycle-files.js.map +1 -1
  70. package/src/generators/slice/built-in-plan-infrastructure-files.js +22 -9
  71. package/src/generators/slice/built-in-plan-infrastructure-files.js.map +1 -1
  72. package/src/generators/slice/built-in-plan-operations-files.js +8 -10
  73. package/src/generators/slice/built-in-plan-operations-files.js.map +1 -1
  74. package/src/generators/slice/built-in-plan.js +3 -0
  75. package/src/generators/slice/built-in-plan.js.map +1 -1
  76. package/src/generators/upgrade/upgrade.d.ts +12 -0
  77. package/src/generators/upgrade/upgrade.js +84 -9
  78. package/src/generators/upgrade/upgrade.js.map +1 -1
  79. package/src/generators/workload/workload.js +1 -1
  80. package/src/git-policy/action-pins.d.ts +5 -0
  81. package/src/git-policy/action-pins.js +5 -0
  82. package/src/git-policy/action-pins.js.map +1 -1
  83. package/src/git-policy/github-bootstrap.d.ts +10 -2
  84. package/src/git-policy/github-bootstrap.js +129 -34
  85. package/src/git-policy/github-bootstrap.js.map +1 -1
  86. package/src/git-policy/routing.d.ts +5 -1
  87. package/src/git-policy/routing.js +50 -0
  88. package/src/git-policy/routing.js.map +1 -1
  89. package/src/performance/model.d.ts +1 -1
  90. package/src/repository-policy/capacity-migration.d.ts +3 -0
  91. package/src/repository-policy/capacity-migration.js +21 -0
  92. package/src/repository-policy/capacity-migration.js.map +1 -0
  93. package/src/repository-policy/foundation-profile.js +10 -0
  94. package/src/repository-policy/foundation-profile.js.map +1 -1
  95. package/src/repository-policy/policy.d.ts +13 -2
  96. package/src/repository-policy/policy.js +47 -2
  97. package/src/repository-policy/policy.js.map +1 -1
  98. package/src/schemas/repository-policy-v1.json +56 -17
  99. package/src/supply-chain/generated-container-release-command.js +281 -74
  100. package/src/supply-chain/generated-container-release-command.js.map +1 -1
  101. package/src/supply-chain/generated-files.js +21 -11
  102. package/src/supply-chain/generated-files.js.map +1 -1
  103. package/src/supply-chain/generated-scanner-command.js +1 -1
  104. package/src/supply-chain/scanner.js +3 -0
  105. package/src/supply-chain/scanner.js.map +1 -1
  106. package/src/workspace-deployment/affected-lifecycle.d.ts +53 -0
  107. package/src/workspace-deployment/affected-lifecycle.js +84 -0
  108. package/src/workspace-deployment/affected-lifecycle.js.map +1 -0
  109. package/src/workspace-deployment/index.d.ts +1 -0
  110. package/src/workspace-deployment/index.js +1 -0
  111. package/src/workspace-deployment/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-files-thin-deploy.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-thin-deploy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-files-thin-deploy.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-thin-deploy.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { type DeploymentProfile } from '../../repository-policy/index.js';
2
2
  export declare function renderThinLifecycleDocumentation(options: {
3
+ deliveryLane?: 'protected-pair' | 'trunk';
4
+ productionApprovalMode?: 'promotion-pr' | 'environment-reviewer' | 'trunk-promotion';
3
5
  deploymentProfile: DeploymentProfile;
4
6
  name: string;
5
7
  }): Readonly<Record<string, string>>;
@@ -22,8 +22,16 @@ development through the root \`deploy-local\` target. Do not invoke SST directly
22
22
  `,
23
23
  'docs/git-workflow.md': `# Protected Git workflow
24
24
 
25
- Ordinary work targets \`develop\`; production promotion is an exact reviewed
26
- \`develop\` to \`main\` merge followed by the managed sync-back. Keep the
25
+ ${options.deliveryLane === 'trunk'
26
+ ? `Trunk delivery lane: \`main\` is the only protected branch. Ordinary work
27
+ opens a pull request to \`main\` from an up-to-date branch, and every merged
28
+ \`main\` push is a production delivery through the generated Verify and deploy
29
+ workflows. There is no \`develop\` branch, promotion pull request, or sync-back.
30
+ Switch to the protected pair with
31
+ \`pnpm nx g @empire-builder-kit/nx:repository-policy --deliveryLane=protected-pair --apply\`
32
+ followed by the managed upgrade when the team needs a staged promotion.`
33
+ : `Ordinary work targets \`develop\`; production promotion is an exact reviewed
34
+ \`develop\` to \`main\` merge followed by the managed sync-back.`} Keep the
27
35
  generated branch rules, CODEOWNER review, resolved-conversation requirement,
28
36
  merge-only history, and read-only default workflow permissions.
29
37
 
@@ -47,9 +55,26 @@ local staging, but its protected production promotion requires the candidate
47
55
  receipt from a successful managed GitHub staging deployment. \`fully-isolated\`
48
56
  uses GitHub for staging and production. Isolated production restores the exact
49
57
  candidate recorded by the successful staging deployment.
50
- When \`starter\` uses its optional manual workflow, \`develop\` routes to
51
- development and \`main\` routes to production; starter has no automatic caller.
52
- Every protected job checks out an immutable commit, validates managed source,
58
+ ${options.deliveryLane === 'trunk'
59
+ ? `In the trunk lane every merged \`main\` push calls the deploy workflow for
60
+ production; development stays a local stage.`
61
+ : `When \`starter\` uses its optional manual workflow, \`develop\` routes to
62
+ development and \`main\` routes to production; starter has no automatic caller.`}
63
+ ${options.productionApprovalMode === 'trunk-promotion'
64
+ ? `Trunk promotion (\`productionApproval.mode: trunk-promotion\`): a successful
65
+ staging lifecycle on \`develop\` continues in the same run. \`promote-production\`
66
+ binds that run's staging deployment receipt and release candidate and promotes
67
+ the reviewed OCI indexes into production, \`execute-production\` deploys
68
+ production from the same candidate under the production environment, and
69
+ \`record-main\` fast-forwards \`main\` to the deployed commit with the production
70
+ environment secret \`EBK_RECORD_MAIN_TOKEN\`, refusing any non-fast-forward
71
+ update. \`main\` keeps deletion, non-fast-forward, and status-check rules but no
72
+ pull-request rule; the develop ruleset keeps CODEOWNER review. A \`main\` push
73
+ verifies only and there is no sync-back. Switch back with
74
+ \`pnpm nx g @empire-builder-kit/nx:repository-policy --productionApprovalMode=promotion-pr --apply\`
75
+ followed by the managed upgrade and a GitHub bootstrap apply.
76
+ `
77
+ : ''}Every protected job checks out an immutable commit, validates managed source,
53
78
  and assumes the derived stage role through the matching GitHub environment.
54
79
  The reusable Verify caller delegates job-scoped \`id-token: write\`; each
55
80
  credential-bearing job proves both the configured canonical ARN and terminal
@@ -72,6 +97,24 @@ secret; do not add repository-scope fallbacks.
72
97
  `,
73
98
  'docs/repository-operating-policy.md': `# Repository Operating Policy
74
99
 
100
+ ## Production capacity
101
+
102
+ The shared Foundation has three capacity profiles, independent of deployment topology:
103
+ - \`cost-optimized\`: 0–2 ACUs, five-minute idle auto-pause; new starter default.
104
+ - \`balanced\`: 0.5–4 ACUs, always warm.
105
+ - \`standard\`: 2–16 ACUs, always warm; isolated repository default.
106
+
107
+ All retain 30-day backups, deletion protection, encryption, and managed NAT.
108
+ Pause can delay first requests (typically 15 seconds, sometimes 30 seconds or
109
+ longer); open connections or polling can prevent it. Storage/NAT still cost money.
110
+ Validate cold-resume retries, migration timeouts, and the shared capacity ceiling.
111
+
112
+ Existing warm \`cost-optimized\` users must use the new generator to report
113
+ \`pnpm nx g @empire-builder-kit/nx:repository-policy --profile=balanced\`, then
114
+ repeat with \`--apply\` before managed upgrade or deployment. This preserves
115
+ 0.5–4 ACUs. After upgrade, deliberately select \`--profile=cost-optimized --apply\`
116
+ only to accept scale-to-zero. These commands change policy, not AWS resources.
117
+
75
118
  The committed \`ebk.repository-policy.json\` selects the
76
119
  \`${options.deploymentProfile}\` deployment profile and its active stages:
77
120
  ${stageList}. Inactive stages are rejected by planning, deployment, refresh,
@@ -192,7 +235,24 @@ immediately.
192
235
 
193
236
  ## Router WAF rehearsal
194
237
 
195
- Count-mode tuning is optional. Restore ${rehearsalStage} to blocking mode,
238
+ ${options.deploymentProfile === 'starter'
239
+ ? ''
240
+ : `Isolated profiles rehearse through the managed \`Deploy\` dispatch: with both
241
+ \`security/router-waf-live-evidence.json\` and
242
+ \`security/router-waf-blocking-rehearsal.json\` at their pending seeds on
243
+ \`develop\`, dispatch \`Deploy\` with \`action: rehearse\` and \`probe_url\` set to
244
+ the staging Router health URL. The \`rehearse\` job assumes the staging
245
+ deployment role, performs the non-allowlisted probe before the runner is
246
+ admitted, performs the managed-rule probe and the rate rehearsal inside the
247
+ same temporary allowlist admission that private smoke uses, proves the
248
+ admission removed, retains the sealed files as a run artifact, and opens a
249
+ pull request to \`develop\` carrying them. Merging that pull request satisfies
250
+ the production Router WAF gate for the exact policy digest. Any policy change,
251
+ including an allowlist edit, changes the digest and requires a new rehearsal
252
+ after resetting both seeds. The manual path below remains for operators who
253
+ rehearse from an allowlisted address.
254
+
255
+ `}Count-mode tuning is optional. Restore ${rehearsalStage} to blocking mode,
196
256
  record the bounded allowlist and managed-rule probe results in
197
257
  \`security/router-waf-live-evidence.json\`, then run:
198
258
 
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-files-thin-docs.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-thin-docs.ts"],"names":[],"mappings":";;AAMA,4EA6OC;AAnPD,+DAI0C;AAE1C,SAAgB,gCAAgC,CAAC,OAGhD;IACC,MAAM,MAAM,GAAG,IAAA,iCAAsB,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,IAAA,mCAAwB,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3E,OAAO;QACL,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI;;;;;;;kBAOhB,OAAO,CAAC,iBAAiB,yBAAyB,SAAS;;;;;CAK5E;QACG,sBAAsB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiD3B;QACG,qCAAqC,EAAE;;;IAGvC,OAAO,CAAC,iBAAiB;EAC3B,SAAS;;;;;aAKE,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DxB;QACG,+BAA+B,EAAE;;;;yBAIZ,OAAO,CAAC,iBAAiB;EAChD,SAAS;;;;;;;;;;eAUI,cAAc;;CAE5B;QACG,sCAAsC,EAAE;;;;;;;gBAO5B,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;yCA0Ba,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CtD;KACE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"workspace-files-thin-docs.js","sourceRoot":"","sources":["../../../../../../packages/nx/src/generators/preset/workspace-files-thin-docs.ts"],"names":[],"mappings":";;AAMA,4EAoTC;AA1TD,+DAI0C;AAE1C,SAAgB,gCAAgC,CAAC,OAMhD;IACC,MAAM,MAAM,GAAG,IAAA,iCAAsB,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,IAAA,mCAAwB,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3E,OAAO;QACL,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI;;;;;;;kBAOhB,OAAO,CAAC,iBAAiB,yBAAyB,SAAS;;;;;CAK5E;QACG,sBAAsB,EAAE;;EAG1B,OAAO,CAAC,YAAY,KAAK,OAAO;YAC9B,CAAC,CAAC;;;;;;wEAMkE;YACpE,CAAC,CAAC;iEAEN;;;;;;;;;;;;;;;;;;;;;;;;EAyBE,OAAO,CAAC,YAAY,KAAK,OAAO;YAC9B,CAAC,CAAC;6CACuC;YACzC,CAAC,CAAC;gFAEN;EAEE,OAAO,CAAC,sBAAsB,KAAK,iBAAiB;YAClD,CAAC,CAAC;;;;;;;;;;;;CAYL;YACG,CAAC,CAAC,EACN;;;;;;;;;;;;;;;;;;;;CAoBC;QACG,qCAAqC,EAAE;;;;;;;;;;;;;;;;;;;;;IAqBvC,OAAO,CAAC,iBAAiB;EAC3B,SAAS;;;;;aAKE,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6DxB;QACG,+BAA+B,EAAE;;;;yBAIZ,OAAO,CAAC,iBAAiB;EAChD,SAAS;;;;;;;;;;eAUI,cAAc;;CAE5B;QACG,sCAAsC,EAAE;;;;;;;gBAO5B,OAAO,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B1B,OAAO,CAAC,iBAAiB,KAAK,SAAS;YACrC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;;;;;;;;;;;;;;;CAgBN,0CAA0C,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CvD;KACE,CAAC;AACJ,CAAC"}
@@ -1,11 +1,18 @@
1
1
  import { type FoundationOwnershipRecord, type WorkspaceOwnershipRecord } from '../../ownership/index.js';
2
- import { type ConfiguredDeploymentAccounts, type DeploymentProfile } from '../../repository-policy/index.js';
2
+ import { type DeliveryLane, type ProductionApprovalMode, type ConfiguredDeploymentAccounts, type DeploymentProfile } from '../../repository-policy/index.js';
3
3
  export interface WorkspaceFileOptions {
4
+ /** trunk (starter only) protects main alone and delivers production from
5
+ * every merged main push; protected-pair keeps develop and main. */
6
+ deliveryLane?: DeliveryLane;
7
+ dependencyOverrides?: unknown;
4
8
  deploymentAccounts?: ConfiguredDeploymentAccounts;
5
9
  deploymentProfile?: DeploymentProfile;
6
10
  deploymentRegion?: string | null;
7
11
  frameworkVersion: string;
8
12
  name: string;
13
+ /** Committed productionApproval.mode; trunk-promotion changes the generated
14
+ * deploy workflow and drops the sync-back workflow. */
15
+ productionApprovalMode?: ProductionApprovalMode;
9
16
  workspaceDeploymentId?: string;
10
17
  }
11
18
  export declare const BLUEPRINT_TRUST_AUTHORITY_PATH: "tools/blueprint-trust-check.mjs";
@@ -7,6 +7,7 @@ exports.renderWorkspaceFiles = renderWorkspaceFiles;
7
7
  exports.renderWorkspaceRootFilePlan = renderWorkspaceRootFilePlan;
8
8
  exports.renderFoundationFilePlan = renderFoundationFilePlan;
9
9
  const sensitive_patterns_1 = require("@empire-builder-kit/runtime/sensitive-patterns");
10
+ const dependency_overrides_js_1 = require("./dependency-overrides.js");
10
11
  const index_js_1 = require("../../ownership/index.js");
11
12
  const index_js_2 = require("../../frontend-security/index.js");
12
13
  const index_js_3 = require("../../git-policy/index.js");
@@ -1050,6 +1051,7 @@ const SUPPLY_CHAIN_WORKSPACE_FILE_PLAN = (0, index_js_6.renderSupplyChainWorkspa
1050
1051
  generatedAt: '1970-01-01T00:00:00.000Z',
1051
1052
  });
1052
1053
  const WORKSPACE_SEEDED_PATHS = new Set([
1054
+ dependency_overrides_js_1.DEPENDENCY_OVERRIDES_PATH,
1053
1055
  ...SUPPLY_CHAIN_WORKSPACE_FILE_PLAN.seeded,
1054
1056
  ...workspace_files_developer_agent_js_1.DEVELOPER_AGENT_WORKSPACE_SEEDED_PATHS,
1055
1057
  '.github/CODEOWNERS',
@@ -1168,7 +1170,22 @@ function createWorkspaceOwnership(files, frameworkVersion) {
1168
1170
  }
1169
1171
  function renderWorkspaceFiles(options) {
1170
1172
  const { frameworkVersion, name } = options;
1173
+ const dependencyOverrides = (0, dependency_overrides_js_1.parseDependencyOverrides)(options.dependencyOverrides === undefined
1174
+ ? { schemaVersion: 1, overrides: {} }
1175
+ : options.dependencyOverrides);
1171
1176
  const deploymentProfile = options.deploymentProfile ?? 'starter';
1177
+ const deliveryLane = options.deliveryLane ?? 'protected-pair';
1178
+ if (deliveryLane === 'trunk' && deploymentProfile !== 'starter') {
1179
+ throw new Error('The trunk delivery lane requires the starter deployment profile.');
1180
+ }
1181
+ const trunkLane = deliveryLane === 'trunk';
1182
+ const productionApprovalMode = options.productionApprovalMode ?? 'promotion-pr';
1183
+ if (productionApprovalMode === 'trunk-promotion' &&
1184
+ (deploymentProfile === 'starter' || trunkLane)) {
1185
+ throw new Error('trunk-promotion requires an isolated deployment profile on the protected pair.');
1186
+ }
1187
+ const trunkPromotion = productionApprovalMode === 'trunk-promotion';
1188
+ const protectedBranches = trunkLane ? '[main]' : '[develop, main]';
1172
1189
  const activeStages = (0, index_js_4.activeDeploymentStages)(deploymentProfile);
1173
1190
  const protectedWorkflowStageChoices = deploymentProfile === 'starter'
1174
1191
  ? 'development, production'
@@ -1201,9 +1218,33 @@ function renderWorkspaceFiles(options) {
1201
1218
  const pnpmAction = (0, index_js_3.pinnedAction)(index_js_3.GITHUB_ACTION_PINS.pnpmSetup);
1202
1219
  const setupNodeAction = (0, index_js_3.pinnedAction)(index_js_3.GITHUB_ACTION_PINS.setupNode);
1203
1220
  const uploadArtifactAction = (0, index_js_3.pinnedAction)(index_js_3.GITHUB_ACTION_PINS.uploadArtifact);
1204
- const protectedDevelopPromotion = "github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.head.ref == 'develop' && github.event.pull_request.base.ref == 'main'";
1205
- const protectedMainSync = "github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.head.ref == 'main' && github.event.pull_request.base.ref == 'develop'";
1206
- const protectedPush = "github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop')";
1221
+ const cacheAction = (0, index_js_3.pinnedAction)(index_js_3.GITHUB_ACTION_PINS.cache);
1222
+ const nxSetShasAction = (0, index_js_3.pinnedAction)(index_js_3.GITHUB_ACTION_PINS.nxSetShas);
1223
+ // GitHub scopes cache reads to the current branch and its base, so protected
1224
+ // pushes never restore entries written by pull-request runs.
1225
+ const nxCacheSteps = ` - name: Restore the Nx task cache
1226
+ uses: ${cacheAction}
1227
+ with:
1228
+ path: .nx/cache
1229
+ key: nx-\${{ runner.os }}-\${{ hashFiles('pnpm-lock.yaml') }}-\${{ github.sha }}
1230
+ restore-keys: |
1231
+ nx-\${{ runner.os }}-\${{ hashFiles('pnpm-lock.yaml') }}-`;
1232
+ // Isolated profiles bind the staging release candidate when promoting to
1233
+ // production, so a main push never needs a rebuilt candidate.
1234
+ const releaseCandidateBranchCondition = deploymentProfile === 'starter'
1235
+ ? ''
1236
+ : " &&\n github.ref != 'refs/heads/main'";
1237
+ // In the trunk lane no pull request is a protected route: main is the only
1238
+ // protected branch and every feature pull request targets it.
1239
+ const protectedDevelopPromotion = trunkLane
1240
+ ? 'false'
1241
+ : "github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.head.ref == 'develop' && github.event.pull_request.base.ref == 'main'";
1242
+ const protectedMainSync = trunkLane
1243
+ ? 'false'
1244
+ : "github.event.pull_request.head.repo.full_name == github.repository && github.event.pull_request.head.ref == 'main' && github.event.pull_request.base.ref == 'develop'";
1245
+ const protectedPush = trunkLane
1246
+ ? "github.event_name == 'push' && github.ref == 'refs/heads/main'"
1247
+ : "github.event_name == 'push' && (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/develop')";
1207
1248
  const protectedDeploymentRouteJobName = 'protected deployment route';
1208
1249
  const stagingApplyJobPrefix = 'apply staging plan ';
1209
1250
  const files = {
@@ -1217,9 +1258,9 @@ function renderWorkspaceFiles(options) {
1217
1258
 
1218
1259
  on:
1219
1260
  pull_request:
1220
- branches: [develop, main]
1261
+ branches: ${protectedBranches}
1221
1262
  push:
1222
- branches: [develop, main]
1263
+ branches: ${protectedBranches}
1223
1264
  workflow_dispatch:
1224
1265
 
1225
1266
  concurrency:
@@ -1326,12 +1367,16 @@ jobs:
1326
1367
  node-version: ${tool_versions_js_1.WORKSPACE_NODE_VERSION}
1327
1368
  cache: pnpm
1328
1369
  - run: pnpm install --frozen-lockfile
1370
+ ${nxCacheSteps}
1329
1371
  - run: pnpm format:check
1372
+ - name: Resolve the affected base and head for proposed work
1373
+ if: github.event_name == 'pull_request' && !(${protectedDevelopPromotion} || ${protectedMainSync})
1374
+ uses: ${nxSetShasAction}
1330
1375
  - name: Verify proposed workspace
1331
1376
  if: github.event_name == 'pull_request' && !(${protectedDevelopPromotion} || ${protectedMainSync})
1332
1377
  run: |
1333
1378
  pnpm nx run ${name}:verify-proposed
1334
- pnpm nx run-many -t verify --exclude=${name} --parallel=3
1379
+ pnpm nx affected -t verify --exclude=${name} --parallel=3
1335
1380
  - name: Verify protected develop promotion
1336
1381
  if: github.event_name == 'pull_request' && ${protectedDevelopPromotion}
1337
1382
  run: pnpm nx run-many -t verify --parallel=3
@@ -1387,7 +1432,7 @@ jobs:
1387
1432
  github.event_name == 'push' &&
1388
1433
  needs.acceptance.outputs.history_only != 'true' &&
1389
1434
  (needs.acceptance.outputs.reused == 'true' ||
1390
- (needs.policy.result == 'success' && needs.verify.result == 'success'))
1435
+ (needs.policy.result == 'success' && needs.verify.result == 'success'))${releaseCandidateBranchCondition}
1391
1436
  runs-on: ubuntu-latest
1392
1437
  steps:
1393
1438
  - uses: ${checkoutAction}
@@ -1400,6 +1445,7 @@ jobs:
1400
1445
  node-version: ${tool_versions_js_1.WORKSPACE_NODE_VERSION}
1401
1446
  cache: pnpm
1402
1447
  - run: pnpm install --frozen-lockfile
1448
+ ${nxCacheSteps}
1403
1449
  - name: Build immutable release candidates
1404
1450
  env:
1405
1451
  EBK_SOURCE_COMMIT: \${{ github.sha }}
@@ -1407,7 +1453,7 @@ jobs:
1407
1453
  slice_projects="$(pnpm nx show projects --with-target=release-candidate --json | jq -r 'join(",")')"
1408
1454
  test -n "$slice_projects" ||
1409
1455
  { echo 'At least one release-candidate target is required'; exit 1; }
1410
- pnpm nx run-many -t release-candidate --projects="$slice_projects" --parallel=1
1456
+ pnpm nx run-many -t release-candidate --projects="$slice_projects" --parallel=3
1411
1457
  mkdir -p .ebk/evidence/release-candidate/packages
1412
1458
  IFS=',' read -r -a projects <<< "$slice_projects"
1413
1459
  for project in "\${projects[@]}"; do
@@ -1425,7 +1471,7 @@ jobs:
1425
1471
  include-hidden-files: true
1426
1472
  retention-days: 30
1427
1473
  path: .ebk/evidence/release-candidate
1428
- ${(0, workspace_files_thin_deploy_js_1.renderThinDeployVerifyCaller)(deploymentProfile)}
1474
+ ${(0, workspace_files_thin_deploy_js_1.renderThinDeployVerifyCaller)(deploymentProfile, deliveryLane, productionApprovalMode)}
1429
1475
  `,
1430
1476
  '.github/workflows/deploy.yml': `name: Deploy
1431
1477
 
@@ -7360,8 +7406,11 @@ permissions:
7360
7406
 
7361
7407
  jobs:
7362
7408
  sync-back:
7409
+ # The sync carries history, not deployment evidence: open it after any
7410
+ # completed main run so a failed production deploy cannot lock develop
7411
+ # behind a sync that never opens.
7363
7412
  if: >-
7364
- github.event.workflow_run.conclusion == 'success' &&
7413
+ github.event.workflow_run.conclusion != 'cancelled' &&
7365
7414
  github.event.workflow_run.event == 'push' &&
7366
7415
  github.event.workflow_run.head_branch == 'main'
7367
7416
  runs-on: ubuntu-latest
@@ -8055,8 +8104,15 @@ seeded decision record aligned with organization-specific budgets and alerts.
8055
8104
 
8056
8105
  - Development uses EC2 NAT, a development bastion, and Aurora scale-to-zero.
8057
8106
  ${deploymentProfile === 'starter' ? '' : '- Staging uses EC2 NAT and Aurora scale-to-zero by default.\n'}- Production always uses managed NAT and retains protected data. Its explicit Repository
8058
- Operating Policy profile selects either the standard 2-ACU Aurora floor or the
8059
- cost-optimized 0.5-ACU warm floor.
8107
+ Operating Policy profile selects cost-optimized (0–2 ACUs, pause after five idle
8108
+ minutes), balanced (0.5–4 ACUs, always warm), or standard (2–16 ACUs, always warm).
8109
+ New starter repositories default to cost-optimized. Cold resume typically takes
8110
+ about 15 seconds and can exceed 30 seconds after extended inactivity; validate
8111
+ connection retries, request timeouts, migrations, and background polling.
8112
+ Capacity is shared by all Slices. Open connections can prevent pausing; storage
8113
+ and managed NAT remain billable while Aurora compute is paused.
8114
+ Existing 0.5–4 cost-optimized adopters must explicitly select balanced before
8115
+ upgrade, then opt into cost-optimized separately if cold starts are acceptable.
8060
8116
  - ECS, EventBridge, Cognito, SNS, SSM, and CloudWatch are primarily usage-priced; logs,
8061
8117
  metrics, alarms, and retained data still require active cost review.
8062
8118
 
@@ -9137,7 +9193,7 @@ if (
9137
9193
  costs.aurora?.engineVersion !== '${index_js_4.FOUNDATION_AURORA_ENGINE_VERSION}' ||
9138
9194
  costs.productionProfileSource !== 'ebk.repository-policy.json' ||
9139
9195
  costs.productionProfiles?.standard?.aurora?.min !== '2 ACU' ||
9140
- costs.productionProfiles?.['cost-optimized']?.aurora?.min !== '0.5 ACU' ||
9196
+ JSON.stringify(costs.productionProfiles) !== JSON.stringify(${JSON.stringify(index_js_4.PRODUCTION_FOUNDATION_PROFILE_CONTRACTS)}) ||
9141
9197
  !costs.stages?.development ||
9142
9198
  JSON.stringify(Object.keys(costs.stages ?? {}).sort()) !==
9143
9199
  JSON.stringify(${JSON.stringify([...activeStages].sort())}) ||
@@ -9230,6 +9286,7 @@ export default $config({
9230
9286
  ],
9231
9287
  exclude: ['.sst', 'dist', 'node_modules'],
9232
9288
  }),
9289
+ [dependency_overrides_js_1.DEPENDENCY_OVERRIDES_PATH]: json(dependencyOverrides),
9233
9290
  'pnpm-workspace.yaml': `packages:
9234
9291
  - 'packages/*'
9235
9292
  - 'packages/*/apps/*'
@@ -9264,6 +9321,7 @@ supportedArchitectures:
9264
9321
  strictDepBuilds: true
9265
9322
  allowBuilds:
9266
9323
  ${index_js_6.FRAMEWORK_REVIEWED_BUILD_PACKAGES.map((packageName) => ` '${packageName}': true`).join('\n')}
9324
+ ${(0, dependency_overrides_js_1.renderDependencyOverridesYaml)(dependencyOverrides)}
9267
9325
  `,
9268
9326
  'tsconfig.base.json': json({
9269
9327
  compilerOptions: {
@@ -10086,7 +10144,9 @@ process.stdout.write(
10086
10144
  );
10087
10145
  `,
10088
10146
  'tools/ebk-git-policy.mjs': `import { evaluateGitPolicy } from '@empire-builder-kit/nx/git-policy';
10147
+ import { deliveryLaneOf, readRepositoryOperatingPolicy } from '@empire-builder-kit/nx/repository-policy';
10089
10148
  import { spawnSync } from 'node:child_process';
10149
+ const deliveryLane = deliveryLaneOf(readRepositoryOperatingPolicy(process.cwd()));
10090
10150
 
10091
10151
  const git = (...args) => {
10092
10152
  const result = spawnSync('git', args, { encoding: 'utf8', shell: false });
@@ -10106,14 +10166,14 @@ if (!['pull_request', 'push', 'workflow_dispatch'].includes(eventName)) {
10106
10166
  throw new Error('Unsupported or missing GITHUB_EVENT_NAME; Git policy fails closed.');
10107
10167
  }
10108
10168
 
10109
- const request = { eventName, ref: process.env.GITHUB_REF };
10169
+ const request = { deliveryLane, eventName, ref: process.env.GITHUB_REF };
10110
10170
  if (eventName === 'pull_request' || eventName === 'push') {
10111
10171
  git(
10112
10172
  'fetch',
10113
10173
  '--no-tags',
10114
10174
  'origin',
10115
10175
  'main:refs/remotes/origin/main',
10116
- 'develop:refs/remotes/origin/develop',
10176
+ ...(deliveryLane === 'trunk' ? [] : ['develop:refs/remotes/origin/develop']),
10117
10177
  );
10118
10178
  }
10119
10179
  if (eventName === 'pull_request') {
@@ -10129,13 +10189,17 @@ if (eventName === 'pull_request') {
10129
10189
  baseRef,
10130
10190
  headRepository,
10131
10191
  headRef,
10132
- mainIsAncestorOfDevelop: isAncestor(
10133
- 'refs/remotes/origin/main',
10134
- 'refs/remotes/origin/develop',
10135
- ),
10192
+ ...(deliveryLane === 'trunk'
10193
+ ? {}
10194
+ : {
10195
+ mainIsAncestorOfDevelop: isAncestor(
10196
+ 'refs/remotes/origin/main',
10197
+ 'refs/remotes/origin/develop',
10198
+ ),
10199
+ }),
10136
10200
  repository,
10137
10201
  });
10138
- } else if (eventName === 'push') {
10202
+ } else if (eventName === 'push' && deliveryLane !== 'trunk') {
10139
10203
  Object.assign(request, {
10140
10204
  baseIsAncestorOfHead: isAncestor('refs/remotes/origin/develop', 'HEAD'),
10141
10205
  mainIsAncestorOfDevelop: isAncestor(
@@ -10248,7 +10312,10 @@ process.stdout.write('Empire Builder Kit workspace source health is green.\\n');
10248
10312
  name,
10249
10313
  nodeVersion: tool_versions_js_1.WORKSPACE_NODE_VERSION,
10250
10314
  }), (0, workspace_files_thin_deploy_js_1.renderThinDeployWorkflowFilePlan)({
10315
+ deliveryLane,
10316
+ productionApprovalMode,
10251
10317
  actionPins: {
10318
+ cache: cacheAction,
10252
10319
  checkout: checkoutAction,
10253
10320
  configureAwsCredentials: configureAwsAction,
10254
10321
  downloadArtifact: downloadArtifactAction,
@@ -10262,11 +10329,20 @@ process.stdout.write('Empire Builder Kit workspace source health is green.\\n');
10262
10329
  node: tool_versions_js_1.WORKSPACE_NODE_VERSION,
10263
10330
  sst: tool_versions_js_1.WORKSPACE_SST_VERSION,
10264
10331
  },
10265
- }).files, (0, workspace_files_thin_docs_js_1.renderThinLifecycleDocumentation)({ deploymentProfile, name }));
10332
+ }).files, (0, workspace_files_thin_docs_js_1.renderThinLifecycleDocumentation)({
10333
+ deliveryLane,
10334
+ deploymentProfile,
10335
+ name,
10336
+ productionApprovalMode,
10337
+ }));
10266
10338
  const thinReleaseWorkflowPlan = (0, workspace_files_thin_release_js_1.renderThinReleaseWorkflowPlan)();
10267
10339
  Object.assign(files, thinReleaseWorkflowPlan.files);
10268
10340
  for (const obsoletePath of [
10269
10341
  ...thinReleaseWorkflowPlan.obsoletePaths,
10342
+ // The trunk lane has no develop branch to sync main back into; trunk
10343
+ // promotion only ever fast-forwards main from develop, so there is
10344
+ // nothing to sync back either.
10345
+ ...(trunkLane || trunkPromotion ? ['.github/workflows/sync-back.yml'] : []),
10270
10346
  '.github/workflows/performance-aggregate-counts.yml',
10271
10347
  '.github/workflows/performance-cost-actual.yml',
10272
10348
  '.github/workflows/performance-load.yml',