pub fn branch_name(task_id: &str, title: &str) -> StringExpand description
Generate a branch name from task ID and title.
Format: internal-{id}-{slug} for internal tasks, gh-issue-{id}-{slug} for external.
Slug is lowercase, non-alphanum→-, max 40 chars.