docs: design for Guix-container runtime in wraptool up #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "design-guix-container-runtime"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Design doc for a Guix-native
wraptool upbackend (design/guix-container-runtime.md). No code yet — proposal, spike-verified.Summary
Second container backend using
guix shell --containerinstead of thedevcontainerCLI. Guix-first, devcontainer fallback (auto= guix whenguixon PATH +manifest.scmpresent). No Docker daemon, no image build; the harness container is realized from acontainer.scm(node/bash/coreutils/nss-certs, no git — creds stay host-side).Key decisions (grounded in the spike)
guix shell --containernetwork is binary — isolated netns (no internet) or-N(shares host netns). So v1 must use-N.-Nthe harness reaches wraptool directly at127.0.0.1:8717/sse— the unix-socket+socat trick buys nothing, so v1 = plain SSE on loopback. (socat/unix retained for the deferred pasta strict-net mode.)$HOME/creds not mounted), not a network one. Weak net-iso under-Nis a documented residual, not a compromise of the goal.Contents
Runtime selection,
bringUpGuixContainer,writeMCPConfig(host-side, twinsconnect.sh),inContainermarker (WRAPTOOL_CONTAINER), the harnesscontainer.scm, risks, effort, 4-phase plan, tests, and a verified spike appendix (isolated vs-Ninternet, host-loopback connect probe REFUSED/CONNECTED, unix-SSE handshake). Open gate: Node/Claude Code under Guix may need-F(FHS).🤖 Generated with Claude Code
wraptool up