Skip to content

feat: versioned objects and migrations for syft-client#9464

Draft
bitsofsteve wants to merge 12 commits into
devfrom
stephen/syft-client-migrations
Draft

feat: versioned objects and migrations for syft-client#9464
bitsofsteve wants to merge 12 commits into
devfrom
stephen/syft-client-migrations

Conversation

@bitsofsteve

Copy link
Copy Markdown
Member

Versioned objects for syft-client with migrations, plus peer protocol-schema exchange wired into JobStorage and DatasetStorage.

  • VersionInfo (SYFT_version.json): V1 + V2. V2 advertises slim protocol schemas for syft-client/syft-job/syft-dataset; first migrations (v1<->v2).
  • ProposedFileChangesMessage (msgv2) and FileChangeEventsMessage: envelopes are the migratable units; items stay unregistered so checkpoint/cache payloads are unchanged.
  • Protocol 0 = releases <= 0.1.117 (no identity fields); reads upgrade in memory via shims at the existing choke points. Old clients ignore the new keys (verified against the 0.1.117 models).
  • Release discipline: history artifacts for 0.1.117, export script with bump/frozen-once guards, blob fixtures + p2p compat tests.
  • PeerManager.live_peer_schemas(protocol) feeds live peer schemas into JobStorage/DatasetStorage: jobs negotiate per peer, datasets per audience. Also fixes peer_schemas or {} dropping the shared reference in both storages.

Out of scope: checkpoints, Peer/SYFT_peers.json, local caches, the semver handshake (unchanged).

One wave per commit; green at every commit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant