Replace all .read().unwrap() and .write().unwrap() calls in VaultServiceHandle methods with .unwrap_or_else(|e| e.into_inner()) so a panic while holding the lock does not brick the vault for all subsequent operations. Add unit test that poisons the lock and verifies the next call recovers.