What each environment proves
A successful local render does not prove request-time selection or collection. Complete those checks on the appropriate ACI preview and active-site surfaces.
1. Run local validation
2. Dry-run the branch update
Use the credentials and API URL supplied for your site:Site configuration at
/config/site.json is code-owned and is not overwritten by content push. If the change adds an overlay dimension or collection setting, include it in the linked code build and confirm the remote site configuration before publishing.3. Review the branch preview
For an audience experience, compare at least:aci_* dimensions are authoring-preview controls. They select an existing compiled variant without changing production targeting.
Branch preview disables visitor collection, which keeps author review traffic out of measurement. Verify the collector separately on an edge-backed active environment.
For each outcome, review:
- page and shared-fragment content;
- metadata, canonical URL, and structured data;
- navigation and calls to action;
- mobile and desktop layout;
- base fallback when no selector is present; and
- any locale and audience combinations in scope.
4. Land the approved branch
Read the current branch and target state, then land with the observed heads. The expected-head check prevents the land from silently overwriting newer work on either side:main. It does not put the change on the live site.
If the branch is behind main, rebase it, resolve any path conflicts, rerun the checks, and review the updated preview before landing.
5. Promote approved paths to live
Use aci drift to see approved changes that are not yet live:
aci promote always validates and prints a dry-run plan first. Without --yes, it stops after that plan. Review co-change warnings before continuing so related paths do not get separated accidentally.
6. Stage the release
release publish --activate when you need a separate review gate.
7. Activate with the observed state
Activation requires the active release and generation observed when the new release was staged:8. Verify live behavior
Immediately after activation:- open the base route without preview selectors;
- exercise each natural request rule in scope;
- verify consented behavior-based targeting with a test identity;
- confirm the collector and goal event on an active edge-backed page; and
- confirm unrelated routes still use the expected active release.
9. Roll back if verification fails
Rollback selects a previously staged immutable release without rebuilding it:Review checklist
- Content compile, typecheck, tests, and build passed
- Base experience passed
- Every audience and experiment arm passed
- Missing-signal and no-consent fallbacks passed
- Locale combinations and shared fragments passed
- Branch preview contained no unexpected paths
- Promoted paths and co-change warnings were reviewed
- Staged release passed before activation
- Active release and generation were recorded
- Live targeting and collection passed after activation
- Previous release ID is available for rollback
Next: Content Versioning →