Implement DAP powered reviewer assignment
We've done our initial investigation in https://gitlab.com/gitlab-org/gitlab/-/work_items/591286 regarding this feature and have a POC working with DAP. Now we'd like to implement the DAP powered reviewer assignment feature. This includes the following: - Add `dap_powered` auto reviewer assignment strategy where it picks the required number of reviewers for each approval rules. - Post a short summary of the choice of reviewers and its rationale - Assign them only when the MR becomes ready (created as non-draft, or marked ready from draft) - Ignore optional approval rules - Consume a DAP token per assignment Reviewers will be selected in priority order: 1. Available (not busy or OOO) 2. Lowest pending review workload 3. Currently in working hours 4. Most recently active (tiebreaker)
issue