Source: qdash /teams — c67 portal study, 2026-08-15
A visual means the data it summarizes; a portal proves it. This page pushes past the axis study by making every mark a door: the metric switcher creeps back as an Auto lens the data drives, chips open into their people, every aggregate shows its receipts — including the seam where two sources disagree — and the roster and strip light each other up. qdash's honesty stance, made interactive: numbers you can open.
When is a mark a door — six laws
The spend bar opens the identities that sum to it; a dot opens that person; "estimated" opens its formula; a lens tag opens its why. Never a generic details panel — the door matches the wall it's in.
Preview never moves layout and is never required — every hover destination is also a click destination (touch parity). Commit may move layout and always writes URL state; a portal you can't link isn't one.
Opening a number shows its addends re-adding to it. Discrepancies are printed, not smoothed: "$4.02k attributed · $80 unresolved." Reconciliation is the interactive form of "estimated from list prices."
The unfilled meter is the idle people — clickable. The "+21 more" residual is the largest aggregate on the row — it gets a chip, a bar, and a click. If a region encodes, it opens.
Sessions are the floor. A level the system can't back with records does not render — no per-team sparklines while the daily series is fleet-wide, not even greyed out.
Opening a door closes the previous one — single-focus invariant. Esc walks back exactly one level (formula → tail → focus), so you always know your depth.
The composed portal strip
214 people · 26 teams. Auto is the resting state — each chip shows the metric where that team has something to say, tagged with its lens and the named comparator that justifies it. Hover whispers, click commits: a chip opens into its people and its receipt, the roster below follows, and dots and rows highlight each other. Try: click Core-Banking, hover its dots; click the $4.1k*-style asterisk on ML-Infra; open the residual chip; Esc walks back out.
Teams
what the data finds notableThe four portals, precisely
Each chip shows the metric where its team has something to say, tagged in small caps (four bar semantics coexist in one row — the tag is non-negotiable). Selection is deterministic: any Critical → Risk, always; then the largest named-comparator ratio; Spend as the degenerate default — when nothing is notable, Auto IS the baseline strip. Sticky across refreshes (a new lens must beat the incumbent by a margin, not a hair). No z-scores anywhere: "2.7× the fleet median" is a checkable sentence; "z=2.1, n=26" is statistics cosplay, and the brand forbids fake rigor more than it forbids missing features. Under Auto, membership itself is the briefing: chips are the teams with something to say, the residual is the archive.
Click a chip and it expands horizontally into its people card (all five stats at once — inside one team, density is correct; per-team lens tabs were cut as switching nobody asked for). Siblings compress to quiet-chip form in the same row: the axis made dynamic — the focused thing is +3, everything else is −1. Focus and filter are the same gesture: the expanded chip is the header of the filtered roster below, and its dots open v8 person cards. Above ~12 members only stateful dots render, with "+N idle" as a clickable count.
The focused chip prints its reconciliation: addends re-adding to the headline figure. When sources disagree — the by_team unknown bucket vs the client rollup's unmapped set — the seam prints in amber instead of being smoothed away. That line is the most on-brand pixel on the page: honesty as arithmetic. "Estimated" gets a formula popover (list price × tokens, dated). The descent floor is sessions; nothing renders below the data.
Hover a roster row and the matching dot rings in the strip; hover a dot and the row highlights. Nearly free (shared hover state, zero layout change) and the most portal-true idea here: it teaches the correspondence instead of captioning it. "felix IS the red dot" stops being a note in a design doc and becomes something you discover with your cursor. Generalizes beyond Teams: any two views of the same entity on a qdash page should highlight each other — a design-system pattern (future /document-pattern).
Stayed in the lab
A ghost profile below the strip on hover: no commit, no URL, no touch story, and it repaints five times as you sweep the row. Demoted to the whisper line — a fixed-height sentence that previews what click will do. Hover is only allowed to whisper.
Tabs inside the focused card, switching one team's metric. Inside a focused team there is room for all five metrics at once — the +1 stat-chip failure (kills scanning) only applies across teams. Switching for switching's sake; cut.
The purest reading of "every number is a door" — and a tree view in a matchbox. By level two it rebuilds the roster and the v8 person card that already exist one scroll below. Survives as two laws (receipts, floor) and one popover instead of a component.
"Payments deviates σ=2.1" on n=26 teams is noise wearing a lab coat. Named comparators only: "2.7× the fleet median $67," "the fleet is 74 of 214." Every claim on the strip must be checkable by a human with the receipt line.