Improve triage report navigation with table of contents and section status indicators
## Overview The weekly group-level triage report ([example](https://gitlab.com/gitlab-org/quality/triage-reports/-/work_items/28295)) consolidates all triage items into a single report containing 20+ sections which makes it difficult to navigate and understand at a glance what needs attention. This issue proposes restructuring each section with consistent formatting, summary tables, and collapsible details. Sections with formal SLOs (Security, Availability, Test Health) include RAG status indicators. Sections without SLOs (Deferred UX, Feature Proposals) use a plain format with counts and links. > **Direction change (2026-03-25):** The original plan was to add RAG (red/amber/green) status classification to every section. After implementing several sections, we found that arbitrary count-based thresholds for sections without formal SLOs (Deferred UX, Feature Proposals) added noise rather than signal. The approach now is: > - **Sections with handbook SLOs** (Security, Availability, Test Health): Keep RAG status with emoji indicators > - **Sections without SLOs** (Deferred UX, Feature Proposals, and likely remaining sections): Plain format with total counts, Issue List links, and attention filtering where applicable > - `StatusHelper` has been removed from triage-ops entirely; sections with status manage it through their own logic ## Problem ### 1. Report is too long (20 sections) **10 heatmaps:** - Security, Availability, Infradev, All Bugs, Customer Bugs, Flaky Tests, SLO Missed, SLO Missed (stuck), Vintage, Blocked **10 issue lists:** - Infradev (past SLO), Features (customer + non-customer), UX debt, Frontend bugs (customer + non-customer), Backend bugs (customer + non-customer), Community issues ### 2. Heatmaps and lists don't align - **Standalone heatmaps with no actionable list:** Security, Availability, Flaky Tests, SLO Missed, Vintage, Blocked - **Mixed purposes:** Some heatmaps are for triage action, others are awareness/tracking only - **Bug section is overloaded:** 7 heatmaps + 4 lists in one section ### 3. No quick way to see what needs attention - Must scroll through entire report to find problem areas - No summary view showing which sections are healthy vs need action - Time-consuming to triage when most sections may be fine ## Proposed Solution ### Consistent Section Structure Update each section to include: - Summary table with key metrics and links (outside collapsible) - Collapsible details containing the full content - Three-rule pattern (header/issues/footer) for consistent rendering ### Status Indicators (where appropriate) Sections backed by formal handbook SLOs use RAG status: - Status emoji in the section header (e.g., "### :red_circle: Test Health") - Threshold-based classification tied to SLA/SLO requirements Sections without formal SLOs use plain format: - No emoji, no status column - Total count with Issue List link - Attention filtering where it adds signal (e.g., missing labels) ### One Work Item Per Section/Subsection Each section or subsection gets its own work item to track decisions and implementation independently. ## Current Report Structure The report maintains this order (sections will be updated incrementally in their current positions): 1. Security Heatmap 2. Availability Heatmap 3. Test Health (has status indicators) 4. Infradev section (3 subsections) 5. Feature Proposals (2 subsections) 6. UX Debt 7. Bug section (9 subsections) 8. Community Issues ## Implementation Plan Each section/subsection will be updated with consistent formatting in separate MRs. ### Completed 1. :white_check_mark: **Test Health - Quarantined Tests** - https://gitlab.com/gitlab-org/quality/triage-ops/-/merge_requests/3848 2. :white_check_mark: **Security** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/476) - with RAG status (has SLOs) 3. :white_check_mark: **Availability** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/477) - with RAG status (has SLOs) ### In Progress 4. **Deferred UX** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/478) - plain format (no SLOs) 5. **Customer Feature Proposals** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/480) - plain format (no SLOs) 6. **Feature Proposals** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/505) - plain format (no SLOs) 7. **New untriaged community issues** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/479) ### Remaining **Infradev Subsections:** 8. **New Infradev Issues** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/481) 9. **Overdue Infradev Issues** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/506) 10. **Heatmap for all Infradev Issues** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/507) **Bug Section Subsections:** 11. **Heatmap for bugs** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/482) 12. **Heatmap for all customer bugs** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/485) 13. **Frontend unscheduled Customer Bugs** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/483) 14. **Frontend unscheduled Bugs** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/508) 15. **Backend/remaining customer bugs** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/484) 16. **Backend remaining bugs** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/509) 17. **Heatmap for all bugs past SLO** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/510) 18. **Heatmap for all vintage bugs** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/511) 19. **Heatmap for all blocked bugs** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/512) **Final Steps:** 20. **Reorganize sections** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/486) - Reorganize sections into logical groups for better navigation 21. **Table of Contents** (https://gitlab.com/gitlab-org/quality/analytics/team/-/work_items/487) - Add Table of Contents with navigation links
issue