Skip to content

feat: add weekly on-pace usage budgets#87

Merged
Finesssee merged 2 commits into
Finesssee:mainfrom
simon-ami:feat/weekly-pace-budget
Jun 15, 2026
Merged

feat: add weekly on-pace usage budgets#87
Finesssee merged 2 commits into
Finesssee:mainfrom
simon-ami:feat/weekly-pace-budget

Conversation

@simon-ami

Copy link
Copy Markdown

Summary

  • Show weekly usage budgets for now, one hour, five hours, and today.
  • Add an expandable weekly pace chart with ideal, average, and projected usage.
  • Keep session windows unchanged.
  • Preserve the reserve fallback when timing data is incomplete.

Closes #86

Testing

  • Frontend tests passed: 89 tests.
  • Production frontend build passed.
  • Manually tested using the portable Windows executable.

Preview

Default:
image

Expanded:
image

@simon-ami

Copy link
Copy Markdown
Author

The job was not started because your account is locked due to a billing issue.

@Finesssee

Copy link
Copy Markdown
Owner

Thermo-nuclear review found two changes needed before this is merge-ready:

  1. MenuCard.tsx currently fabricates reserve status with snap.reserveDescription ?? "Lasts until reset". That status is backend-owned and should only appear when the bridge/backend pace analysis provides it. Please omit the secondary status when reserveDescription is missing, or move this into a small view-model helper that preserves the backend contract.

  2. The fallback reserve row is now gated by the weekly-window check. That hides valid backend-provided reservePercent / reserveDescription whenever timing metadata is incomplete. Explicit reserve metadata should render independently of whether the frontend can compute the new budget pills. The fallback should be closer to:

snap.reservePercent != null && !paceBudget && !snap.isExhausted

Suggested cleanup: extract a small getMetricPaceView(snap) / PaceBudgetSection boundary that returns exactly one of: computed budget, explicit reserve row, or nothing. That keeps backend reserve semantics intact and removes the competing ad-hoc conditions from MetricRow.

@Finesssee Finesssee merged commit 39ddecd into Finesssee:main Jun 15, 2026
2 of 7 checks passed
@Finesssee

Copy link
Copy Markdown
Owner

Thanks for adding the weekly on-pace usage budgets and for preserving the backend pace metadata semantics after review — merged.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature request: make Codex pacing info more actionable

2 participants