cli: address Bugbot/Copilot review on cell routing fallback

Commit

Soph2mo ago
  • Bound currentRepoID's control-plane lookup with a 5s timeout (currentRepoIDTimeout, mirroring expertsCellResolveTimeout): the lookup is best-effort decoration, so a stalled core must not hang recap.
  • Case-fold the cluster catalog row's jurisdiction in resolveCellAPIBaseURL: the claim side is already folded, so a differently-cased row misreported ErrNoCellForJurisdiction.
  • Rewrite newRecapClient's fallback contract comment to match the implementation: ANY cell-client failure falls back to the data API (expected cases silent, others debug-logged), not just the two named errors.
  • Rename runRecap's repoSlug local to repoScope: once cell-routed it holds a repo_id ULID, only the data-API fallback passes a slug.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com Entire-Checkpoint: 76ad7ee5e8b2

Checkpoints

Multi-cell Fan-out and Cell Routing Infrastructure

Claude CodeFable 5
View session
Checkpoint 1