# Orch Remaining Controls

## Status

- `completed`

## Owner

- codex

## Started At

- `2026-03-19`

## Goal

- implement the remaining leader-side scheduler control commands: `retry`, `reassign`, `cancel`, and `cleanup`

## Scope

- add store and CLI support for retrying failed tasks, reassigning blocked or failed tasks, cancelling a task or full run, and cleaning up attempt worktrees
- add integration tests that exercise the new control flows on top of the existing scheduler/worktree implementation
- update the implementation roadmap and archive this workstream when complete

## Checklist

- [x] inspect docs and current attempt/thread/worktree helpers
- [x] implement `retry`, `reassign`, `cancel`, and `cleanup` store operations and CLI commands
- [x] add integration coverage for the new control flows
- [x] run `go test ./...`
- [x] update `docs/implementation-roadmap.md`
- [x] archive this roadmap with a completion summary

## Files

- `docs/roadmaps/archive/orch-remaining-controls.md`
- `docs/implementation-roadmap.md`
- `internal/cli/orch/root.go`
- `internal/cli/orch/*.go`
- `internal/cli/orch/integration_test.go`
- `internal/store/orch.go`

## Decisions

- `retry` and `reassign` will reuse the existing dispatch pipeline so new attempts keep the same attempt/worktree semantics as normal dispatch
- `cleanup` will remove worktree directories and mark attempt workspace state as `cleaned`, but will not delete attempt branches in this slice

## Blockers

- none

## Next Step

- decide whether worktree mode should be selected automatically for code tasks, then either implement that ergonomics layer or defer it before moving into council workflows

## Completion Summary

- `orch` now supports the remaining leader-side control commands: `retry`, `reassign`, `cancel`, and `cleanup`
- retry and reassign reuse the normal dispatch pipeline, including per-attempt worktree allocation when the previous attempt was worktree-backed
- cleanup removes eligible worktree paths and marks attempt workspace state as `cleaned`
