You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
frontend-settings v1.12.0 (AC-31). Phase 3a of the activity readability
initiative.
The settings Audit log rendered the raw dotted action code as the primary
column and actor/resource UUIDs inline. Now it consumes the server-rendered
readable message (added in Phase 2b):
- EVENT column: ev.message (the sentence, e.g. 'The system ran a scheduled
tick') as the primary line, with the raw ev.action as a small mono
sub-line for auditors who need the code.
- ACTOR: ev.actor_label (the name), falling back to a readable actor-type
word — never a raw UUID.
- RESOURCE: the capitalized resource_type only; the raw actor_id/resource_id
UUIDs move to the expand drawer.
- Time + severity now use the shared eventDisplay helpers (relativeTime,
severityLabel); the local relTime + its em-dash are gone.
Read-only + audit:read gating unchanged. Verified live. Full frontend suite
(322) + specter (111, structural 100%) green.
Copy file name to clipboardExpand all lines: specs/frontend/settings.spec.yaml
+6-1Lines changed: 6 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
spec:
2
2
id: frontend-settings
3
3
title: Settings — two-pane shell with 11 sub-pages
4
-
version: "1.11.0"
4
+
version: "1.12.0"
5
5
status: draft
6
6
tier: 2
7
7
@@ -368,3 +368,8 @@ spec:
368
368
description: "v1.11.0 source-inspection: usePreferencesStore keeps the Zustand persist('ow-preferences') localStorage cache AND syncs server-side — every setter calls push() which PATCHes /api/v1/users/me/preferences (best-effort, errors swallowed), and hydrateFromServer() GETs /api/v1/users/me/preferences and applies present keys to state. AppFrame calls hydrateFromServer once on mount via useEffect, so the authenticated shell reconciles preferences with the account."
369
369
priority: high
370
370
references_constraints: [C-06]
371
+
372
+
- id: AC-31
373
+
description: "v1.12.0 source-inspection: the Audit log row renders the server-rendered readable message (ev.message || ev.action) as the primary line with the raw ev.action as a small mono sub-line; the Actor column shows ev.actor_label (falling back to a readable actorTypeWord, never a raw UUID); the Resource column shows the capitalized resource_type only (no UUID); the raw actor_id and resource_id UUIDs appear only in the expanded detail drawer. Time uses the shared relativeTime and severity the shared severityLabel from @/api/eventDisplay (no local relTime, no em-dash). The page remains read-only and audit:read-gated (AC-19)."
0 commit comments