Skip to content

2026-09-08 vxData Diffsim metadata fields PR

Added first-class simulator version and diffusion timing fields across vxData schemas, SDK, API, and database migration.

Work Done

  • Implemented mono issue #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.

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.
Navigation

Type to search…

↑↓ navigate↵ selectEsc close