Skip to content

One layout here too: the release tree is the tree - #8

Merged
aledbf merged 1 commit into
mainfrom
chore/one-layout
Sep 8, 2026
Merged

One layout here too: the release tree is the tree#8
aledbf merged 1 commit into
mainfrom
chore/one-layout

Conversation

@aledbf

@aledbf aledbf commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

hack/spin-machine rearranged what it fetched — the kernel to _output/guest/vmlinux, the firmware under _output/share/spin-stack/qemu/ — so the same files had one shape in the release and another here, with a translation between the two that every reader had to know about: six demo scripts, demo-lib.sh, two Taskfiles and the fetch script itself.

spinbox stopped doing this and spin-machine's builds now write the release tree directly, so this is the last translation step. It is what makes the claim in machine.Open's doc — one layout, everywhere — true rather than aspirational.

What this repository builds for itself keeps its own directory: guest/ is the initramfs. The split reads off a listing now — bin/, kernel/ and qemu/ came from a release, guest/ was built here.

from_sibling collapses with it: a sibling's _output and an unpacked release are the same shape, so it is the same copy the release path makes. It used to stage the files into a third layout first, because they were not.

Verified

Fetched both ways (from the release with no sibling in reach, and from a sibling checkout), guest:verify, all six demos against real QEMU, then task ci.

🤖 Generated with Claude Code

https://claude.ai/code/session_019GHRRFvbnZi5q3KSTvyW5a

hack/spin-machine rearranged what it fetched — the kernel to _output/guest/, the
firmware under _output/share/spin-stack/ — so the same files had one shape in the
release and another here, with a translation between the two that every reader
had to know about: six demo scripts, demo-lib.sh, two Taskfiles and the fetch
script itself.

spinbox stopped doing this and spin-machine's builds now write the release tree
directly, which is what makes the claim in machine.Open's doc — one layout,
everywhere — true rather than aspirational. This is the last translation step.

What this repository builds for itself keeps its own directory: guest/ is the
initramfs, and the split reads off a listing now. bin/, kernel/ and qemu/ came
from a release; guest/ was built here.

from_sibling collapses with it. A sibling's _output and an unpacked release are
the same shape, so it is the same copy the release path makes; it used to stage
the files into a third layout first, because they were not.

Verified: fetched from the release and from a sibling checkout, guest:verify, and
all six demos against real QEMU, then task ci.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
Claude-Session: https://claude.ai/code/session_019GHRRFvbnZi5q3KSTvyW5a
@aledbf
aledbf merged commit d19ca7d into main Sep 8, 2026
2 checks passed
@aledbf
aledbf deleted the chore/one-layout branch September 8, 2026 10:53
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