chore(hub): re-bake python-numpy as a portable pack (rootfs sidecar)#248
Merged
Conversation
…#242 follow-up The hub-python-numpy-v1 release now carries a portable pack: re-baked with a current forkd so snapshot.json records the rootfs, re-packed (emits the content-addressed sidecar), and both assets uploaded to the release: - python-numpy.forkd-snapshot.tar.zst (15.5 MiB, new sha) - f4ae4fc74992a9eb.rootfs.zst (48.3 MiB sidecar, zstd -19) registry.json's python-numpy latest+v1 sha256/size updated to the new pack. Pull derives the sidecar URL as the pack's sibling, so no registry schema change is needed. Verified end-to-end on a clean host (privileged container, no prior forkd state): `forkd pull` the release URL → pack downloaded → rootfs sidecar auto-fetched + placed at /var/cache/forkd/python-3-12-slim.ext4 → `forkd fork -n 2` → 2/2 children alive in 107 ms. Before #242 this pull-then-fork died with FC's "Block: backing file: No such file". Other hub assets (langgraph-react, coding-agent-fork, postgres-fixture, playwright-browser, nodejs, jupyter-kernel, e2b-codeinterpreter, coding-agent) still need the same re-bake + re-pack + dual-upload to become portable — tracked as remaining ops work. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
WaylandYang
added a commit
that referenced
this pull request
Jun 14, 2026
…ixture as portable packs (#249) #242 follow-up — 4 more hub assets made restorable off the packing host. Each re-baked with a current forkd (snapshot.json records the rootfs), re-packed (content-addressed rootfs sidecar), and both assets uploaded to their release: nodejs pack 10.4 MiB + sidecar 51.7 MiB langgraph-react pack 14.5 MiB + sidecar 42.5 MiB coding-agent pack 15.1 MiB + sidecar (gh/ruff/black/mypy/pytest) postgres-fixture pack 37.8 MiB + sidecar 116.2 MiB registry.json latest+v1 sha256/size updated for all four. Pull derives the sidecar URL as the pack's sibling — no schema change. Together with python-numpy (#248), 5 of 9 hub assets are now portable. Remaining: jupyter-kernel + playwright-browser (multi-GB base images), e2b-codeinterpreter (exotic base), coding-agent-fork (no build.sh — needs its workspace state reconstructed). Tracked as ongoing ops. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#242 follow-up (ops). Makes the first hub asset actually restorable off the packing host.
What changed
python:3.12-slim + numpywith a current forkd (snapshot.json now records the rootfs path).hub-python-numpy-v1release:python-numpy.forkd-snapshot.tar.zst(15.5 MiB, new sha0084e2eb…)f4ae4fc74992a9eb.rootfs.zst(48.3 MiB, zstd -19)python-numpylatest+v1sha256/size_bytesupdated. No schema change — pull derives the sidecar URL as the pack's sibling.Verified end-to-end (clean host)
Privileged container with zero prior forkd state:
Before #242, that pull-then-fork died with FC's
Block: backing file: No such file.Remaining ops work
The other 8 hub assets (langgraph-react, coding-agent-fork, postgres-fixture, playwright-browser, nodejs, jupyter-kernel, e2b-codeinterpreter, coding-agent) still need the same re-bake + re-pack + dual-upload. Heavier ones (playwright browser, postgres) need their recipe-specific warmup state reproduced.
Test plan
forkd pull deeplethe/python-numpy(registry path) on a clean host🤖 Generated with Claude Code