Embed visibility, size, and remote URL/health status in listUpstreamRepositories' upstream summary

Problem

listUpstreamRepositories returns UpstreamRepositorySummary for each upstream, and today that carries only id, name, format, and kind. The virtual repository detail frontend needs visibility and size_bytes for every upstream, and for a remote upstream also url and last_health_status. All four already exist as fields on other schemas in api/openapi/v1.yaml, just not on this one.

Without them, the monolith has to fetch each upstream's own repository detail separately, up to ADR-004's cap of 20 upstreams per virtual repository, so up to 20 extra calls for one page.

Flagged by fmccawley building the virtual repository detail frontend: #314 (comment 3840721067)

Proposal

Add to UpstreamRepositorySummary:

  • visibility and size_bytes on every row, mirroring Repository.
  • url and last_health_status when kind: remote, mirroring the per-format remote settings schemas.

No new fields: every one of these already exists on another schema in the same contract.

Out of scope

Timing

Needed before the monolith renders the virtual upstream table, same as Embed upstream repository verdicts in listUpstr... (#1174 - closed) • David Fernandez • 19.5.