Skip to content

Mark local Cursor dollars in overview as estimates, not the bill - #1615

Open
ozymandiashh wants to merge 1 commit into
getagentseal:mainfrom
ozymandiashh:fix/1545-cursor-estimate-disclosure
Open

ozymandiashh wants to merge 1 commit into
getagentseal:mainfrom
ozymandiashh:fix/1545-cursor-estimate-disclosure

Conversation

@ozymandiashh

Copy link
Copy Markdown
Collaborator

Summary

Addresses the or be visibly marked half of #1545.

Local Cursor rows are priced from IDE composer bubbles, which never see the context Cursor re-sends on every request — on the account that reported the issue the local figure was about 2% of the dashboard charge — yet overview printed it like any exact total. The import from #1558 answers this for the time an export covers; outside coverage nothing said the number was not the bill.

renderOverview now walks the same assistant calls it already sums and, whenever the period still holds local cursor/cursor-agent dollars that no import covers, prints one dim line under the bottom line, in the style of the existing carried/unattributed notes:

  includes $3.14 of Cursor priced from local files, not Cursor's bill — codeburn import cursor <file.csv> replaces it with the dashboard's own totals
  • Covered local calls are already dropped at serve time (feat(cursor): import Cursor's usage CSV to replace local estimates #1558), so any non-imported Cursor call that survives the walk is an uncovered estimate; imported events carry the cursor-import: dedup key and never trigger the line.
  • Works for every overview period, custom --from/--to ranges, and --provider/--project filters, since the detection lives in the renderer.
  • Exports CURSOR_IMPORT_KEY_PREFIX from cursor-import.ts instead of duplicating the literal.
  • Docs (docs/providers/cursor.md) and the Unreleased CHANGELOG entry updated.

Deliberately out of scope (happy to follow up if wanted): the today/month TUI dashboard and the menubar chip render from other paths; this PR covers the overview report surface, which the issue's CLI repro used.

Testing

  • 3 new cases in tests/overview.test.ts: the line appears for local Cursor and Cursor Agent rows with the summed amount, stays silent for imported (cursor-import:-keyed) rows, and silent for non-Cursor providers.
  • npx vitest run tests — full suite passes (4771 passed, 5 skipped).

Local Cursor rows are priced from IDE composer bubbles, which never see
the context Cursor re-sends on every request, so the figure can sit far
below the dashboard bill (about 2% on the account that reported getagentseal#1545),
yet overview printed it like any exact total. The import from getagentseal#1558
answers this for the time an export covers; outside it nothing said the
number was not the bill.

overview now prints one dim line under the bottom line whenever the
period still holds local cursor/cursor-agent dollars that no import
covers — covered local calls are already dropped at serve time, so any
non-imported Cursor call that survives the walk is an uncovered
estimate. The line names the amount and points at
codeburn import cursor <file.csv>.
@ozymandiashh
ozymandiashh requested a review from iamtoruk as a code owner October 3, 2026 23:07
@ozymandiashh ozymandiashh added bug Something isn't working area: cli The codeburn CLI and its core parsing/reporting engine area: docs README and docs/ content provider: cursor Cursor editor provider (dashboard usage and billing) provider: cursor-agent Cursor Agent provider labels Oct 4, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: cli The codeburn CLI and its core parsing/reporting engine area: docs README and docs/ content bug Something isn't working provider: cursor Cursor editor provider (dashboard usage and billing) provider: cursor-agent Cursor Agent provider

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant