Commit Graph

5 Commits

Author SHA1 Message Date
Levi Neuwirth bcce5315be add neuropose reset subcommand for pipeline-wide state wipe
Three-layer module: find_neuropose_processes() scans the process
table via psutil for running watch/serve instances; terminate_processes()
SIGINTs with a configurable grace period before optional SIGKILL
escalation; wipe_state() clears $data_dir/in/, out/, failed/,
the .neuropose.lock file, and leftover .ingest_<uuid>/ staging dirs
while preserving the container directories themselves. reset_pipeline()
composes the three and refuses to wipe while any process survives
termination.

CLI wraps it with --yes/-y, --keep-failed, --force-kill,
--grace-seconds, and --dry-run/-n. Always prints a preview before
prompting; returns EXIT_USAGE=2 when survivors block the wipe.

Unblocks the Mac benchmark iteration loop where partially-complete
runs need to be cleared between experiments.
2026-04-18 17:15:24 -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 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 3720911dac deployment 2026-04-13 18:08:05 -04:00