Phase 1
Agent Inventory

Source: c81 phase1-pages — Agent Inventory (PRO-24); inventory-companies-v1 rollup + inventory-ledger-v3 tile band + inventory-agent-expand-v2 card, re-derived from the phase1 world

fixture state

26 of 28 installs monitored — 2 detected-only (2 technologies), 1 with no owner.

Grok on kai-win-01 · Hermes on jonah-mbp · Codex CLI at egress, unattributed

Technologies

company → technology → install · ranked detected-only first, then unattributed, then size
Company
Provenance
People
Installs
Monitored
Sessions · 7d
Tokens · 7d
Last seen
Grok
web app
xAIobserved2 21 / 2
1 detected-only
1420k23h ago
Hermes
local model
Nous Researchobserved1 10 / 1
1 detected-only
0020h ago
Codex CLI
CLI agent
OpenAIdeclared3
+1 unattributed
44 / 468.5M3h ago
Claude Code
CLI agent
Anthropicdeclared7 77 / 71627M2h ago
ChatGPT
desktop app
OpenAIdeclared5 66 / 6113.1M1h ago
Claude Desktop
desktop app
Anthropicdeclared5 55 / 5122.8M4h ago
Gemini CLI
CLI agent
Googledeclared3 33 / 34900k6h ago

28 installs across 7 technologies from 5 companies — 1 unattributed (rendered as a first-class row, not hidden). Tokens and sessions are the 7-day sample on record; 30-day totals live with the person and the provider. Fleet trend trailing 4 weeks: 330M · attributed to people: 309M · unattributed remainder: 21M.

Composition notes

  • Question: what agents exist, are they alive, what are they touching, is anything unmonitored? Hierarchy presence → coverage → footprint → risk-as-exception (c59 §1, §4). Token headlines are noise here — tokens are a trailing column, labelled 7d.
  • Verdict line from verdicts.inventory(world): monitored of total, detected-only across n technologies, installs with no owner; the sub line names them. All-clear reads as a finished sentence, not an absence.
  • Framing band = four claims as filter buttons (findings-regroup-v2 idiom via Phase1StatBlock button): installs monitored (reset), detected-only (the one attention device), technologies, active 24h. Numbers cross-foot with the visible rows, including under a person filter.
  • Table is the raw UxTableList family, not DataTable: the ?id= protocol needs per-row refs to pre-open a row. Rows come from technologyRollup(world, person?), pre-ranked (detected-only → unattributed → size); the sorters re-order on demand; search rides the Technology header. Provenance = declared when an enterprise account backs an install, observed otherwise (Grok's unknown team id, Hermes's no account).
  • Expand = three UxTableListExpandSection cards on a bare row (agent-expand-v2 / TeamsPersonExpandCard idiom): header, installs, surface. Installs carry person (a Phase1EntityChip linking as the ?person= filter — users are filters here, not rows), device, monitored pill, account licensing, version, last seen, and "view details →" to Agent detail. Surface rows are EntityChip rows: models, MCP servers (configured ∪ connected, unreviewed flagged), repos from cwd, endpoints (non-allowlisted flagged).
  • Derivation: every number traces to monitoredStats / technologyRollup / unattributedTokens30d; nothing hand-typed. The people-attributed 30d total is deliberately below the trend's trailing 4 weeks — the remainder rides the unattributed Codex install and Hermes's local tokens, and the footer prints all three.
  • Open: the label for the technology level ("AI agents" vs "harnesses" vs "technologies") is still open from c21; this page says technologies. Machine and session rows stay out — they belong to People.

Qpoint Brand Style Guide