qcontrol New Pages
To close: Write a summary Outcome above the team-details note · Mark Device Details dropped (Devices removed) and Sessions listing done under /team/sessions · Move to HISTORY.md
last activity Sep 27
The new page designs lived only as mocks on made-up data, while the real app still had hand-made filters and older pages.
Over nine days the mocks became real pages on real data: one filter with an always-on time window, a chart on every listing card, one frame for every detail page. Phase three stayed open.
Documents
With file names, on their own page →Start here
Documents
Threads
- actor-listings — prompt (verbatim, 2026-09-19)
- — actor-listings: global filter + DataMachine overview on every actor listing
- band-polish — prompts (verbatim)
- band-polish — plan as executed
- day-series — prompt
- — day-series: an honest trend on every card, row, and detail page
- detail-pages — prompt
- — detail-pages: rebuild the six old-style actor detail pages on the model-page patterns
- detail-titles — prompt
- devices-labels — prompt
- — Global filter in qdash: replicate app.qpoint.io's behaviour
- harness-rename — prompt
- — harness-rename: "Agent" → "Harness" on every qdash page
- header-margin — prompt
- listing-viz — prompt
- — listing-viz: a visualization at the top of every listing page
- people-pages — prompt (verbatim, 2026-09-20)
- — people-pages: `TeamsOverview` / `UsersOverview` / `DevicesOverview`, the combined page renamed, three solo pages
- providers-skills — prompt
- — providers-skills: two new inventory categories in qdash
- session-details — prompt (verbatim, 2026-09-19)
- — session-details: `/inventory/sessions/detail` becomes the c90 session mock
- session-header — prompt
- skill-definition — prompt
- — skill-definition: showing the actual skill definition on Skill detail
- skill-definition-build — prompt
- — skill-definition-build: the definition on Skill detail, in qcontrol
- surface-section — prompt (verbatim, 2026-09-19)
- — surface-section: componentize "Surface" and put it on every actor detail
- team-details — prompt
- team-nav — prompt
- timeframe-always — prompt
- — timeframe-always: a timeframe filter already and always in place
- toggle-cell — prompt
- trigger-bar — prompt
- user-details — prompt
- working-nav — prompt (verbatim, 2026-09-20)
- — working-nav: a "Working" section in the qdash sidebar
Pages
- /components/actor/actor-header
- /inventory/agents/detail (local dev)
- /components/data-machine/data-machine
- /components/data/data-ranked-bars
- /components/data/data-segment-bar
- /components/data/data-surface-section
- /devices (local dev)
- /components/filter/filter-item
- /components/filter/filter
- /inventory (local dev)
- /inventory/harnesses/detail (local dev)
- /inventory/agents (local dev)
- /inventory/harnesses (local dev)
- /inventory/machines (local dev)
- /inventory/mcp-servers (local dev)
- /inventory/models (local dev)
- /inventory/sessions (local dev)
- /inventory/tools (local dev)
- /inventory/workspaces (local dev)
- /inventory/machines/detail (local dev)
- /inventory/mcp-servers/detail (local dev)
- /inventory/models/detail (local dev)
- /patterns/app
- /components/data-machine/data-machine-group
- /inventory/endpoints (local dev)
- /inventory/providers (local dev)
- /teams-users-devices (local dev)
- /components/display/ux-percent-bar
- /inventory/sessions/detail (local dev)
- /qcontrol/teams
- /teams (local dev)
- /inventory/accounts/detail (local dev)
- /inventory/endpoints/detail (local dev)
- /inventory/providers/detail (local dev)
- /inventory/skills/detail (local dev)
- /inventory/skills (local dev)
- /inventory/tools/detail (local dev)
- /users/detail (local dev)
- /users (local dev)
- /inventory/workspaces/detail (local dev)
- /qcontrol/user-v3
What changed
The four changes that matter most, in plain words. Open any one to see it.
- 1
The Teams, Users & Devices page runs in the real product on real data, and says "projected" where it has to guess.
The mock, on real data · came from Mark Peterson, Tyler Flint and others
- 2
The filter bar always shows the time window, 7 days by default, and keeps it as you move between pages.
The time window is always there · came from Mark Parsonopen →
- 3
Every list opens with three cards, each with one small chart, and their numbers add up to the table below.
Three cards that add up to the table · came from Tyler Flint and Mark Parson
- 4
Every detail page follows one layout: what it is, where to go next, a band of numbers, then the lists.
One layout for every detail page · came from Mark Parson
- Mark's product-review notes were worked through one page at a time, seventeen pages in a day. Early → final
- The sidebar now separates what's in the fleet from who uses it: Users, Teams, Endpoints and Sessions sit under Team. In words
How we got here
Each change, traced back to the conversation it came from. A solid mark means the record names the source; a dashed one was matched by the draft and waits for review.
“Our CFO in terms of, like, you know, tokens cost, like, she's trying to rationalize spend all the time, and actually, cost is attributed to department... it's like, in any way that that if that's represented, that that's a good insight.”
market-analyst /calls/09ecfede… (local)c92-D1 Where the backend doesn't know the whole, the number carries a PROJECTED badge instead of an invented total. — Mark Parson
c92-D8 Teams are compared one measure at a time, with spend and tokens first. — Mark Parson
The Teams, Users & Devices page runs in the real product on real data, and says "projected" where it has to guess.
From the record: no recorded conversation behind this one.
c92-D2 The time window is always on the filter bar, defaults to 7 days, and follows you across pages. — Mark Parson
The filter bar always shows the time window, 7 days by default, and keeps it as you move between pages.
From the record: no recorded conversation behind this one.
c92-D3 Each listing card gets one chart: segment bars for parts, ranked bars for concentration, a donut only when both slices are named things. — Mark Parson
Every list opens with three cards, each with one small chart, and their numbers add up to the table below.
From the record: no recorded conversation behind this one.
c92-D4 The six older detail pages are rebuilt on the frame the agent, session and user pages already use. — Mark Parson
Every detail page follows one layout: what it is, where to go next, a band of numbers, then the lists.
Thanks to
People outside Qpoint first. Every thank-you points at something they said or made.
Spend by team is what a CFO asks for
On the product call that reviewed these pages, he said his CFO attributes AI cost to department; the notes in the cycle's folder record it as the buyer signal behind comparing teams on spend.
“Our CFO in terms of, like, you know, tokens cost, like, she's trying to rationalize spend all the time, and actually, cost is attributed to department... it's like, in any way that that if that's represented, that that's a good insight.” first-hand
A trend beside every number, text before charts
Set the rules the call notes carry into this work: every important number gets its history, say it in text before visualising it, and build the table pattern once and reuse it. His specs also drove the new Providers and Skills pages.
Ruled the vocabulary and the shape of the app
Made the calls the threads turned on: projected badges over invented totals, an always-on time window, Harness for Agent, Devices dropped, and Inventory split from Team. Wrote the review notes the last two days worked through.
All images
Every picture from this cycle. Click any one to step through them all.
The pairs
Everything captured · 98
The full record 37 decisions · 61 key-change entries · 18,397 words · 98 captures
The record stays as written, for agents and for audit: Key Changes, every decision, the artifacts and the visual record.
Open the record for c92 →