Observability and governance for QM agents

See every qm turn, scope, and token as it happens. ClawMetry reads qm's Postgres tables in read-only mode and renders sessions, tokens, cost, and the org-scope layer in one dashboard. No qm code change.

17th supported runtime Reads Postgres tables directly Read-only, MVCC-safe Free trial

What ClawMetry sees on qm

qm (github.com/yc-software/qm, qm.ycombinator.com) is Y Combinator's open-source multiplayer agent harness: one Slack + web surface per org, per-scope sandboxes, and a central turn loop that delegates to Pi, OpenCode, Codex, and Claude Code. ClawMetry's qm adapter opens the same Postgres qm writes to and surfaces:

Source: the adapter is at clawmetry_pro/adapters/qm.py. Every SELECT it runs is in that file; the schema columns are captured verbatim from qm's own CREATE TABLE statements in src/sessions/postgres-session-store.ts and src/admin/postgres-metrics-sink.ts.

Enable it in about two minutes

1. Install ClawMetry

Pick the line that matches your OS. Windows users: paste the install.cmd line, not the shell one.

# macOS or Linux
curl -fsSL https://clawmetry.com/install.sh | bash
# Windows (cmd.exe or PowerShell)
curl -fsSL https://clawmetry.com/install.cmd -o install.cmd && install.cmd

2. Connect the daemon

clawmetry connect

3. Point at qm's database

ClawMetry reads CLAWMETRY_QM_DATABASE_URL first (so you can point at a read replica), then falls back to DATABASE_URL if unset.

export CLAWMETRY_QM_DATABASE_URL="$DATABASE_URL"

Open http://localhost:8900. Switch the runtime chip to QM. Every qm session, scope, and cost is there.

Start the free trial →

Safety: read-only by design

Every connection sets:

SET default_transaction_read_only = on;

before any SELECT. A bug in ClawMetry cannot mutate qm's tables. All queries hit indexed paths (sessions_by_activity, session_entries_session_created, turn_metrics_by_ts). Connections are opened per query and closed immediately, so a stalled query cannot pin a pool slot.

If your policy is stricter, point CLAWMETRY_QM_DATABASE_URL at a Postgres read replica. Nothing else in ClawMetry needs write access to qm's database.

What each tab shows for qm

TabWhat it showsScope
SessionsEvery qm session, sorted by last activity, with scope, surface, and token totalsAll scopes, or filter by one
BrainLive entries as they land: user messages, tool calls, handoffs to child harnessesWhole node, or one session
CostPer-session, per-scope, per-hour token spend; cache-read vs uncached-input splitRuntime = qm, or all
Sub-agentsWhich child harness (Pi, OpenCode, Codex, Claude Code) served each qm turnPer session

How this compares to running qm alone

qm's own admin surface shows current runs and audit logs. What it does not show is real-time cost per hour across scopes, cache hit rate per session, or a kill-switch when a scope's turn is token-maxing. Those are the things a team running qm on a real budget needs on day one; they are what ClawMetry adds. See the cost-per-hour visibility page and the token-maxing page for how these work end to end.

All 19 runtimes ClawMetry observes

qm is one of 19. Free on every plan: OpenClaw, NVIDIA NemoClaw. Paid on Cloud Pro or Self-Hosted Pro: the rest.

OpenClaw NVIDIA NemoClaw NanoClaw PicoClaw Claude Code Codex Cursor Aider Goose opencode Qwen Code Hermes Pi Deep Agents n8n Antigravity GitHub Copilot Grok QM (this page)

Individual per-runtime pages are rolling out over the next few weeks. Ping vivek@clawmetry.com if there's one you want prioritised.