v1.1.1 - Ground Truth
tokenuse 1.1.1, named Ground Truth, restores current Cursor and Codex Desktop usage capture. Cursor sessions are reconstructed as canonical user turns with explicit provenance, while Codex Desktop accepts the newer string credit-balance schema and repairs sessions that an earlier import marked complete without recording calls.
Highlights
- Added ingestion for the current Cursor Agent
store.dbalongside state bubbles, AgentKv, request context, chat stores, transcripts, and AI tracking. - Rebuilt Cursor ingestion around one canonical user-turn reconstruction, fixing modern unknown session ids and safely removing only the exact legacy rows superseded by a reconstructed turn.
- Added interaction-mode, token-quality, and timestamp-quality provenance to archive v5 and exposed those labels in TUI and desktop call details.
- Added official Cursor first-party model pricing and made model checks tool-aware, so Cursor models use Cursor rates instead of global fallbacks.
- Restored Codex Desktop ingestion for usage events whose credit balances are encoded as strings.
- Reprocessed Codex sessions that had been marked as imported even though the incompatible usage event produced no calls.
Cursor reconstruction
Cursor data now joins the locally available state, request, chat, transcript, and tracking records into a single call per user turn. Stable, path-independent keys prevent the same interaction from appearing more than once, while targeted supersession removes only legacy rows that the new canonical call can prove it replaces. Historical rows whose source data is missing or cannot be reconstructed remain intact.
Each call records whether its tokens are exact, estimated, or mixed; whether its timestamp is exact, session-level, or file-level; and whether the interaction was Agent, Chat, Plan, or unknown. Current store.db sessions are included even though their message clock is session-level. Coach timing and activity rules use only exact timestamps, while canonical model identities and tool-scoped pricing keep model-diversity and premium-model findings consistent.
Codex Desktop recovery
Recent Codex Desktop builds may serialize rate_limits.credits.balance as a numeric string. The parser now accepts that schema and still emits the usage totals associated with the event. The source fingerprint was advanced so sessions previously fingerprinted after yielding zero calls are parsed again and backfilled into the archive.
Upgrade notes
The local archive schema moves to version 5 on first open. The migration adds interaction mode and token/timestamp provenance, treats existing timestamped rows as exact, and clears source fingerprints once so history still present on disk can be reparsed with the stronger metadata. The ingest cache is also refreshed for the new per-call fields.
Older tokenuse binaries refuse to open a version 5 archive. To downgrade after opening 1.1.1, back up and delete archive.db, then let the older version rebuild it from source history still present on disk.
Notes
- Local usage analysis remains local. Cursor and Codex ingestion reads local files; network use stays limited to confirmed Config-page downloads, opt-in quota sync, Windows/Linux update checks, and maintainer refresh or release paths.
- The release tag should be
v1.1.1and must match the root Cargo package, desktop Cargo package, desktoppackage.json, and Tauri config versions.
Full Changelog: https://github.com/russmckendrick/tokenuse/compare/v1.1.0...v1.1.1
Full Changelog: https://github.com/russmckendrick/tokenuse/compare/v1.1.0...v1.1.1