beb1274c7f
Branch names that hit the 30-char cut boundary can end with a dash, which Fly.io rejects. Strip trailing dashes after cut in both deploy and teardown jobs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>