Draft: Add description and labels to the replacement MR overview
Last of four. Adds the two remaining panels: the merge request description with its author in the main column, and a labels and milestone card in the sidebar, hidden when the merge request has neither.
Stacked chain, each MR targets the one above it:
- !252481 (merged) - feature flag, toggle, empty container
- !252997 - layout and merge readiness
- !252998 - reviewers panel
- !252999 (this MR) - description, labels and milestone
Detailed context for AI agents
What lands here
- The "About this MR" card: author avatar and name, then the description.
- The labels and milestone card in the sidebar, rendered only when there is at least one label or a milestone.
- The author variant of the hero badge.
viewerBadgenow returns "Viewing as reviewer" for a blocking reviewer, "Viewing as author" when the viewer wrote the merge request, and nothing otherwise. - The query gains
description,author,milestoneandlabels.
Known gap
The description renders as plain text with gl-whitespace-pre-line, not as GitLab Flavoured Markdown. The classic Overview tab renders the full markdown description, so anything with headings, code blocks, tables or references reads worse here. Rendering GFM in this panel needs either the rendered HTML from the API or the client-side renderer wired into this app, and that is deliberately not in this MR.
After this MR
The replacement overview is complete in the sense that nothing a reader needs from the classic Overview tab is missing except the merge widget and the discussion thread, both of which are out of scope by design while the toggle is on.
Still not covered anywhere in the chain: internal event tracking on the toggle, and any AI-generated content. The panels are all derived from existing merge request data.
Verification
spec/frontend/merge_requests/ai_overview/components/app_spec.js- 13 examples, passing. Gains one for the description and author.- Existing readiness, reviewer and feature specs still pass unchanged.
- Prettier and eslint clean.