docs(plans): amend monolith/S03 plan for what merged
What does this MR do and why?
Reconciles the monolith/S03 GraphQL foundation plan with what actually merged in gitlab-org/gitlab!248067 (merged), which landed all three planned steps in one MR. The plan is otherwise write-once after its plan MR, so the corrections travel in this amendment MR rather than in a step branch.
Names
| Planned | What merged |
|---|---|
RendersArtifactRegistryErrors in ee/app/graphql/resolvers/concerns/renders_artifact_registry_errors.rb |
ArtifactRegistry::RendersErrors in ee/app/graphql/resolvers/concerns/artifact_registry/renders_errors.rb |
ee/app/graphql/resolvers/concerns/artifact_registry/externally_paginated_page.rb |
ArtifactRegistry::PaginatesLists in ee/app/graphql/resolvers/concerns/artifact_registry/paginates_lists.rb |
Resolvers::ArtifactRegistry::BaseResolver, ArtifactRegistry::CachesClient, and Gitlab::Graphql::Errors::ArtifactRegistry::ServiceUnavailable merged at their planned names and paths.
Behavior the plan did not describe
- The base resolver wraps its own template method in the error renderer, so a slice cannot include the concern and forget the wrapper.
- An
AuthorizationErrorcarrying no HTTP status means the client never reached the service, so the concern reports it throughGitlab::ErrorTracking.log_exceptionand raises service-unavailable instead of the existence-hiding null an authorization failure otherwise renders.
Two acceptance criteria move
Neither shipped, and each moves to the slice with the concrete surface that exercises it:
- Criterion 4's flag-off mutation half →
monolith/S07. The mergedbase_resolver_spec.rbcovers the flag-off query; no test-only mutation shipped, and the monolith has noee/app/graphql/mutations/artifact_registry/directory. - Criterion 6 (cross-service join) →
monolith/S05.BatchModelLoader,BatchCommitLoader, andQueryRecorderappear in no AR app or spec path. The S03 plan and spec both forward-referencemonolith/S04for the end-to-end N+1 assertion, but the S04 spec had already reassigned the first concrete join tomonolith/S05, because the list renders no user, project, or commit reference.
The S03 spec still names S04 in criterion 6 and still asks for the test-only mutation. This MR corrects the plan only; the spec's own reconciliation is not in scope here.
Not in scope
The monolith/S02 plan's gem-packaging passages were already corrected in d1e05593, so this MR touches only the S03 plan.