repo clone: thread lean ResolvedPlacement through the picker
main·
Commit

Simplify follow-up: drop the single-impl mirrorResolver interface (the test uses a real client over httptest, not a fake) and the ResolvedPlacement→coreapi.Mirror mapping shim. selectCloneTarget and mirrorCellLabel now take coreapi.ResolvedPlacement directly, so resolvePullablePlacements returns the server's placements verbatim — no dead Owner/Repo/Provider/MirrorId fields populated just to fit the old Mirror shape. listMirrorsForRepo (and coreapi.Mirror) stay for the three routing callers.
Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com