2.7 KiB
2.7 KiB
Phase 5: Per-Project Instance Isolation - Discussion Log (Assumptions Mode)
Audit trail only. Do not use as input to planning, research, or execution agents. Decisions captured in CONTEXT.md — this log preserves the analysis.
Date: 2026-04-10 Phase: 05-per-project-instance-isolation Mode: assumptions Areas analyzed: Instance Isolation Mechanism, Project Root Identification, Shared vs Per-Instance Files, GC Mechanism
Assumptions Presented
Instance Isolation Mechanism
| Assumption | Confidence | Evidence |
|---|---|---|
Use CLAUDE_CONFIG_DIR env var to redirect Claude state to per-project instance dir |
Likely | Research confirmed env var exists in official Claude Code docs; current ~/.claudebox mount stays intact |
Alternatives presented:
- A (Env var
CLAUDE_CONFIG_DIR): simpler, no mount changes, caveat~/.claude.jsonnot redirectable - B (Mount swap): replace
--bind "$HOME/.claudebox"with per-instance path, more invasive
Project Root Identification
| Assumption | Confidence | Evidence |
|---|---|---|
git rev-parse --git-common-dir as canonical root for worktree sharing |
Likely | --git-common-dir returns shared .git for all worktrees; --show-toplevel would diverge per worktree |
Alternatives presented:
- A (
--git-common-dir): worktrees share instance — satisfies criterion 2 - B (
--show-toplevel): simpler but violates criterion 2
Shared vs Per-Instance Files
| Assumption | Confidence | Evidence |
|---|---|---|
| Credentials stay shared across all instances, not per-instance | Confident | Phase 4 AUTH-01 locked; OAuth refresh requires single writable path; ~/.claude.json not redirectable per research |
GC Mechanism
| Assumption | Confidence | Evidence |
|---|---|---|
project-root plaintext file inside instance dir; --gc reads and checks if path exists |
Likely | SHA-256 not reversible; sessions/*.json already uses "cwd" field establishing the pattern |
Alternatives presented:
- A (plaintext
project-rootfile): simple, debuggable - B (
meta.jsonwith createdAt): more structure, allows future timestamp-based GC
Corrections Made
No corrections — all assumptions confirmed by user.
External Research
CLAUDE_CONFIG_DIR: Confirmed in official Claude Code env-vars documentation. Redirects sessions/settings/todos/plugins.~/.claude.jsonhardcoded to$HOME, NOT redirected. Source: Claude Code docs + issues #3833, #1652.- Auto-resume behavior: Claude Code does NOT auto-resume on launch. Sessions are fresh by default;
--continue/--resumeare explicit opt-in. Source: Claude Code common-workflows docs.