Source: c81 phase1-pages — Teams & Users (PRO-20); teams-ideas-v7/v8 roster + person expand card, users-devices-v1 coverage-vs-denominator header, re-derived from the phase1 world
18 people known to Okta, 15 covered by a sensor — 3 unaccounted for.
3 without a sensor (Alexis Romero holds a seat — investigate) · Wes Okafor started 21d ago with no sessions
Teams
click scopes the verdict, band and roster · spend by team lives on Cost CenterPeople
one row per person · ranked uncovered first, then the stalled joiner, then by tokens · 30dTeam | Devices | Agents | Intensity | Tokens · 30d | Last active | Coverage | |
|---|---|---|---|---|---|---|---|
AR Alexis Romero Backend engineer | Engineering | ○alexis-mbp | none | ▯▯▯ none | 0 | never | uncovered holds a seat — investigate |
MT Miguel Torres SDR | GTM | ○miguel-mbp | none | ▯▯▯ none | 0 | never | uncovered no sensor, nothing observed |
OH Omar Haddad Finance | Ops | ○omar-mbp | none | ▯▯▯ none | 0 | never | uncovered no sensor, nothing observed |
WO Wes Okafornew · 21d Engineer (new) | Engineering | ●wes-mbp | Claude Code 1 install | ▯▯▯ none | 0 | never | covered |
TB Tyler Brooks Staff engineer | Engineering | ●tyler-mbp | Claude Code Codex 2 installs | ▮▮▮ heavy | 58M | 3h ago | covered |
KR Kamal Reddy Senior engineer | Engineering | ●kamal-mbp ○kamal-win-01win | Claude Code Codex Gemini 3 installs | ▮▮▮ heavy | 52M | 4h ago | partial 1 of 2 · Windows gap |
DW Dana Whitfield Account executive | GTM | ●dana-mbp | Codex 2 installs | ▮▮▮ heavy | 42M | 2h ago | covered |
MC Marcus Chen Platform engineer | Engineering | ●marcus-mbp | Claude Code Codex Grok 3 installs | ▮▮▯ moderate | 34M | 7h ago | covered |
RC Rob Castellano Solutions lead | GTM | ●rob-mbp ○rob-win-01win | Claude Desktop Codex Gemini 3 installs | ▮▮▯ moderate | 26M | 5h ago | partial 1 of 2 · Windows gap |
PN Priya Natarajan Frontend engineer | Engineering | ●priya-mbp | Claude Code Codex 2 installs | ▮▮▯ moderate | 24M | 5h ago | covered |
KN Kai Nakamura Head of operations | Ops | ●kai-mbp ○kai-win-01win | Claude Desktop Grok 2 installs | ▮▮▯ moderate | 22M | 8h ago | partial 1 of 2 · Windows gap |
HL Hana Lindqvist Product engineer | Engineering | ●hana-mbp | Claude Code 1 install | ▮▯▯ light | 12M | 3h ago | covered |
JF Jonah Fitz Tooling engineer | Engineering | ●jonah-mbp | Claude Code Hermes 2 installs | ▮▯▯ light | 9.0M | 8h ago | covered |
EW Erin Walsh Product marketing | GTM | ●erin-mbp | Codex 1 install | ▮▯▯ light | 8.0M | 27h ago | covered |
LG Leah Goldman IT administrator | Ops | ●leah-mbp | Codex Gemini 2 installs | ▮▯▯ light | 7.0M | 6h ago | covered |
SA Sofia Alvarez Field marketing | GTM | ●sofia-mbp | Claude Desktop 1 install | ▮▯▯ light | 6.0M | 7h ago | covered |
NP Natalie Pierce Office & facilities | Ops | ●natalie-mbp | Claude Desktop 1 install | ▮▯▯ light | 5.0M | 27h ago | covered |
BA Ben Ashworth Customer success | GTM | ●ben-mbp | Claude Desktop 1 install | ▮▯▯ light | 4.0M | 4h ago | covered |
18 people · zero-usage rows stay visible — who is not using AI is still interesting to management. ● sensor installed · ○ no sensor · dimmed agent mark = detected-only or never run · tokens are the measured 30-day total; dollars are estimates and live on Cost Center. Last active = last session on record, else the latest monitored heartbeat when 30-day usage exists, else never. Coverage is a fraction of the Okta/Jamf denominator, not of what the sensor happens to see.
Composition notes
- Question: who is using AI, and is anyone unaccounted for? Two accountings against the identity source's denominator (Okta/Jamf), never the sensor's own sightings: people with no sensor on any device, and covered people who have never run an agent. The inverse — AI use with no person — is Inventory's row; the band names it and links.
- Verdict line is verdicts.teams(world) verbatim at fleet scope; under ?team= the page's own teamsVerdict(world, team) produces the same sentence shape over the team so it cross-foots with the rows on screen.
- Framing band = four claims (Phase1StatBlock): people covered (the one attention device, a filter), devices sensored (deployable vs Windows platform gap, a filter), using AI · 30d (the stalled joiner rides its sub — adoption folds into the claim rather than a lever; the c67 strip stays gated), installs with an owner (a link — one number, one home). All computed from the rows in the table.
- Amber ruling applied: c67 said amber = attribution debt only; the c81 chassis says amber = attention debt only. This page spends its one amber on the coverage gap and states the attribution debt (an install with no identity) in neutral tone with its link. Personal accounts are the red class, in the expand only.
- Team drill-down = filter in place: the strip writes ?team=; verdict, band and roster scope to it. People and measured tokens per team from teamRollup; spend by team is Cost Center's (c67 decision 1).
- Table is the raw UxTableList family so ?id= can pre-open a row through refs. Rows from personRoster(world, team), ranked investigate → uncovered → stalled joiner → tokens; sorters on the rest; search on the Person header. One attention device per row: the Coverage column, except the stalled joiner whose row keeps Coverage quiet and carries amber on Last active = never.
- Expand = the c67 person expand card rebuilt on the world: identity & attribution (team chip filters in place, devices and accounts as Phase1EntityChips with sensor/licensing subs, "user detail →"), attention (derived items, each with a verb-link; absent when clean), agents & usage (one row per install with monitored pill, licensing badge, 7d sessions and tokens, "view details →"; then the 30d usage line with models, repos, MCP servers). Sessions stay on User detail — the card prints the count.
- Derivation: every number traces to coverageStats / teamRollup / stalledJoiners / monitoredStats through derived/teams.ts. The Okta/Jamf integration state is a world fact (world.integrations, folded in at reconcile) — the denominator line reads it, the page asserts nothing.
- Open: whether the stalled joiner deserves its own band claim; "partial" vs "1 of 2" as the coverage word for a Windows-gap person; the page name (Linear's "Teams & Users" kept; c21 floated "Users / Devices").