fix(create_report): target the reporter's PDS, not the labeler's
`createSession` / `getServiceAuth` must be dispatched against the PDS
that actually hosts the reporter's account. The pipeline was reusing
`IdentityFacts::pds_endpoint` — the PDS advertised by the *labeler's*
DID document — which surfaced as `InvalidToken: Token could not be
verified` whenever the reporter and the labeler lived on different
PDS shards (e.g., two different `*.host.bsky.network` hosts).
The pipeline now resolves `--handle` via the existing
`resolve_handle` → `resolve_did` → `find_service("#atproto_pds")`
chain and constructs `RealPdsXrpcClient` against the reporter's own
PDS. Resolution failures flatten to a string and ride through a new
`CreateReportRunOptions::pds_resolution_error` so both PDS-mediated
rows surface a `NetworkError` with a specific message instead of a
silent `Skipped`; the 10-row invariant and canonical ordering are
preserved.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
authored by