Skip to content

feat(cli): add artifact version and chunk digests to the handoff wire contract - #9

Merged
factory-ain3sh merged 2 commits into
mainfrom
pack-contract
Jul 29, 2026
Merged

feat(cli): add artifact version and chunk digests to the handoff wire contract#9
factory-ain3sh merged 2 commits into
mainfrom
pack-contract

Conversation

@factory-ain3sh

Copy link
Copy Markdown
Collaborator

What

Version negotiation and content addressing for pack artifacts, the seam the droid transfer protocol consumes:

  • vfs version --json gains artifactVersion, minSupportedArtifactVersion, and features.adopt.
  • vfs pack --json gains artifactVersion, chunkSizeBytes, and chunks: [{index, sizeBytes, sha256}], computed at --chunk-size granularity (default 4 MiB).
  • adopt refuses artifacts newer than it supports with a distinct error, so a receiver behind on vfs fails the preflight instead of corrupting state.

Why

The transfer protocol (factory-mono AC-768 stack) is content-addressed and resumable: per-chunk digests let the receiver verify chunks independently, ingest them out of order, and resume across daemon restarts. The version fields let sender and receiver negotiate before any bytes move.

Testing

fmt / clippy / unit tests green. Full gate.sh on this tip: 24 PASS / 0 FAIL / 1 host-kernel skip (FUSE-over-io_uring).

Stacked on the adopt PR; merge that first.

Base automatically changed from adopt-verb to main July 28, 2026 23:54
@factory-ain3sh
factory-ain3sh merged commit 7c0ad92 into main Jul 29, 2026
10 checks passed
@factory-ain3sh
factory-ain3sh deleted the pack-contract branch July 29, 2026 00:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant