Skip to content

System Overview: the same created_at fan-out still windows the other two Row 1 inventory tiles, "Organizations" and "Packages Installed" #7613

Description

@claude

Symptom

The built-in System Overview board declares one dashboard-level global filter:

globalFilters: [{ field: 'created_at', type: 'date', label: 'Date Range', scope: 'dashboard', defaultValue: 'last_7_days' }]

A dashboard-level filter is broadcast into every widget's analytics query (#2501) unless the widget opts out with filterBindings: { <name>: false }. Row 1 of this board is inventory — four "how much of this exists right now" counts — and all four inherited that broadcast.

#7531 covered two of the four and is fixed. The other two are the identical defect on the identical row, and are still open:

widget label / description what it actually counts
widget_organizations "Organizations" / "Total organizations on the platform" organizations created in the last 7 days
widget_packages_installed "Packages Installed" / "Active package installations across projects" installations created in the last 7 days with status: 'installed'

Same trap as #7531's Total Users: on a fresh datastore every row is recent, so the windowed count and the true total coincide and the tiles read as correct in a demo. On any instance older than the window they under-report, under a label that says "Total".

Why this was not fixed in #7531

Scope. #7531 names two tiles, and the dispatch ruled on those two; widening a card to twice its stated surface is not the dev seat's call. Recording it here so the row is finished deliberately rather than by accident.

Fix

The same one-line opt-out already applied to the two sibling tiles in PR for #7531:

filterBindings: { created_at: false },

on widget_organizations and widget_packages_installed in packages/platform-objects/src/apps/dashboards/system_overview.dashboard.ts.

Note widget_packages_installed already carries a widget-level filter: { status: 'installed' }; the opt-out is orthogonal to it and both should stand.

Verification already in place

packages/platform-objects/src/apps/dashboards/system-overview-tile-semantics.test.ts (added by #7531) pins the label/query-agreement property for the two fixed tiles and already carries the fixture shape — rows straddling the 7-day window — that the two remaining tiles need. Extending it is two fixture sets and two blocks.

One thing to be careful of when extending it: that file's non-vacuity control is an audit widget, deliberately, because an audit widget is correctly windowed. Do not reach for widget_organizations as a "still bound" control — it is bound by the defect, not by intent, and pinning it that way would enshrine this bug.

Related

Source

Found while implementing #7531 (QA run #7515). Filed per AGENTS.md Prime Directive #10 rather than folded into that PR.


Generated by Claude Code

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions