fix(server): refresh repository identity where remotes change

With longer identity TTLs, paths that add a remote must refresh it
themselves:

- PR discovery after a finished turn refreshes the project identity, so a
  remote the agent just added gets its PR link right away.
- Publish and Initialize refresh the identity for their directory.
- A failed `git remote -v` is no longer cached as "no repository".

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WvDgDwRRG8xvtoABQ8KwtC
6ef9464ea4Claude committed on 9/25/2026, 11:54:30 PMparent9ba1cb5
5 files changedLine totals unavailable