- Replace --bind ~/.claudebox + --symlink with direct --bind ~/.claude ~/.claude - Add compute_canonical_root() function using git rev-parse --git-common-dir - Add per-project INSTANCE_DIR via sha256sum[:16] of canonical git root - Overlay projects/ with per-project hash dir for isolated conversation history - Overlay history.jsonl and SANDBOX.md as file-level bind mounts - Update credential mount target from ~/.claudebox to ~/.claude - Add CLAUDE_JSON_FILE (~/.claude.json) detection and conditional bind mount - Remove stale CLAUDE.md injection logic (D-06: user's real CLAUDE.md used) - Update dry-run block and print_audit to reflect new mount layout - Update SANDBOX.md heredoc to remove ~/.claudebox reference
3.5 KiB
3.5 KiB
| phase | plan | subsystem | tags | requires | provides | affects | tech-stack | key-files | key-decisions | patterns-established | requirements-completed | duration | completed | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 01-minimal-viable-sandbox | 01 | infra |
|
|
|
|
|
|
|
|
1min | 2026-04-09 |
Phase 1 Plan 01: Nix Flake and Sandbox Script Summary
Nix flake with writeShellApplication producing claudebox wrapper that runs Claude Code inside bwrap with clearenv, env allowlist, tmpfs root, secret hiding, git identity forwarding, and comma/nix tool access
Performance
- Duration: ~1 min
- Started: 2026-04-09T09:10:55Z
- Completed: 2026-04-09T09:12:10Z
- Tasks: 2
- Files created: 3 (flake.nix, claudebox.sh, flake.lock)
Accomplishments
- Nix flake with 11 runtimeInputs (bubblewrap, coreutils, git, curl, jq, ripgrep, fd, nix, comma-with-db, bash, nodejs) and nix-index-database flake input
- Shell script with complete bwrap invocation: clearenv, env allowlist with CLAUDEBOX_EXTRA_ENV escape hatch, tmpfs root, selective bind-mounts, git identity generation, secret path exclusion
nix buildsucceeds -- derivation builds and passes shellcheck
Task Commits
Each task was committed atomically:
- Task 1: Create flake.nix -
0ed2d33(feat) - Task 2: Create claudebox.sh -
51dba04(feat) - flake.lock generated by nix flake check -
26bdf36(chore)
Files Created/Modified
flake.nix- Nix flake with writeShellApplication, all runtimeInputs, nix-index-database inputclaudebox.sh- bwrap sandbox script with clearenv, env allowlist, filesystem isolation, git identityflake.lock- Pinned nixpkgs and nix-index-database versions
Decisions Made
None - followed plan as specified.
Deviations from Plan
None - plan executed exactly as written.
Issues Encountered
None.
User Setup Required
None - no external service configuration required.
Next Phase Readiness
- claudebox builds successfully via
nix build - Ready for 01-02 (verification and manual testing)
- Requires
claudeto be available on host PATH for runtime use
Self-Check: PASSED
All 3 files exist. All 3 commits verified.
Phase: 01-minimal-viable-sandbox Completed: 2026-04-09