renest 0.1.15

Concepts

Five ideas, and that's the whole model.

A nest is one working setup packed with everything its run depended on; a manifest lists every file in it with a sha256 checksum; a restore reinstalls that setup on another machine rather than copying a disk; and a hand-off gives a nest to another account without a public link or a storage key.

A nest is one working setup, packed

A nest is one working setup, packed. Not a folder of files — a folder of files tells you what you had, it doesn't tell you whether it ever ran. A nest holds everything the run depended on: model weights and adapters, every custom node's source archived in full and pinned to the commit it was at, the dependency lock, and the workflow or training config that produced the result.

Renest only packs setups that already worked. It doesn't diagnose an unfamiliar setup, and it doesn't judge whether two nodes are compatible. It reproduces what ran; it doesn't try to get strangers running.

The manifest is the whole state of a nest

The manifest is one JSON file listing every part of the nest with the sha256 checksum of its bytes, where it can be fetched from, and how to put it back. It's the whole state — there is no hidden database on our side that you'd need in order to restore. Its shape is written down in the format spec, and it carries a version number that has to go up whenever the shape changes.

Every file is named after its own bytes

Files are stored under the checksum of their contents — blobs/sha256/<first two characters>/<checksum> — not under the name someone gave them. Two consequences, and both are the point:

  • The same bytes are never stored or sent twice. The base model you and a thousand other people use is one object, not a thousand copies.
  • A restore can check what came back instead of assuming it. Each file is checked against its recorded checksum on the way back, and a file that doesn't match is fetched again or reported, never kept silently.

The checksum is sha256, and it stays sha256 — the same one Hugging Face and Civitai use, so a file you already have is recognisably the same file.

A restore reinstalls the setup; it doesn't copy a machine

A restore is not a disk image. Python packages are reinstalled from the lock, custom nodes are unpacked from the source archives that travel inside the nest (nothing is cloned from their repositories), and weights are fetched by checksum. That is why a nest packed on one card can be restored on a different card, in a different datacentre, on a different cloud — and why the pre-flight check can tell you in advance when it can't (a setup built for one GPU generation genuinely will not run on hardware it was never compiled for; you get told before the download, not after).

What comes back is the files and dependencies, checked. Whether the app then produces output on that machine is what the restore's final step shows you, by running the packed workflow once — see Three gates, not an exit code.

A hand-off gives a nest to another account, never through a public link

A hand-off gives someone else a nest without either of you exchanging storage keys. You issue a code; they redeem it; the nest lands in their library. The code can be revoked and it's tied to an account on both ends. Issuing hand-off codes depends on your plan, and so does the number of claims one code allows — there is no unlimited option. A code stops when the claims run out, when it expires, or when you revoke it. How hand-offs work covers the details.

Files whose licence doesn't allow it don't travel. A model that came with restrictions is not copied to the person you hand off to — they get its address and its checksum, and fetch it themselves under their own terms. Your own material (a LoRA you trained, your own images) goes across once you declare it with --mine when you pack; see Capture a run.

It is deliberately not a public link. There is no "copy public URL" anywhere in Renest — a nest can contain licensed weights, and a public mirror of those is someone else's redistribution problem becoming yours.

What a hand-off does not do: it doesn't vouch for what's inside. Restoring someone else's nest runs their custom nodes on your machine, so Renest tells you who sent it and makes you say you trust them — by name — before it runs any setup step from a stranger.

These docs describe renest 0.1.15, the latest release.

Open format

The docs describe a format you own.

Everything here is written against the open nest format. Every nest ships a plain restore.sh that brings back its files and dependencies with zero Renest code.