Skip to content

feat(providers): multi-account vault, usage protocol, and per-process account selection - #31

Merged
ImPedro29 merged 15 commits into
verbeux-ai:mainfrom
graseeel:feat/provider-accounts-usage
Aug 11, 2026
Merged

ImPedro29 merged 15 commits into
verbeux-ai:mainfrom
graseeel:feat/provider-accounts-usage

Conversation

@graseeel

Copy link
Copy Markdown

Summary

This PR adds multi-account provider support to the CLI:

  • Encrypted multi-account vault — versioned, per-provider account storage with account-keyed refresh registries; existing scalar credentials migrate into the vault on first use.
  • Versioned protocolprovider_accounts_v1 and provider_usage_v1 capabilities expose only sanitized account summaries, plan labels, connection state, usage percentages, and reset timestamps. No tokens, emails, or raw provider bodies leave the secure-storage boundary.
  • --provider-account — process-scoped opaque account selection for spawned turns; no mutable global default.
  • models subcommand — per-account model validation against the provider catalog.
  • Fail-closed secure storage — classified reads across all native adapters (Keychain, libsecret, Windows DPAPI) with a cross-process mutation lock; unknown vault schemas are rejected instead of reinterpreted.
  • Release smoke — the packaging pipeline exercises provider-accounts capabilities on every signed target.

Version

No version bump in this PR. The maintainer publishes the signed release after review.

Reviewer notes

  • Fixture-only validation: the Codex Pro/Spark and Claude Pro usage-window parsers were validated against fixtures only — release notes must not claim live verification.
  • Pre-existing test failures: the upstream base already carries 124 environment-dependent test failures, identical on base 639cc18 and this HEAD — not attributable to this feature.

@graseeel
graseeel marked this pull request as draft August 10, 2026 11:06
Accepts the real source schema (percent + scope.model.display_name), derives a stable id, synthesizes a weekly window for weekly_scoped; fixture replaced by a real capture; includes an anti-fabrication guard.
@graseeel
graseeel marked this pull request as ready for review August 11, 2026 02:29

@ImPedro29 ImPedro29 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

lgtm

@ImPedro29
ImPedro29 merged commit 898421c into verbeux-ai:main Aug 11, 2026
12 checks passed
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.

2 participants