Symptom
Two tiles on the built-in System Overview board say something other than what they count.
1. "Total Users" is not a total. The board's default dateRange filter is "Last 7 days", and it applies to sys_user.created_at. So the tile labelled Total Users actually reports users created in the last 7 days. On a fresh datastore this is indistinguishable from the true total — every user was created recently — which is exactly why it reads as correct in a demo and will read as a catastrophic user-loss event on any instance older than a week.
2. "Active Sessions" is not active-only. The tile is backed by sys_session_metrics, which carries no active-only filter, so the label overstates what the number represents: it is a session count, not a count of currently-active sessions.
Both are label/query disagreements on a shipped platform board, not showcase authoring — the board is packages/platform-objects/src/apps/dashboards/system_overview.dashboard.ts, so every deployment sees them.
The tiles are otherwise genuinely live: each equals its own captured query and an independent direct aggregate, and Active Sessions moved 25 → 26 in lockstep with the direct count during the run. Nothing is stale or fabricated — the numbers are real, they are just not the numbers the labels promise.
Once-observed weakness recorded in the same run (not reproduced)
On the first capture, the "Events by User" bar chart rendered its y-axis with zero bars and no empty state. Its query had returned a single {user_id: null, …} row, and the renderer drops the null-keyed category — leaving an axis, no marks, and no "no data" affordance.
Observed once and not reproduced, so it is recorded as a weakness per RUNNER rule 2 rather than promoted to a failure. It is worth carrying anyway: it is exactly the blank-widget shape the system-overview-live-counts clause exists to guard, and it is reachable on any real instance whose only audit actor is the system itself — a common state for a freshly provisioned deployment.
Root cause
Not root-caused to a line in this run; the observations are behavioural and the fix is an authoring decision on the board metadata:
- The
dateRange global filter's binding to sys_user.created_at is what makes the Total Users tile a windowed count. Either the tile should opt out of the global filter (the way a true total must), or its label should say what it counts.
- The
sys_session_metrics widget needs an active-only predicate, or a label that matches the unfiltered count.
- The null-category drop is a renderer behaviour (objectui) rather than metadata, and would need its own reproduction before filing on that side — captured here only so the observation is not lost.
Reproduction
- Boot the showcase and open the built-in System Overview board.
- Note the default
dateRange filter reads "Last 7 days".
- Compare the "Total Users" tile against a direct unfiltered
count over sys_user. On a datastore with users older than 7 days these diverge; on a fresh one they coincide, which is the trap.
- Widen the
dateRange filter and watch "Total Users" change — a total that moves with a date filter is not a total.
- Compare "Active Sessions" against a direct count over
sys_session_metrics with and without an active-only predicate; the tile matches the unfiltered count.
Re-check the board source:
rg -n "Total Users|Active Sessions|dateRange|sys_session_metrics" packages/platform-objects/src/apps/dashboards/system_overview.dashboard.ts packages/platform-objects/src/apps/dashboards/system.datasets.ts
Source
Extracted from the QA run #7515 (framework a86db17). Checklist item system-overview-live-counts (PARTIAL) plus the matching entry under "Smaller observations".
Symptom
Two tiles on the built-in System Overview board say something other than what they count.
1. "Total Users" is not a total. The board's default
dateRangefilter is "Last 7 days", and it applies tosys_user.created_at. So the tile labelled Total Users actually reports users created in the last 7 days. On a fresh datastore this is indistinguishable from the true total — every user was created recently — which is exactly why it reads as correct in a demo and will read as a catastrophic user-loss event on any instance older than a week.2. "Active Sessions" is not active-only. The tile is backed by
sys_session_metrics, which carries no active-only filter, so the label overstates what the number represents: it is a session count, not a count of currently-active sessions.Both are label/query disagreements on a shipped platform board, not showcase authoring — the board is
packages/platform-objects/src/apps/dashboards/system_overview.dashboard.ts, so every deployment sees them.The tiles are otherwise genuinely live: each equals its own captured query and an independent direct aggregate, and Active Sessions moved 25 → 26 in lockstep with the direct count during the run. Nothing is stale or fabricated — the numbers are real, they are just not the numbers the labels promise.
Once-observed weakness recorded in the same run (not reproduced)
On the first capture, the "Events by User" bar chart rendered its y-axis with zero bars and no empty state. Its query had returned a single
{user_id: null, …}row, and the renderer drops the null-keyed category — leaving an axis, no marks, and no "no data" affordance.Observed once and not reproduced, so it is recorded as a weakness per RUNNER rule 2 rather than promoted to a failure. It is worth carrying anyway: it is exactly the blank-widget shape the
system-overview-live-countsclause exists to guard, and it is reachable on any real instance whose only audit actor is the system itself — a common state for a freshly provisioned deployment.Root cause
Not root-caused to a line in this run; the observations are behavioural and the fix is an authoring decision on the board metadata:
dateRangeglobal filter's binding tosys_user.created_atis what makes the Total Users tile a windowed count. Either the tile should opt out of the global filter (the way a true total must), or its label should say what it counts.sys_session_metricswidget needs an active-only predicate, or a label that matches the unfiltered count.Reproduction
dateRangefilter reads "Last 7 days".countoversys_user. On a datastore with users older than 7 days these diverge; on a fresh one they coincide, which is the trap.dateRangefilter and watch "Total Users" change — a total that moves with a date filter is not a total.sys_session_metricswith and without an active-only predicate; the tile matches the unfiltered count.Re-check the board source:
Source
Extracted from the QA run #7515 (framework a86db17). Checklist item
system-overview-live-counts(PARTIAL) plus the matching entry under "Smaller observations".