Skip to content

spec: persistent weekly USD spend status bar (#9965)#10224

Open
lonexreb wants to merge 1 commit intowarpdotdev:masterfrom
lonexreb:spec/9965-spend-status-bar
Open

spec: persistent weekly USD spend status bar (#9965)#10224
lonexreb wants to merge 1 commit intowarpdotdev:masterfrom
lonexreb:spec/9965-spend-status-bar

Conversation

@lonexreb
Copy link
Copy Markdown
Contributor

@lonexreb lonexreb commented May 6, 2026

Spec for #9965. Opt-in (agents.show_weekly_spend_status, default false) status-bar indicator showing rolling 7-day Agent spend. Click opens Settings → Billing. Hidden when billing data is unavailable (avoids misleading $0.00).

Closes (spec-only) #9965.

@cla-bot cla-bot Bot added the cla-signed label May 6, 2026
@github-actions github-actions Bot added the external-contributor Indicates that a PR has been opened by someone outside the Warp team. label May 6, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 6, 2026

@lonexreb

I'm starting a first review of this spec-only pull request.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This spec proposes an opt-in status-bar indicator for rolling 7-day Agent spend, with click-through to Billing & Usage and no new telemetry. The direction is clear, but several behavior contracts are underspecified enough that implementations could show the wrong spend window or account context.

Concerns

  • Define which billing scope the indicator represents for users with personal and team/workspace billing contexts.
  • Align the user-facing label with the rolling-7-day requirement instead of using wording that implies a calendar week.
  • Specify the source-of-truth and stale/error behavior needed to satisfy the ≤2s post-turn update requirement.
  • Expand tests to cover the hidden-unavailable state, refresh timing, and tooltip totals.

Verdict

Found: 0 critical, 3 important, 1 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Comment thread specs/GH9965/SPEC.md
## Goal

Add an opt-in persistent indicator at the bottom-right of the Warp
window showing the user's running 7-day rolling USD spend on Agent
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] Define whose spend is shown (personal, current team/workspace, or aggregate) and what happens when the active billing context changes; otherwise the implementation can surface the wrong budget.

Comment thread specs/GH9965/SPEC.md
- B1. New setting
`agents.show_weekly_spend_status: bool` (default `false`,
`SyncToCloud::Globally(RespectUserSyncSetting::Yes)`).
- B2. When ON, a status-bar item shows "$XX.XX this week" in the
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] this week conflicts with the rolling-7d requirement and reads as calendar-week spend; choose one wording/window so the label, tooltip, and acceptance criteria cannot diverge.

Comment thread specs/GH9965/SPEC.md
same status-bar slot used by other agent indicators (verify slot
by grepping the existing status-bar render path).
- B3. The indicator updates on every agent turn finish AND on a
60-second timer (cheap; the spend value comes from the same
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] same billing model that already polls is not precise enough for the ≤2s update contract; identify the model/API, whether the value is server-confirmed or locally estimated after turn finish, and how stale/error states are handled.

Comment thread specs/GH9965/SPEC.md
the existing `setting_changed` event with the boolean value.
- The indicator is read-only — it cannot send the value anywhere.

## Test plan
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 [SUGGESTION] Extend the test plan to cover billing-unavailable hiding, the ≤2s post-turn refresh, and the tooltip's rolling-7d/month totals; those are explicit acceptance criteria but currently untested.

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

Labels

cla-signed external-contributor Indicates that a PR has been opened by someone outside the Warp team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant