Phase 1
Providers
Source: c81 phase1-pages — Providers (PRO-25); inventory-companies-v1 rollup + trend rows, report-inventory-v1 models-by-provider, c19 posture-as-badge-columns, re-derived from the phase1 world
fixture state
5 providers — Anthropic carries 71% of 4-week tokens; 2 with no enterprise agreement.
xAI — unknown account, 1 detected-only, $60 · 4w · Nous Research — no account, 1 detected-only, $0 · 4w
5
providers
7 technologies · 28 installs
71%
Anthropic of 4-week tokens
next: OpenAI 19% · 330M fleet-wide
3 of 5
with an enterprise account
without: Nous Research and xAI
2
detected-only providers
Nous Research 0 of 1 monitored · xAI 1 of 2 monitored
Providers
provider → technology → install · ranked detected-only first, then share of 4-week tokensTechnologies | Installs | Monitored | People | Enterprise | Personal | Unknown | Tokens · 4w · share | Est. · 4w | Trend · 12w | |
|---|---|---|---|---|---|---|---|---|---|---|
Nous Research | 1 Hermes | 1 | 0 / 1 1 detected-only · no account | 1 | 2.2M 1% | $0 self-hosted | +700k/w | |||
xAI | 1 Grok | 2 | 1 / 2 1 detected-only | 2 | 0 | 0 | 1 | 12M 4% | $60 | +6.0M/w |
Anthropic | 2 Claude Code · Claude Desktop | 12 | 12 / 12 | 12 | 1 | 0 | 0 | 233M 71% | $2,215 | +2.0M/w |
OpenAI | 2 ChatGPT · Codex CLI | 10 | 10 / 10 | 8 | 1 | 1 | 0 | 64M 19% | $384 | −2.0M/w |
Google | 1 Gemini CLI | 3 | 3 / 3 | 3 | 1 | 0 | 0 | 19M 6% | $68 | flat |
5 providers · 7 technologies · 28 installs. Tokens are the usage trend's trailing 4 weeks (330M fleet-wide — the share denominator); dollars are estimated at each model's blended rate ($2,727 fleet-wide). Attributed to people over 30d: 309M — the 21M remainder is not attributed to a person (1 unattributed install and local-model and org-key traffic).
Composition notes
- Question: which companies' AI do we run, and how concentrated are we? Provider grain — presence, concentration (share of 4-week tokens), and the provider-level exception (a company with no agreement behind it). Installs, people, and surface are columns that link out; Agent Inventory owns them.
- Verdict line from verdicts.providers(world): the count, the top provider's share, and the providers with no enterprise agreement — named in the sub with their account reason, detected-only count, and 4-week dollars. All-clear reads as a finished sentence.
- Framing band = four claims as plain Phase1StatBlocks (five rows do not want filter buttons): providers, top-provider share with the runner-up named, providers with an enterprise account, detected-only providers — the one attention device.
- Table is the raw UxTableList family so ?id=<companyId> can pre-open a row. Rows from providerRows(world) (vendorRollup extended): ranked detected-only first, nothing-monitored ahead of partly-monitored, then share — so the $0 local model lands on top in the attention state. Search rides the Company header (company, technologies, models, people).
- Posture as three count columns (c19 pattern, quietened at the cloud review): enterprise / personal / unknown account counts in plain mono; only the exception cell carries tone — personal red (the warn class), unknown amber — so a row lights at most one cell. A provider with no account at all leaves the three cells blank and says no account once, in the amber monitored cell it already lights. Tokens and the share bar share one cell (UxPercentBar): the bar is the number, drawn only from 5% up (below that it is invisible and the percent alone carries it). Dollars are labelled estimated; a $0 provider with tokens reads "self-hosted". The 12-week spark (DataSparkChart over companySeries) carries the signed weekly delta it shows, so it is a claim rather than decoration; the column is fixed-width and Technologies wraps instead. Provenance is not a table column — for a provider it equals "enterprise accounts > 0", the Enterprise cell already says it — so it prints once, as a grey pill in the expand header (search still matches it).
- Expand = three UxTableListExpandSections: header (share, tokens, estimated dollars, monitored, people, last seen — with the no-account or observed explanation derived from the row), technologies each with their installs (person and device chips, monitored pill, account licensing, "view details →" to Agent detail, "view in Inventory →" per technology — Inventory keys on the technology, so that link is the ruled "view provider in Inventory"), and accounts (chips to Accounts) with the models table (chips to Models, per-model spark, tokens, estimated dollars, installs).
- Derivation: every number traces to vendorRollup / providerRows / providerBand / trendTotals / companySeries / modelSeries / unattributedTokens30d; nothing hand-typed. The footer prints the share denominator and the people-attributed reconciliation.
- Settled at the cloud review: the word is "providers" (the route name) — title, table heading and empty state say it; verdicts.providers still says "companies" in its text and follows when the derived data is next touched. The nothing-monitored row lights one cell (coverage amber, with "no account" as its sub-line), not two. Open: top share is the first honest concentration number; an HHI or top-two share can follow if the question sharpens toward vendor risk.