Pages
Teams & Users — Ideas

Source: qdash /teams (Teams & Users) — c61 design-pass concepts, 2026-08-08

The page's name promises member management; what it delivers is a per-person risk rollup — and the one write path it has (assigning a team) is a hidden inline affordance. Four concepts against the Meridian world (14 users · 4 teams · 34 monitored agents · $1.34k/30d, of which $306 is unattributed). Ideas 1–3 are buildable against today's data model; idea 4 is the page's SCIM-day future, labeled projected. It is Monday: felix's egress destination is still undecided, sofia's secrets.yaml finding is unassigned, and chen showed up this morning.

Idea 1

One risk story per row

The current table spreads "why is this person risky" across five columns and two expand levels. This keeps the risk-ranked spine but synthesizes each person's exposure into one sentence with one verb — the same move the Overview's decision queue makes. Eight columns become five; everything here is computable from the joins the page already does.

14people
+1 since Fri — chen
4teams
4 identities unmapped
$1,034attributed · 30d
of $1,340 — 77% attributed
2at risk
felix · sofia
PersonTeamRisk storyActivitySpend · 30d
fefelix@duck.comData1 Critical — undecided egress to metrics.coderelay.io · Sun2 agents · 31m ago$70
sosofiaPlatform1 Elevated — secrets.yaml read · Fri · unassigned2 agents · 2h ago$98
prpriyaPaymentsok3 agents · 12m ago$1692.4× median
mamarcusPlatformok3 agents · 48m ago$121
dadanaDataok3 agents · 1h ago$112
chchennew todayok1 agent · 19m ago$4
+ 9 more, all ok — show →$489
risk story = worst of (open findings · undecided egress · posture level), one per person, verb deep-links to the canonical decision surface · rows sorted worst-first, "ok" rows collapse below the fold · spend bar ∝ share of attributed spend
Idea 2

Teams as the unit

The eng-manager and FinOps read: teams as first-class objects with their own rollups, people nested inside. The unassigned bucket stops being a footnote and becomes a card with a dollar amount on it — the to-do list that funds idea 3. Grouping is client-side; this is buildable today.

Payments$318
3 people · 8 agents24% of spend
priyaninaava
2.7× team token median
Platform$339
4 people · 10 agents25% of spend
marcussofiarafaeljordan
Data$269
4 people · 9 agents20% of spend
samdanatomasfelix
Frontend$108
3 people · 7 agents8% of spend
chenjakeleo
Unassigned$306
4 unmapped identities · 5 agents23% of spend
card click → idea 1's table filtered to the team · spend %s and the headline agree with Cost Center by construction (both read /api/costs.by_user) · risk dots = open findings
Idea 3

The mapping workspace

Team assignment is the page's only write path, and today it's a hidden inline input. This makes identity→org mapping a designed job: a queue of unresolved identities with evidence and suggestions, bulk assignment, and an honest count of what's at stake. The SCIM banner shows why the work is worth doing either way — most of it survives the IdP join as verified truth.

$306 /30d unattributed — 23% of all spend4 identities can't be placed on the org chartprojected when your IdP joins, 11 of 14 map automatically — these 4 still need a human
Needs mapping — 4
chen@meridian.devnew identity$4/30d
first seen Mon 09:12 · Claude Code on chen-mba · OS user chen
f.osei@duck.comprovider alias$38/30d
Codex · same machine as felix@meridian.dev (felix-mbp) · same OS user
ci-runner@meridian.devservice identity$187/30d
3 agents · builds-04 · runs only during pipeline hours
(proxy-only, no identity)no identity$77/30d
2 agents · provider never self-reported an email
no candidate — needs a human call
2 selected
Teams
Payments3 mapped
Platform4 mapped
Data4 mapped
Frontend3 mapped
Assignments persist via /api/teams and scope every other page (Cost, Findings, Posture). Mapping is evidence, not access — nothing is granted or revoked here.
Idea 4

Members & roles — SCIM day

projected

What the page becomes when the IdP join lands — the conventional page the name has promised all along. Membership and teams arrive verified from Okta; roles govern the console itself. The observed rollup (idea 1) doesn't go away — it stays as the activity lens over a now-verified roster. Rendered so the projected future has a face.

Synced with Okta · 14 members · 4 groups → teams · last sync 2m agoteams are managed in your IdP — read-only here
MemberRoleTeamStatusObserved activity
ps
priya sharma
priya@meridian.dev
Operator Payments🔒active3 agents · $169/30d
fo
felix osei
felix@meridian.dev
Operator Data🔒active2 agents · 1 Critical open
sr
sofia reyes
sofia@meridian.dev
Admin Platform🔒active2 agents · 1 Elevated open
cl
chen liu
chen@meridian.dev
Viewer Frontend🔒active1 agent · first session today
nh
noor haddad
noor@meridian.dev
Viewer Security🔒invited Fri · resend →none yet
Members — who may open this console, from your IdP. Roles (Admin · Operator · Viewer) govern qdash itself.
Observed identities — who the telemetry saw. Joined to members on verified email; the proxy-only bucket stays honest and unmerged.
projected — arrives with SSO/SCIM · until then the page carries idea 1–3's observed roster, and this table is the north star the mapping work feeds
Coda

The composed page

Two stacks for today, one milestone. A keeps the risk-first console read; B leads with teams as the accountable unit. Idea 4 isn't a stack choice — it's what either stack becomes the day the IdP joins, and the mapping work (idea 3) is how you arrive there with the fewest surprises.

A — the accountable roster
1
Summary strip with deltas — people · unmapped · attribution % · at-risk
new
2
Risk-story table — idea 1 — worst first, ok tail collapsed
new
3
Unmapped band — idea 3's queue, collapsed to one amber row
new
4
Spend by team — kept, gains share bars + outlier pill
kept
5
Agent credentials — kept — but /identity becomes canonical
kept
B — teams first
1
Team cards + unassigned card — idea 2 — the accountable units
new
2
Risk-story table, per team — idea 1 filtered by card click
new
3
Mapping workspace — idea 3 as a drawer off the unassigned card
new
4
Adoption strip — overview idea 5's growth read, per team
new

Qpoint Brand Style Guide