Address three integration gaps found in review:
- Bind ~/.gitconfig read-only in the sandbox base layer so `git commit`
finds user.name/email inside the jail (spec §3).
- Bind a worktree session's repo common .git dir writable: the worktree's
real gitdir lives at <repo>/.git/worktrees/<branch>, outside the bound
cwd, so git was broken in sandboxed worktree sessions.
- doctor now gates on sandbox.is_available() (the single source of truth
shared with the New Session dialog) rather than a raw shutil.which, so
it agrees with the service on non-Linux platforms (spec §6).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Core sandbox infrastructure for isolating harness sessions. Bind defines
read-only/writable path bindings, SandboxPolicy specifies filesystem and
network isolation modes, and is_available() is the single source of truth
for bubblewrap availability across the application.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>