Page body
What this page shows
Change Notification Detail opens one stored audit record from the change-notifications list.
It is the page operators use when the list row is not detailed enough on its own.
When to use it
- inspect the full before/after payload for one change
- confirm the actor, entity, and timestamp of a change
- compare values in table, JSON, or diff mode
- print the audit entry for review or escalation
How to read it
The page is split into operator-facing sections:
Change InformationAdministrator InformationDescriptionChange ComparisonAudit Information
The comparison block is backend-owned in content but FE-owned in presentation. The same stored payload can be viewed as:
- table
- raw JSON
- diff
The Audit Information block also displays an Immutable status chip. That chip reflects the backend model guard: audit rows are not meant to be updated or deleted after creation.
Known caveats
- The diff structure varies by change type because the payload is stored as JSONB and not normalized to one rigid schema.
- The table comparison mode only extracts nested fields shaped like
{ before, after }frompreviousValue. If a record uses the legacy full-object format, the table can showNo changes detectedwhile JSON or diff mode still exposes the raw payload. - This route is normally entered from the list page. Operators usually should not guess change ids and open it directly.
- Print and copy controls are FE utilities around the same backend detail payload.
- If the backend returns no change for a valid route id, the page shows
Change notification not foundwith a back button.
Verification status
- status:
verified_backend - FE detail route, loading states, comparison modes, and print utility are mapped
gs-admin-backendowns the detail read and the immutable audit payload- no explicit
nx-workspacedependency is required for the current detail view