Gerrit-like patch workflow: each task gets a branch named t-XXX pointing to a single commit. On revision, the coder amends the commit and force-pushes (patchset N+1). After merge to main, the branch is deleted. Add a 'task cleanup' or similar command that deletes branches for tasks in 'done' status. Branches are ephemeral pointers, not long-lived feature branches.
Implemented task-branch workflow support in Omni/Ide/dev-review-release.sh: dev loop prepares branch t-XXX; cleanup-branches command deletes Done task branches in dry-run mode by default with --apply for deletion.