馃 Better defined mergeability
## Problem to solve The MR widget feature that shows the mergeability status today has logic that is implemented partially in the backend and partially in the frontend. Because the MR widget JSON sent by the backend to the frontend contains a lot of information, the frontend, overtime has used this data to make additional computations. This has resulted in faster frontend iterations (since it didn't require a backend change to provided the needed data) but has caused business logic to leak into the frontend. Overtime, some logic has diverged between frontend and backend, causing bugs to emerge: * https://gitlab.com/gitlab-org/gitlab/-/issues/214742 * https://gitlab.com/gitlab-org/gitlab/-/issues/35562 * https://gitlab.com/gitlab-org/gitlab/-/issues/291168 * https://gitlab.com/gitlab-org/gitlab/-/issues/35135 * https://gitlab.com/gitlab-org/gitlab/-/issues/212991 * https://gitlab.com/gitlab-org/gitlab/-/issues/30947 * https://gitlab.com/gitlab-org/gitlab/-/issues/321001 * https://gitlab.com/gitlab-org/gitlab/-/issues/322389 * https://gitlab.com/groups/gitlab-org/-/epics/5455 contains a comprehensive list of current bugs In addition to that, the mergeability status of the MR widget is an old and complex code (both on the frontend as well as the backend) where the responsibility is shared across multiple groups. It is not always clear: 1. What the problem is / why errors are happening 1. Where those errors are occurring 1. Who is responsible for resolving them ## Long-Term Goal * We want to have a MR widget that receives all the data from the backend, where no extra computations are needed in the frontend, except for basic UI representations. * The backend represents the SSOT for business logic around mergeability status. * The code ownership of each component at play is clearly defined <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION --> *This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.* <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
epic