feat(sandbox): add git_worktree and copy_on_write sandbox strategies [TASK-006] #52

Merged
freemo merged 3 commits from feat/B4-v2-sandbox into master 2026-02-14 04:01:42 +00:00

3 Commits

Author SHA1 Message Date
khyari hamza 6eee0a8835 fix(sandbox): fix CI failures in git_worktree and factory integration tests
CI / lint (push) Waiting to run
CI / typecheck (push) Waiting to run
CI / security (push) Waiting to run
CI / quality (push) Waiting to run
CI / unit_tests (push) Waiting to run
CI / integration_tests (push) Waiting to run
CI / coverage (push) Blocked by required conditions
CI / build (push) Waiting to run
CI / docker (push) Blocked by required conditions
CI / lint (pull_request) Successful in 16s
CI / typecheck (pull_request) Successful in 26s
CI / security (pull_request) Successful in 22s
CI / quality (pull_request) Successful in 15s
CI / integration_tests (pull_request) Successful in 4m32s
CI / build (pull_request) Successful in 14s
CI / unit_tests (pull_request) Successful in 9m10s
CI / coverage (pull_request) Successful in 6m43s
CI / docker (pull_request) Successful in 37s
- git_worktree: verify original_path is the git repo root, not just a
  subdirectory of an unrelated parent repo (fixes false-positive on CI
  where temp dirs are inside the workspace checkout)
- Robot helper: update factory tests to reflect B4 implementations
  (git_worktree and copy_on_write are now supported strategies)

Refs: TASK-006
2026-02-14 04:01:20 +00:00
khyari hamza 72a4a4080b feat(implementation): update checklist with completed tasks for Resource and Project models 2026-02-14 04:01:20 +00:00
khyari hamza cc45b5ff2c feat(sandbox): add git_worktree and copy_on_write sandbox strategies
Implement GitWorktreeSandbox (worktree creation, commit+merge, rollback,
cleanup, branch sanitization, git timeouts) and CopyOnWriteSandbox
(directory copy, diff-based commit, rollback, cleanup).

Update SandboxFactory to wire new strategies, remove stale overlay/
versioning constants, add snapshot placeholder, align resource type
mapping to spec types (git-checkout, fs-mount, fs-directory, fs-file).

Add 40 Behave scenarios (19 git_worktree + 21 copy_on_write) with gwt/cow
prefixed steps. Update existing sandbox_factory_coverage feature (21
scenarios) to reflect new factory behavior.

All quality gates pass: ruff, pyright, 2325 scenarios, 97% coverage.

TASK-006 / Stage B4
2026-02-14 04:01:20 +00:00