Skip to content

Sandbox sync: git-based sync strategy and E2B real-time sync (descoped from #76) #304

@frankbria

Description

@frankbria

Context

Issue #76 (Phase 6.3 Sandbox File Synchronization) implemented snapshot-sync filtering for the E2B provider: .ralphignore support, --sync-include/--sync-exclude, large-file policy, progress summaries, selective artifact retrieval, and deletion-sync safety (see docs/SANDBOX_SYNC.md). Two of its original acceptance criteria were deliberately descoped (owner-approved during implementation):

Descoped items

1. Git-based sync strategy

Use git push/pull as the sync mechanism between host and sandbox.

Why deferred: it directly conflicts with the reviewed #75 safety model — .git is excluded from sync in both directions so sandbox-side git state can never clobber the host repository — and requires git credentials inside the sandbox (a new secret-handling surface). Adopting it means revisiting that design first.

2. Real-time sync for E2B

Continuous bidirectional file watching (inotify/fswatch + sandbox daemon).

Why deferred: the per-iteration download already lands changes at every loop boundary, which is the natural sync point for an autonomous loop; a watcher adds conflict-resolution complexity for little gain. Docker already has real-time sync by architecture (rw bind mount).

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions