Read both Artifact Registry repositories list shapes (S09 Verdicts plan: 1/10)
What
Artifact Registry is changing the repository list 200 from a bare JSON array to a {"repositories": [...]} envelope, so the same response can also carry permission verdicts for UI gating. ArtifactRegistry::Client#repositories asserted the body was an Array, so it breaks on the new shape.
The client now reads both shapes and ignores the permissions keys the envelope carries. Anything else still fails as an unexpected success response, the empty object and an array of non-objects included.
The tolerance is temporary. The monolith has to be live with it before Artifact Registry flips the shape, and the array branch is removed in a later step once the envelope is the only shape in production.
The repositories-get consumer pact interaction now expects the envelope. The contract republish happens on its own at the next stable cut: the publish job only runs on *-stable-ee branches.
Related to gitlab-org/ops/artifact-registry#670 (closed)
Related to #627317
No docs change here: this is a transitional client tolerance. The user-facing docs ride the UI gating work in #627317.