#33330 [Bug]: virtual-key soft budgets use stale spend and ignore a zero threshold
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate
### What happened?
The virtual-key soft-budget check has two independent boundary/data-source defects on current `litellm_internal_staging` at commit `65ca095d4d15a82372e53a547a2390a69f7e1797`
[`_virtual_key_soft_budget_check`](https://github.com/BerriAI/litellm/blob/65ca095d4d15a82372e53a547a2390a69f7e1797/litellm/proxy/auth/auth_checks.py#L3599-L3628) uses:
```python if valid_token.soft_budget and valid_token.spend >= valid_token.soft_budget: ```
First, `soft_budget=0` is treated as unset because zero is falsy
The key and budget management validation accepts every non-negative finite soft budget, including zero, so zero is a valid threshold but can never alert on this path
Second, the comparison uses `valid_token.spend`, which is the spend value carried by the cached key object
The hard virtual-key budget check has moved to the Redis-first current-spend counter, but the soft-budget check does not read that counter. In a multi-replica deployment or during cache/DB lag, the soft alert can therefore remain below threshold after shared current spend has crosse…