Changes

Changes is the configuration-drift detector. It compares the current state of every binding and profile_config field against the Setup Snapshot captured at cutover, and renders one row per detected difference. Operators can acknowledge a row so the drift is recorded as reviewed; future drift on the same field reappears as a new row.

When the page is available

Post-live only. Before cutover, there is no Setup Snapshot to compare against; the sidebar item is hidden and navigating directly to the URL redirects to Overview. The item becomes available as a sub-item under Overview once the project is live and a snapshot has been captured.

Page layout

The page shows a header ("Changes" with the snapshot date in the subtitle) followed by two stacked sections:

  • Unacknowledged changes (N) — every detected diff that hasn't been reviewed yet. When the count is zero, the section renders with "No unacknowledged changes" plus a short status line (matches snapshot / all acknowledged).
  • Acknowledged (N) — only appears when at least one row has been acknowledged. Same row layout with an additional acknowledged date.

What a Change row contains

  • Label — the human-readable name of the change (e.g. "GTM web container", "Container config").
  • Field — the specific binding or configuration field that drifted, shown to the right of the label.
  • Snapshot / Current — a two-row diff comparing the value captured at cutover against the value in your current setup.
  • Detail — a short prose explanation of what the drift means.
  • Acknowledge button — only on unacknowledged rows. Submits the row's (kind, signature) pair to the acknowledgement endpoint.

Acknowledgement workflow

Each unacknowledged row exposes an "Acknowledge" button. Clicking it records the (kind, signature) pair in the change_acknowledgment table, idempotent on a UNIQUE constraint so re-clicking has no effect. The row moves to the Acknowledged section. If the same field drifts in a new way later, the new drift reappears as a fresh unacknowledged row because the signature changes — acknowledgements are scoped to specific drift, not to fields.

How Changes relates to other pages

  • Setup Snapshot — the frozen state Changes compares against.
  • Health — surfaces an "actions recommended" count when Changes has unacknowledged rows.
  • Resources — tabular inventory of the current state; useful for confirming a Changes row's "after" value.

When to use Changes

  • Routine post-live review — what has shifted since launch?
  • Investigating a Health-page action recommendation about configuration drift.
  • After a known re-binding (custom domain change, account reassignment) — acknowledge the expected drift to clear the queue.