Runners send the manifests of images they hold, so the swarm moves an image nobody pushed issue #94 closed: completed andymccall opened this · 1 comment
andymccall set labels feature ·
referenced by 3 changes on 27 Oct 2026
andymccall
Done in OxygenFlow 0.5.0 with oxygenhub#342 (OxygenHub 0.9.8): runners offer the manifests of images they hold, the hub keeps them as peer-held, and placement and the swarm use them. Earth offered 15 manifests on its first pass.
andymccall closed ·
Runners send the hub the manifests of images they hold, so the swarm moves an image no one pushed. Design: docs/jetstream.md §8.1.1.
Why: on 2026-10-25 the Rust image was re-pinned and not pushed with
flow rootfs push. For a day every Rust job in oxygen, oxygenhub and oxygenflow queued on earth-1, the one runner that held it, while plex-1 and mars-1 sat idle. Once the image was pushed, plex fetched it entirely from Earth through the swarm. The swarm could have carried it all along: only the manifest had to be on the hub.Runner side (this issue):
send_manifests). The runner sends each withPUT /flow/images/{hash}/held: the manifest alone, from its home's manifests/.seedsays whether the hub holds the chunks. When it doesn't, no hub workers run, and the fetch fails plainly when no peer is left.Hub side: oxygenhub#342.