---
title: "2026-09-08 vxData Diffsim metadata fields PR"
description: "Added first-class simulator version and diffusion timing fields across vxData schemas, SDK, API, and database migration."
image: "https://docs.virdx.dev/img/virdx-social-card.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.virdx.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026-09-08 vxData Diffsim metadata fields PR

## Work Done

- Implemented [mono issue #376](https://github.com/virdx/mono/issues/376) from a fresh branch off `main`.
- Added optional `diffsim_version` to `DiffsimScan` and optional second-based `delta_small` and `delta_big` floats to `DiffsimVolume`.
- Regenerated schema update models, updated API mock data, and bumped `vxdata-schemas`, `vxdata-sdk`, and `vxdata-api` minor versions.
- Autogenerated an Alembic revision that adds all three fields as nullable columns without manual edits.
- Refreshed four dependent Pixi lockfiles required by the repository pre-commit check.
- Validated formatting, lint, type checking, tests, builds, boundaries, Alembic drift, and schema field semantics.
- Opened [mono PR #378](https://github.com/virdx/mono/pull/378).

## Lessons Learned: Pitfalls

- The diffsim workstream currently has no `sops/index.md`; the begin-work instruction assumes every workstream has one. The workstream index correctly notes this, but agents must handle the missing path rather than stop.
- `apps/vxdata-api` limits Ruff to `src`, so its standard lint/format tasks do not inspect Alembic revisions. Generated migrations need explicit review.
- Pixi lock refreshes surfaced a pre-existing `vxdata-sdk` Python floor update in dependent lockfiles. Restoring these files after validation caused the pre-commit lock check to fail.

## Lessons Learned: Improvements

- Add a diffsim SOP that documents vxData registration field mappings: producer `delta` maps to `delta_small`, `big_delta` maps to `delta_big`, and both use seconds.
- Document that changes to shared Python path dependencies can require lock refreshes in every dependent Pixi project, even when the lock diff reflects metadata that changed earlier.
- Keep additive schema fields nullable unless their requiredness and legacy-data policy are explicit. This lets autogenerated migrations remain unchanged and avoids inventing sentinel values.

Source: https://docs.virdx.dev/knowledge/inbox/2026-09-08-diffsim-vxdata-metadata-fields-pr/index.mdx
