fix(server): one vault unlock covers every provider that reads from it - #29
Conversation
Signed-off-by: Yordis Prieto <[email protected]>
PR SummaryMedium Risk Overview This adds a best-effort If the batch fails, the cache stays cold and Reviewed by Cursor Bugbot for commit 0ced035. Bugbot is set up for automated code reviews on this repo. Configure here. |
|
Warning Review limit reached
Next review available in: 22 minutes Limit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. How can I continue?Wait for the limit to reset, then comment An organization admin can change what happens after included review limits in Billing. How do review limits work?CodeRabbit enforces per-developer PR review limits within each organization. For paid Pro and Pro+ reviews, CodeRabbit uses a developer's included PR review attempts over the past 7 days to set the current hourly allowance. At typical activity levels, the full plan allowance applies. Higher sustained activity can lower the allowance until earlier attempts leave the 7-day window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (15)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1e83833. Configure here.
The settings stream carries later writes only, so the initial fleet was built without priming and every instance read its own reference. Boot is the run where nothing is cached yet, which made it the most expensive path rather than the one the change was aimed at. Signed-off-by: Yordis Prieto <[email protected]>

Approving a 1Password read is charged per CLI invocation, not per secret, and every provider instance resolved its own environment independently. A machine running several reference-backed providers therefore paid one biometric prompt per provider, at every server start and every provider refresh. The cost scaled with how many providers someone runs, which is backwards for a feature meant to make credentials less tedious.
The two places that fan out across instances are the settings watcher and the refresh path, so both resolve the whole set of references up front. Everything downstream reads what is already in memory.
Priming is deliberately best effort. 1Password resolves a template as a whole or fails it, so a single unreadable reference would take an entire batch down with it. A batch that does not come back leaves the cache untouched and the existing one-at-a-time path runs unchanged, which is where per-variable failure isolation lives and how someone still learns which reference is the broken one.