2.3 KiB
2.3 KiB
Orch Strict Worktree Support
Status
completed
Owner
- codex
Started At
2026-03-19
Goal
- implement dispatch-time strict worktree support so
orchcan resolve a committed base, create a branch and worktree per attempt, and persist workspace metadata into attempt storage and inbox payload
Scope
- extend
orch dispatchto support Git-backed worktree creation - enforce strict-mode base resolution and dirty-repo checks
- persist
base_ref,base_commit,branch_name,worktree_path, andworkspace_status - add integration tests for successful worktree dispatch and strict-mode rejection on dirty repositories
- update project-level implementation roadmap after the work is validated
Checklist
- inspect current worktree design docs and dispatch constraints
- implement git helpers for repo discovery, base resolution, branch naming, and worktree creation
- wire worktree metadata into
orch dispatchattempt storage and inbox payload - add integration coverage for strict worktree success and dirty-repo failure
- run
go test ./... - update
docs/implementation-roadmap.md - archive this roadmap with completion summary
Files
docs/roadmaps/archive/orch-strict-worktree-support.mddocs/implementation-roadmap.mdinternal/cli/orch/dispatch.gointernal/cli/orch/integration_test.gointernal/cli/orch/worktree.gointernal/store/orch.go
Decisions
- use the current working directory as the default source repo for
orch dispatch, with an explicit override flag only if implementation needs it - keep worktree creation tied to dispatch so failed workspace creation cannot silently leave a task marked as dispatched
Blockers
- none
Next Step
- implement
orch wait, then continue with retry/reassign/cancel/cleanup on top of the now worktree-aware dispatch model
Completion Summary
orch dispatchnow supports strict Git-backed worktree provisioning with repo discovery, committed base resolution, branch naming, and per-attempt worktree paths- dispatch persists workspace metadata on attempts and includes the same metadata in inbox task payloads for worker runtimes
- integration tests now cover successful strict worktree creation, dirty-repo rejection without
--base-ref, and explicit-base dispatch on dirty repositories