## What changed?
Fix bug that occurs when re-adding version metadata after removing all
keys
## Why?
Because otherwise, users could break their version workflow.
Luckily, this won't happen to users of the worker controller, because
there are certain metadata keys added to all versions managed by the
worker controller.
## How did you test it?
- [x] built
- [x] run locally and tested manually
- [ ] covered by existing tests
- [ ] added new unit test(s)
- [x] added new functional test(s)
## Potential risks
- None
---
> [!NOTE]
> Ensure version metadata can be re-added after removing all keys by
reinitializing maps and using nil-safe deletes, with new test coverage.
>
> - **Backend (worker deployment)**:
> - In `service/worker/workerdeployment/version_workflow.go`, initialize
`VersionState.Metadata` and `Metadata.Entries` when `UpsertEntries` is
provided, and use `Metadata.GetEntries()` for deletes to be nil-safe.
> - **Tests**:
> - Extend `TestUpdateVersionMetadata` to remove all entries then
re-upsert and validate; minor assertion update to `s.Len`.
>
> <sup>Written by [Cursor
Bugbot]() for commit
47680a720b17b5c50f6214d5cb82c86e3eb63739. This will update automatically
on new commits. Configure
[here]().</sup>