Problem
When retrying parsec ship after a partial failure (push OK, PR failed), if the PR was actually created successfully (or created in a previous attempt), the retry fails with 422 "A pull request already exists".
Expected
parsec ship should detect an existing open PR for the branch and skip creation, treating it as a successful ship.
Solution
Before creating a PR, call find_pr_by_branch() to check if one already exists. If found, use the existing PR URL instead of creating a new one.
Problem
When retrying
parsec shipafter a partial failure (push OK, PR failed), if the PR was actually created successfully (or created in a previous attempt), the retry fails with 422 "A pull request already exists".Expected
parsec shipshould detect an existing open PR for the branch and skip creation, treating it as a successful ship.Solution
Before creating a PR, call
find_pr_by_branch()to check if one already exists. If found, use the existing PR URL instead of creating a new one.