cc-watch snapshot PR fix M134

This playground documents the two cc-watch workflow bugs fixed in this PR. There is no interactive component — these are CI-layer fixes to .github/workflows/claude-release-watch.yml.

W1a — github-actions[bot] PRs don't trigger CI (#1685)

Pull requests opened by the default GITHUB_TOKEN are authored by github-actions[bot], and bot pushes do not satisfy required-status-check rules — auto-merge never fires. The fix wires peter-evans/create-pull-request to a fine-grained PAT (SNAPSHOT_PR_TOKEN) when present, falling back to GITHUB_TOKEN until a repo admin creates the secret.

token: ${{ secrets.SNAPSHOT_PR_TOKEN || secrets.GITHUB_TOKEN }}

Required follow-up: a repo admin must create SNAPSHOT_PR_TOKEN as a fine-grained PAT scoped to this repo with Contents: write + Pull requests: write. Until then, snapshot PRs still need a manual rebase to kick CI.

W1f — non-unique PR title accumulated stale PRs (#1697)

Every snapshot PR was titled chore(cc-watch): snapshot upstream CHANGELOG. When auto-merge stalled (because of W1a), each daily cron created another PR with the same title — making triage impossible. The fix reads latest_new_version out of shared/gh-issue-args.json (already emitted by scripts/cc-release-watch.mjs) and stamps it into both the title and commit message.

chore(cc-watch): snapshot upstream CHANGELOG (2.1.138)

Multi-version cron runs use only the latest version in the title; the chore/cc-snapshot-${{ github.run_id }} branch suffix preserves run-level uniqueness.

Validation