Account Pool: model-family-aware routing and guarded account_uuid rewrite - #3053
Open
SawyerHood wants to merge 1 commit into
Open
Account Pool: model-family-aware routing and guarded account_uuid rewrite#3053SawyerHood wants to merge 1 commit into
SawyerHood wants to merge 1 commit into
Conversation
This was referenced Sep 4, 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.
Standalone follow-up to the Account Pool stack (#3035, #3036, #3042, #3049); based on main.
Human comments
What was wrong
Account Pool selected accounts using only shared 5-hour and 7-day quota observations, even though Anthropic applies separate weekly limits to model families such as Fable. Scoped
7d_<bucket>headers were recorded as opaque diagnostics and never governed selection, the OAuth usage endpoint was not polled, and Claude Code request metadata could retain an account UUID belonging to a different OAuth account after routing. Part of #1552.What changed
user_*_account_<uuid>_session_*metadata forms. Unrecognized, absent, non-JSON, or UUID-less requests remain byte-identical.bb pool account listand updated the CLI skill, plugin guide, and configuration docs.How you verified
pnpm exec turbo run typecheck test --filter=bb-plugin-account-pool --continue --force— 6 tasks passed; 4 test files and 35 tests passed. The new routing, scoped-429, refresh, migration, and UUID tests fail against the prior implementation and pass with this change.pnpm exec turbo run typecheck test --filter=@bb/templates --continue --force— 7 tasks passed; 7 test files and 43 tests passed.pnpm exec turbo run typecheck --filter=@bb/server --continue— 5 tasks passed.pnpm --silent bb plugin build plugins/account-pool— server and app bundles built successfully.git diff --check origin/main...HEAD— passed after rebasing onto currentorigin/main.switchThreshold=0.70: Account A had shared 7d at 43% but Fable at 80%; Account B had Fable at 7%. A realclaude-fable-5-1turn completed through Account B, then a realclaude-sonnet-5turn completed through Account A, proving family-only exhaustion does not disable the account globally. A redacted shape probe on a further real turn foundmetadata.user_idpresent without a recognized account UUID component, so the production path correctly preserved it byte-for-byte. The probe was removed, both imported test accounts were removed from the isolated store, and the dev app was stopped. Evidence is attached to BB-94.Part of #1552