@@ -37,6 +37,30 @@ Fixes:
3737- Narrow the upload scope.
3838- Exclude generated directories and dependency folders.
3939
40+ ## Writable Paths
41+
42+ The sandbox root filesystem uses an overlay mount. The guest agent runs with
43+ ProtectSystem=strict, with explicit ReadWritePaths for user-writable directories.
44+
45+ Writable directories:
46+ - ` /work ` (primary workspace — default for uploads, clones, and exec cwd)
47+ - ` /root ` (root user home)
48+ - ` /tmp ` and ` /var/tmp ` (ephemeral scratch space)
49+ - ` /home ` (user home directories)
50+
51+ Use ` /work ` as the default destination for uploads and clones.
52+
53+ ## Image Availability
54+
55+ Only ` sandchest://ubuntu-22.04/base ` is currently available. Do not request
56+ node-22, bun, python-3.12, or go-1.22 images unless they have been explicitly
57+ provisioned on the target node.
58+
59+ Install toolchains manually in the base image:
60+ - Node.js: ` curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && apt-get install -y nodejs `
61+ - Bun: ` curl -fsSL https://bun.sh/install | bash `
62+ - Python 3.12: ` apt-get install -y python3.12 python3.12-venv `
63+
4064## Directory Upload Failed On Extraction
4165
4266Bulk upload is not transactional. Partial files may remain.
@@ -46,6 +70,29 @@ Fixes:
4670- Destroy the failed fork and retry from the checkpoint.
4771- Check whether the archive contains links or unsupported entry types.
4872
73+ ## Upload Dir Fails With Symlinks
74+
75+ The sandbox_upload_dir tool filters out directory symlinks and broken symlinks
76+ automatically for git repos. If you still get symlink errors:
77+
78+ Fixes:
79+ - Ensure the MCP server dist is rebuilt and the process is restarted.
80+ - Use the exclude parameter to skip problematic paths.
81+ - For public repos, prefer sandbox_git_clone over sandbox_upload_dir.
82+
83+ ## Sandbox Has No Network
84+
85+ If sandbox_git_clone or package install commands fail with network errors:
86+
87+ Possible causes:
88+ - NAT/iptables rules not applied on the host node.
89+ - Outbound interface mismatch (SANDCHEST_OUTBOUND_IFACE).
90+ - DNS resolution failure.
91+
92+ Workarounds:
93+ - Use sandbox_upload_dir to transfer code locally instead of cloning.
94+ - Upload pre-built dependencies via sandbox_upload.
95+
4996## Private Repo Clone Not Supported Yet
5097
5198Sandchest does not yet support safe server-side credential injection for clone helpers.
0 commit comments