Like serve, but lets the embedder (e.g. the assay binary) pass
its own semver so /api/v1/version reflects the binary users are
actually running instead of the internal assay-workflow crate
version. Without this, the dashboard would show a misleading
“engine crate” version to operators.