Commit Graph

12 Commits

Author SHA1 Message Date
Levi Neuwirth fe8e417aa0 add Provenance subobject and LoadedModel
Captures the MeTRAbs SHA-256 and filename plus tensorflow /
tensorflow-metal / numpy / neuropose / python versions, and reserves
slots for seed, deterministic, and analysis_config. Populated
automatically by Estimator.process_video when the model was loaded via
load_model; propagates into JobResults and BenchmarkResult via the
existing output path. None on the injected-model test path where no
SHA is known.

_model.load_metrabs_model now returns a LoadedModel dataclass so the
estimator can bundle the TF handle with the pinned SHA without
re-hashing the tarball on every daemon startup. All test fakes and
the integration smoke tests updated to unwrap .model.

Bumps the optional schema_version field on VideoPredictions and
BenchmarkResult to default=CURRENT_VERSION so fresh writes stamp the
latest version; legacy payloads without it are migrated on load via
the chain registered in the previous commit.
2026-04-18 17:10:52 -04:00
Levi Neuwirth 9c549fd9e2 add neuropose.migrations for schema versioning
One shared CURRENT_VERSION across the three top-level serialised
payloads (VideoPredictions, JobResults, BenchmarkResult), with
per-schema registries populated via register_*_migration(from_version)
decorators. FutureSchemaError and MigrationNotFoundError surface bad
chains clearly. CURRENT_VERSION=2 with v1→v2 migrations registered
that add an optional provenance field to the payload dicts.

Tested standalone; io.py is wired through the migrator in a follow-up
commit that introduces the Provenance schema those migrations target.
2026-04-18 17:02:50 -04:00
Levi Neuwirth 01b9ed9475 pin tf to ensure compatability with tensorflow-metal 2026-04-16 15:26:55 -04:00
Levi Neuwirth 8e1c8833f5 tooling 2026-04-15 11:41:27 -04:00
Levi Neuwirth d29f4f1b78 benchmarking and profiling scaffold 2026-04-14 20:32:29 -04:00
Levi Neuwirth b9a5f0d54c update tests 2026-04-14 15:15:13 -04:00
Levi Neuwirth c4c9bffff8 linting and formatting 2026-04-14 13:50:11 -04:00
Levi Neuwirth 62d0b0789c pin tensorflow, comprehensiveness 2026-04-14 09:39:12 -04:00
Levi Neuwirth 507ff2906a cli 2026-04-13 16:36:10 -04:00
Levi Neuwirth 27464f681a interfacer 2026-04-13 16:01:46 -04:00
Levi Neuwirth 9bbbbd0d52 estimator 2026-04-13 12:40:50 -04:00
Levi Neuwirth 3d2b2fc68d i/o scaffold 2026-04-13 12:16:53 -04:00