Problem
When owloop run / owloop go creates a worktree branch, the branch name is a long hash slug like:
owloop/20260707-operation-record-service-bd9d6cf1
While the timestamp and a truncated spec title are included, the trailing hash makes the branch hard to read and impossible to identify at a glance when multiple runs target the same spec or goal.
Impact
- Branch lists become noisy and hard to scan.
- It is difficult to tell which branch corresponds to which high-level task without checking the report or git log.
- When multiple users or runs create branches for the same spec, the hashes differ but the human-readable prefix is the same, increasing collision/confusion risk.
Suggested fixes
- Include a short goal-derived slug. Derive a concise, URL-safe identifier from the user's goal or the spec title, e.g.:
owloop/20260707-refactor-api-services-bd9d6cf1
- or
owloop/refactor-api-services-20260707-bd9d6cf1
- Keep the hash short or make it optional. The full 8-char hash is only needed to guarantee uniqueness; consider truncating to 4-6 chars when no collision exists.
- Expose branch naming template in config. Allow users to customize via
.owloop/config or CLI flag, e.g.:
branch_template = "owloop/{date}-{goal_slug}-{short_hash}"
- Write the branch purpose into the branch description or first commit message so it is discoverable via
git branch -v.
Related
Problem
When
owloop run/owloop gocreates a worktree branch, the branch name is a long hash slug like:owloop/20260707-operation-record-service-bd9d6cf1While the timestamp and a truncated spec title are included, the trailing hash makes the branch hard to read and impossible to identify at a glance when multiple runs target the same spec or goal.
Impact
Suggested fixes
owloop/20260707-refactor-api-services-bd9d6cf1owloop/refactor-api-services-20260707-bd9d6cf1.owloop/configor CLI flag, e.g.:git branch -v.Related