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
..
2025-12-10 14:42:09 -05:00
2026-02-08 11:33:30 -05:00
2026-02-13 09:41:28 -05:00
2026-02-13 20:34:57 +00:00
2026-02-13 09:41:28 -05:00
2026-02-13 09:41:28 -05:00
2026-02-13 13:05:20 -05:00
2026-02-13 09:41:28 -05:00
2026-02-13 19:01:55 +05:30
2026-02-10 16:04:17 +00:00
2026-02-12 05:44:57 +00:00
2026-02-12 22:01:51 +00:00
2026-02-12 22:58:15 -05:00
2026-02-13 05:01:27 +00:00
2026-02-12 22:01:51 +00:00
2025-12-23 20:57:14 -05:00
2025-12-19 12:35:56 -05:00
2026-02-13 05:01:27 +00:00
2026-02-02 18:46:33 -05:00
2026-01-27 21:55:06 -05:00
2025-11-24 20:04:18 -05:00
2025-11-28 23:52:23 -05:00
2025-11-11 20:09:06 -05:00
2025-12-08 23:02:29 -05:00
2026-02-12 20:19:42 +00:00
2026-02-13 21:54:31 +00:00
2025-12-22 11:18:57 -05:00
2025-12-19 18:07:30 -05:00
2026-02-13 20:34:57 +00:00
2026-02-12 22:01:51 +00:00
2026-02-07 23:02:50 -05:00
2025-12-23 17:12:16 -05:00
2025-11-16 20:38:02 -05:00
2026-02-12 02:26:03 +00:00
2025-12-22 10:45:44 -05:00
2026-01-17 12:54:03 -05:00
2025-12-24 18:50:34 -05:00
2026-01-27 21:55:06 -05:00
2026-02-10 16:04:17 +00:00
2026-02-10 16:04:17 +00:00
2026-02-12 22:58:15 -05:00
2026-02-12 22:01:51 +00:00
2026-02-08 11:33:30 -05:00
2025-12-05 21:00:46 -05:00
2026-02-13 05:21:08 +00:00
2026-02-12 22:01:51 +00:00
2025-12-16 17:20:37 -05:00
2026-02-13 00:15:58 +00:00
2025-12-11 13:55:55 -05:00
2026-02-14 04:01:20 +00:00
2025-11-24 20:04:18 -05:00
2025-11-24 20:04:18 -05:00
2025-11-07 17:54:15 -05:00
2026-02-13 13:05:20 -05:00
2025-11-24 20:04:18 -05:00
2025-12-19 12:35:56 -05:00
2026-02-13 20:34:57 +00:00
2025-12-06 00:23:48 -05:00
2026-02-13 20:34:57 +00:00
2026-02-12 02:26:03 +00:00
2026-02-14 04:01:20 +00:00
2026-02-12 02:26:03 +00:00
2026-02-12 02:26:03 +00:00
2026-01-27 21:55:06 -05:00
2026-01-27 21:55:06 -05:00
2026-01-27 21:55:06 -05:00
2026-02-12 04:47:02 +00:00
2026-02-12 04:47:02 +00:00
2026-02-12 04:47:02 +00:00
2026-01-27 21:55:06 -05:00
2026-01-27 21:55:06 -05:00
2025-12-11 13:55:55 -05:00
2025-11-13 18:25:24 -05:00
2025-11-06 23:51:03 -05:00
2025-11-06 23:51:03 -05:00
2025-11-30 17:36:52 -05:00
2026-02-12 22:01:51 +00:00
2025-12-23 17:12:16 -05:00
2025-12-20 13:59:31 -05:00
2025-11-24 20:04:18 -05:00
2026-02-13 21:54:31 +00:00
2026-02-12 20:19:42 +00:00
2026-02-12 02:26:03 +00:00
2026-02-12 02:26:03 +00:00
2025-11-11 20:09:06 -05:00
2026-02-13 05:01:27 +00:00
2026-02-10 16:04:17 +00:00
2026-02-12 02:26:03 +00:00
2025-12-11 13:55:55 -05:00
2025-12-16 17:20:37 -05:00
2026-02-13 20:34:57 +00:00
2026-02-13 20:34:57 +00:00
2026-02-13 20:34:57 +00:00
2026-02-13 20:34:57 +00:00
2026-02-13 20:34:57 +00:00
2026-02-13 20:34:57 +00:00
2026-02-12 05:23:29 +00:00
2026-02-12 02:26:03 +00:00
2026-02-12 05:23:29 +00:00
2025-12-10 12:39:07 -05:00
2025-12-24 18:50:34 -05:00
2026-01-28 13:33:45 -05:00
2026-02-12 23:35:53 -05:00
2026-02-12 20:19:42 +00:00
2026-02-10 16:04:17 +00:00
2026-01-27 21:55:06 -05:00
2026-02-13 21:54:31 +00:00
2026-02-13 22:46:03 -05:00
2026-02-12 02:26:03 +00:00
2026-01-27 21:55:06 -05:00
2026-01-27 21:55:06 -05:00
2026-01-27 21:55:06 -05:00
2026-02-10 16:04:17 +00:00
2026-02-14 04:01:20 +00:00
2026-02-12 20:19:42 +00:00
2026-02-12 20:19:42 +00:00
2025-11-06 23:51:03 -05:00
2026-02-12 20:19:42 +00:00
2026-01-14 17:35:09 -05:00
2025-12-16 17:20:37 -05:00
2026-02-14 03:50:40 +00:00
2025-12-10 12:39:07 -05:00
2026-02-14 03:54:14 +00:00
2026-01-27 21:55:06 -05:00
2026-02-12 20:19:42 +00:00
2026-02-02 18:46:33 -05:00
2026-02-08 11:33:30 -05:00
2026-02-12 20:19:42 +00:00
2026-02-12 20:19:42 +00:00
2026-02-12 20:19:42 +00:00
2026-02-13 05:01:27 +00:00
2025-11-11 20:09:06 -05:00
2026-02-14 00:35:04 +00:00
2026-02-12 20:19:42 +00:00
2026-02-10 16:04:17 +00:00
2026-02-12 22:01:51 +00:00
2026-02-12 22:58:15 -05:00