feat: add Burn Down widgets (single window + 5h & 7d combined)#1255
feat: add Burn Down widgets (single window + 5h & 7d combined)#1255jamesjlopez wants to merge 1 commit into
Conversation
|
Codex review: needs maintainer review before merge. Reviewed May 31, 2026, 7:15 PM ET / 23:15 UTC. Summary Reproducibility: not applicable. this is a feature PR, not a reported bug. The PR body screenshots are visible-behavior proof for the new widgets, and I did not run the macOS widget bundle in this read-only review. Review metrics: 3 noteworthy metrics.
Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Mantis proof suggestion Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Land the Burn Down widgets after maintainer feature sign-off and upgrade proof that existing provider widgets keep their configuration while the new widgets render only the selected provider's snapshot. Do we have a high-confidence way to reproduce the issue? Not applicable: this is a feature PR, not a reported bug. The PR body screenshots are visible-behavior proof for the new widgets, and I did not run the macOS widget bundle in this read-only review. Is this the best way to solve the issue? Unclear: the implementation fits the existing widget structure and now respects provider siloing, but VISION.md places new features and data-storage behavior behind maintainer sign-off. The remaining question is upgrade safety, not a narrow code defect. AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against 460975a5ceff. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat I checked:
Likely related people:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. How this review workflow works
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 33db1ec91e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
33db1ec to
51c50c5
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 51c50c5286
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
51c50c5 to
f43a830
Compare
Two new medium widgets that plot a provider's remaining budget against the ideal steady-burn rate line. **Burn Down (single window)** Selectable between the 5-hour session window and the 7-day weekly window via the widget's Edit configuration. Shows % remaining, pace indicator (conserving / over pace / on pace), a mini burn chart with ideal-pace dashed line and projection, and a reset countdown. **Burn Down (5h + 7d)** Stacks both windows in a single medium tile so you see session and weekly pace side-by-side without needing two separate widgets. **Edge cases handled** - Weekly-exhausted clamp: when the 7-day budget is spent, the 5-hour row reads 0% remaining with a blank chart and its "Resets in" timer retargets to the weekly reset. - Gemini early-reset: the 5H row shows the sooner 7D reset time when the weekly cap resets before the session window. - Provider mismatch: if the configured provider has no snapshot data, the widget shows "Open CodexBar" instead of silently falling back to another provider's numbers. - Fresh-window suppression: run-out projection is hidden for the first few minutes of a new window to avoid a false alarm from a single early sample. **Infrastructure** - `BurnWindowChoice` AppEnum + `window` parameter added to the shared `ProviderSelectionIntent` so the picker doesn't orphan placed tiles. - `displayPrimary` / `zeroedRemaining()` helpers on `WidgetSnapshot.ProviderEntry` and `RateWindow` for the weekly-exhausted clamp. - Improved `WidgetSnapshotStore.load()` with multi-path candidate search and structured error logging. - `scheduleWidgetReload()` coalesces burst reload calls from a single refresh cycle into one trailing `reloadAllTimelines()`. - Improved `AppGroupSupport` sandbox URL lookup for local ad-hoc builds. - SwiftUI render tests write PNG artifacts to `/tmp` for visual review across providers, themes (dark/light/monochrome), and edge cases. - `docs/widget-pitfalls.md` documents non-obvious WidgetKit pitfalls discovered during implementation. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
f43a830 to
8c9034c
Compare
|
@openclaw-mantis visual task: verify the Burn Down widgets render selected-provider data and that weekly-exhausted 5H rows show 0% with weekly reset and no 5H chart. |
|
@codexreview |
|
To use Codex here, create a Codex account and connect to github. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8c9034cf09
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Two new medium widgets that plot a provider's remaining budget against the ideal steady-burn rate line.
Burn Down (single window)

Selectable between the 5-hour session window and the 7-day weekly window via the widget's Edit configuration. Shows % remaining, pace indicator (conserving / over pace / on pace), a mini burn chart with ideal-pace dashed line and projection, and a reset countdown.
Burn Down (5h + 7d)

Stacks both windows in a single medium tile so you see session and weekly pace side-by-side without needing two separate widgets.
Edge cases handled
Infrastructure
BurnWindowChoiceAppEnum +windowparameter added to the sharedProviderSelectionIntentso the picker doesn't orphan placed tiles.displayPrimary/zeroedRemaining()helpers onWidgetSnapshot.ProviderEntryandRateWindowfor the weekly-exhausted clamp.WidgetSnapshotStore.load()with multi-path candidate search and structured error logging.scheduleWidgetReload()coalesces burst reload calls from a single refresh cycle into one trailingreloadAllTimelines().AppGroupSupportsandbox URL lookup for local ad-hoc builds./tmpfor visual review across providers, themes (dark/light/monochrome), and edge cases.