Skip to content

Usage data: deeper capture and quality fixes #741

Description

@iamtoruk

Findings from analyzing the first three days of usage snapshots (Jul 16-18, 25 installs). One ticket, six work items:

Deeper capture

  • Per-provider breakdown in the daily snapshot. Today only providerCount is sent; the payload already has payload.current.providers keyed by name (app/renderer/App.tsx, usageSnapshotProps). Add providers: [{ name, costBucket }] (top 8), mirroring the models shape. Payload change is add-only per the CLI/app contract. Verify the API sanitizer allowlists the new field. This answers "which agent gets the usage/spend" (claude vs codex vs cursor vs gemini), which model names alone can't attribute.

Data quality

  • Raw model ids leak through un-normalized. fireworks/models/kimi-k2p7-code, fireworks/routers/glm-fast-latest, etc. arrive verbatim while other rows carry display names. Same root as the provider display-name issue from the July audit.
  • MODEL_PLACEHOLDER_M26 reported as a real model by one install — a placeholder from the normalization table shipped. Find and fix the table entry; consider a guard that drops MODEL_PLACEHOLDER_* names at the source.
  • Skills came back empty in all 25 snapshots; MCP servers appeared exactly once. Either usage really is that rare or the collection path is broken/over-sanitized. Verify end-to-end locally with a profile that has known skill + MCP activity.

Robustness

  • Client-side rate-limit cli_error. One 0.9.15 install emitted 804 timeout errors in a single day (56% of all events ever received). Cap per kind per day, or dedupe repeats.
  • app_close almost never fires (1 close vs 48 opens) — the quit path races the outbound POST. Fix the flush-on-quit, or drop the event and derive session length another way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions