fix: correct usage history, account routing, and quotas - #3867
Merged
Merged
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review blockedAutomated review did not run, so no review verdict was produced. Reason: The input-safety check rejected material in this revision. No detected value, path, or scanner output is reproduced here. ClawSweeper will not retry this unchanged revision. Next step: If this is a genuine credential, remove and rotate it. If it is an intentional test fixture, a maintainer must review and qualify it. |
(cherry picked from commit 0c4dda1)
(cherry picked from commit 695f380)
(cherry picked from commit 724a15e)
(cherry picked from commit b01d817)
(cherry picked from commit 9078eb3)
Use the platform SQLite module for native Priority trace evidence and retain compatible cached history. Keep extended-history JSON's last30Days fields scoped to the latest 30 local dates while preserving full-window totals. Adopts #3820 and #3824 with synthetic regression coverage on both platforms. Co-authored-by: 解犴 <784504882@qq.com> Co-authored-by: Till Striegel <till.striegel@gmail.com> (cherry picked from commit bd831c8)
(cherry picked from commit d602783)
(cherry picked from commit e6b1f93)
Discover local cswap session project directories alongside native Claude roots, canonicalize shared-history paths, and reuse one resolver for cost scanning and source detection. Preserve existing response deduplication and aggregate cost attribution. Cover two homes, copied rows, shared symlinks, missing profiles, and literal config overrides with synthetic fixtures. Fixes #2954. (cherry picked from commit 68c36df)
Route saved OpenCode Go API keys through the per-account API path and isolate them from provider-wide credentials. Preserve explicit source choices and existing Cookie accounts. Reuse shared credential and normalization helpers to reduce production code. Fixes #3841 (cherry picked from commit 2b1718d)
(cherry picked from commit 5b69047)
Respect supportsAccountSwitching=false in schema-v1 account lists while preserving usage, account details, and active markers. Keep the existing switching default when the field is absent and reject nonboolean values. Cover parsing, projection, and suppression of credential commands. Reuse quota parsing and remove single-use projection wrappers to keep the production diff at zero net lines. Adopts #3658. Co-authored-by: benedictfrancis <benedict@techniciti.eu> (cherry picked from commit 86c1bd0)
Treat an unusable ANTIGRAVITY_CLI_PATH as authoritative so background refreshes cannot discover and launch a different agy. Preserve other providers' lookup behavior and simplify the final optional fallback. Adopt the scoped override fix from #3689, with synthetic red-to-green regressions, documentation, and the 0.64.1 release note. Document current CLI-only quota behavior separately from desktop-free OAuth setup (#3146). Co-authored-by: hhh2210 <hzy2210@gmail.com> (cherry picked from commit b275fcd)
Preserve the latest account-scoped pool observation per hour, including replenishment and delayed captures, without inventing reset windows or five-hour pace forecasts. Keep recognized structured summaries on their existing peak-history path. Retain version-1 persistence and account adoption while consolidating duplicate history decoding, ordering, and empty-chart construction. Add regression coverage and synthetic before/after chart proof. Refs #3619 Co-authored-by: hhh2210 <hzy2210@gmail.com> (cherry picked from commit da627ae)
Reuse immutable snapshot projections with shared day/hour memos and background warming. Keep reset observations and current time live, and bound projection retention to the latest requested bucket timezone. Retain stamp-validated scan baselines in bounded scanner-owned stores, issue fresh save receipts, and preserve read/scan ownership boundaries. Consolidate checked arithmetic and stored-total conversion to offset the cache additions without changing incomplete-history or overflow handling. Fixes #3827 Fixes #3840 Adopts #3831 Co-authored-by: giuseppebisemi <giuseppe.bisemi@gmail.com> (cherry picked from commit 2a12254)
Share per-key in-flight validation results across synchronous preflights. Key the bounded memo by full trust identity and executable/bundle metadata, expire stable results, and leave transient failures retryable. Preserve live ACL inspection and existing no-UI secret reads. Cover serial/concurrent fan-out, update invalidation, expiry, transient failures, and capacity eviction through synthetic preflight fixtures. Fixes #3837 Closes #3838 Co-authored-by: luk <jinyuren886@gmail.com> (cherry picked from commit dfccffe)
Dismiss modal usage/status panels before sending another slash command on a reused account-scoped process. Preserve fresh-start behavior and serialize the transition through the existing capture gate. Add a synthetic PTY regression and a temporary working-directory injection, offset by removing redundant request locals and the output-draining wrapper. Refs #3821. Terminal replay and cursor-positioned identity parsing remain tracked by #3746 and #3822. (cherry picked from commit 2d50220)
(cherry picked from commit 6fc573b)
Track weekly personal credits, resets, and organization pool sharing with a bundled TypeScript provider on QuickJS and JavaScriptCore. Reuse standard credential projection and settings, with API-only source support. Closes #3842 Co-authored-by: Ryan Ernest <ryan@rivergroup.com> (cherry picked from commit a5121fb)
Adopt the logo renderer and SVG packaging from #3795 independently of #3794 and #3799. Share compact text segments with the existing summary so quota selection, display mode, ordering, and overflow stay unchanged. Preserve text fallback for missing logos and older IPC backends. Closes #3795 Refs #3794 Co-authored-by: jsonMartin <4033621+jsonMartin@users.noreply.github.com> (cherry picked from commit b6c59b6)
Reconcile the 78-provider website catalog, preserve Unreleased changelog sections and contributor thanks, and refresh five CLI cost architecture anchors after the reviewed lane picks. All provider, plugin, icon, and llms generators were rerun; their committed outputs are already current. Validation: swift build --jobs 4; make check; the requested serial filtered test run (3,005 Swift Testing tests and 82 XCTest cases with 10 opt-in proof skips); five plugin-host snapshot contract tests; 38 Omarchy model tests, six installer tests, and three package tests.
The integrated CLI fix correctly reports $5 in the thirty-day field for this ninety-day fixture, excluding the $7 entry from 45 days ago. Refresh the stale intermediate expectation and explicitly preserve the $12 full-history total. The final dashboard amount and exclusion assertions remain unchanged. Validation: 36 focused dashboard, CLI cost-window, and incomplete-usage tests passed; make check passed with zero violations; independent review scoped-clean through P2. Production code is unchanged from the integration head that passed the requested 3,005-test Swift Testing filter.
Use the existing credential classifier before switching saved account cookies to Manual. API account changes preserve Automatic imports and existing Manual choices; Cookie accounts retain their prior behavior. Add isolated account lifecycle and persisted-preference regressions. Validation: 24 assertions fail on the previous behavior; 227 focused account/provider tests pass with the fix. make check passes and independent review is scoped-clean through P2.
steipete
force-pushed
the
triage/20260921-train3
branch
from
September 22, 2026 17:52
d7d73c0 to
e8f82f6
Compare
This was referenced Sep 22, 2026
This was referenced Sep 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Correct repeated cost-history scans and projections, account credential selection, quota reset handling, and CLI cost windows. The batch also adds GitKraken API credit tracking and compact Omarchy provider logos, with provider metadata and documentation kept consistent.
The registry contains 78 providers. README, provider documentation, all 23 website locales, social HTML, website cards, and generated provider sources agree. New changelog bullets and contributor thanks are under 0.64.2 Unreleased, preserving the already-published 0.64.1 release notes.
Bifrost is deferred. This snapshot omitted its provider implementation after a source/limit aggregation concern. The provider PR has since advanced and needs a fresh review before adoption. The independently useful plugin-host support for unknown named-window usage and numeric detail progress is retained. The Bifrost provider PR remains open.
Lane verdicts
agyand shows “Launch Antigravity” after the desktop app is uninstalled #3146 remain open. Thanks @hhh2210.35bbc87f8d73); that follow-up is not included here. Fable doesn't show reliably. It's really unpredictable. No way to know if it'll show or not. #3746 and the remaining identity work in Claude CLI source: /status identity probe never runs because the reused session still has the /usage panel open (email/plan badge stay empty) #3821 await its integration and validation. Thanks @sczhui.The already-landed Linux work on main also resolves #3799 and #3839.
Claude replay remains separate. This PR includes only panel dismissal from #3854. The accepted replay rewrite at
35bbc87f8d73, based on #3822, is outside this snapshot; both PRs remain open, along with the unresolved replay/identity portions of #3746 and #3821.Integration and validation
Final candidate:
e8f82f6ada9d0bdc252b8ef2090584138154746b, rebased onto current main atf28ddcaf3483. Its Git tree (ba0ee9131eaff7c12f7eb0635e35ac07827d143c) is byte-identical to the fully reviewed and tested integration candidate; the rebase changed only commit history.make check: passed with zero violations in 2,570 Swift files, including generated-source, documentation, locale, installer, and packaging checks.make test: all 1,334 selections in 120 groups passed on the first run, with zero retries or timeouts, on the exact reviewed tree. The precedingc426db54c313tree also passed its complete local suite and hosted CI.The main-branch reconciliation changed only the shared changelog conflict; published 0.64.1 and earlier release notes are byte-identical. All tests use synthetic fixtures and repository test isolation with Keychain access suppressed. The two synthetic chart images are PR attachments rather than runtime assets.
An earlier integration CI failure came from a dashboard fixture expecting the old 90-day aggregate in the CLI's corrected 30-day field. The fixture now asserts the 30-day subtotal and separately preserves the full-history total; production behavior remains calendar-correct.
OpenCode Go account follow-up
Commit
c426db54c313fixes an unresolved account-settings regression: API-key account changes were switching the saved cookie source to Manual, which could disable browser imports after the final API account was removed. The provider now uses its existing credential classifier before changing cookie mode. API accounts preserve Automatic or an explicit Manual preference; Cookie accounts retain Manual behavior.Synthetic lifecycle tests failed with 24 assertions against the previous code and passed after the repair. The broader OpenCode Go/account run passed 227 tests,
make checkpassed with zero violations, and independent review of this follow-up was scoped-clean through P2. Fullmake testalso passed on this head: all 1,333 selections in 120 groups succeeded on the first pass, with zero retries or timeouts. This follow-up review does not claim to review the entire aggregate.The late Claude replay commit remains outside this snapshot, so #3854 and its original contributor PR #3822 are referenced rather than automatically closed.
Synthetic Antigravity chart proof
Before:
After:
These existing lane captures were inspected and contain synthetic chart data only. They prove the offscreen native chart, not a live-account menu workflow.
Closes #3845
Closes #3846
Closes #3847
Closes #3848
Closes #3849
Closes #3850
Closes #3851
Closes #3852
Closes #3853
Refs #3854
Closes #3855
Closes #3856
Closes #3857
Closes #3859
Fixes #3248
Fixes #3834
Fixes #3827
Closes #3840
Fixes #3837
Closes #3842
Closes #3799
Closes #3839
Closes #3795
Closes #3820
Closes #3824
Closes #3831
Refs #3838
Closes #3658
Closes #3689
Closes #3619
Fixes #2954
Fixes #3841
Closes #3289
Closes #3832
Closes #3350
Closes #3780
Refs #3822
Refs #2871
Refs #2681
Refs #3234
Refs #3662
Refs #3146
Refs #3746
Refs #3821
Refs #3794