-
Notifications
You must be signed in to change notification settings - Fork 0
docs: add filesystem isolation plan #178
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Lay out five approaches to container filesystem isolation, from the existing read-only worktrees mode through APFS copy-on-write cloning, with intermediate isolated+ephemeral, named volume, and host-side persistent directory options. Includes pros/cons, scope, marketing blurbs, and a four-phase implementation roadmap that builds toward the v1.2 APFS cloning target. https://claude.ai/code/session_01Tds7kuhfb8X1tfVKTVP15q
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Adds a new design/roadmap document that surveys filesystem isolation options for bopca—from the current read-only workspace + worktrees setup through APFS copy-on-write cloning—and proposes a phased implementation roadmap toward the v1.2 isolation target.
Changes:
- Document five filesystem isolation approaches with pros/cons and suggested CLI/config surfaces.
- Add a comparison section (isolation/startup cost/best-for) to clarify tradeoffs.
- Propose a four-phase implementation plan culminating in APFS CoW cloning with diff/accept/reset workflow.
| | 2. APFS CoW cloning | Yes (clone) | Yes (clone) | Yes | Yes (until reset) | | ||
| | 3. Isolated + ephemeral | No | No | No | No | | ||
| | 4. Isolated + named volume | No | No | No | Yes | | ||
| | 5. Isolated + host directory | No | No | Yes | Yes | |
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The markdown table rows start with ||, which creates an extra empty first column in GitHub-flavored markdown. Use a single leading | for each row. Also, in this table Approach 5 bind-mounts a host-side directory, so the agent can read/write host files in that managed workspace; update the Approach 5 cells (or clarify the column headings if they specifically mean the original repo).
| | 5. Isolated + host directory | No | No | Yes | Yes | | |
| | 5. Isolated + host directory | Yes (managed dir) | Yes (managed dir) | Yes | Yes | |
| | Approach | First run | Subsequent runs | | ||
| | --- | --- | --- | | ||
| | 1. Read-only + worktrees | Instant (bind mount) | Instant | | ||
| | 2. APFS CoW cloning | Near-instant (APFS clone) | Near-instant (snapshot reset) | | ||
| | 3. Isolated + ephemeral | Seconds (local git clone) | Seconds (clone every time) | | ||
| | 4. Isolated + named volume | Seconds (clone + seed) | Instant (volume reattach) | | ||
| | 5. Isolated + host directory | Seconds (clone + seed) | Instant (bind mount) | |
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The table rows start with ||, which renders an unintended empty first column. Use a single leading | for each row.
| | Approach | Ideal workflow | | ||
| | --- | --- | | ||
| | 1. Read-only + worktrees | Daily dev with host editor, agent writes to worktrees | | ||
| | 2. APFS CoW cloning | Daily dev with rollback, review-and-accept workflow | | ||
| | 3. Isolated + ephemeral | Untrusted agents, one-shot tasks, CI-like runs | | ||
| | 4. Isolated + named volume | Full remote dev, long-running isolated projects | | ||
| | 5. Isolated + host directory | Isolated dev with host-side editor access | |
Copilot
AI
Feb 9, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The table rows start with ||, which renders an unintended empty first column. Use a single leading | for each row.
Lay out five approaches to container filesystem isolation, from
the existing read-only worktrees mode through APFS copy-on-write
cloning, with intermediate isolated+ephemeral, named volume, and
host-side persistent directory options. Includes pros/cons, scope,
marketing blurbs, and a four-phase implementation roadmap that
builds toward the v1.2 APFS cloning target.
https://claude.ai/code/session_01Tds7kuhfb8X1tfVKTVP15q