Runner Core Bug Triage Decision Matrix

This establishes a transparent, data-driven framework for bug prioritization and autonomous closure decisions. The goal is to align with Product and Customer Support and also empower the team to make consistent, defensible decisions about which bugs to fix or close. This doesn’t remove the cases where Product or Engineering makes exceptions for clearly articulated business cases.

The RICE-Adapted Priority Score

Formula

Priority Score = Reach + Customer Impact + Community Signal + Workaround Factor

Range: 0-10 points

Scoring Components

1. Reach (0-3 points) - Executor Impact

Based on Strategic investment:

Tier Executors Score
Supported kubernetes, docker, shell, instance, docker autoscaler 3
Phase-out custom, docker+windows, ssh 1
Deprecated docker+machine 0

2. Customer Impact (0-3 points)

Score Criteria
3 High-value customer blocker / ARR impact
2 Customer-reported with support ticket / Customer Impact
1 Community-reported and validated/reproduced
0 No customer or community validation

3. Community Signal (0-2 points)

Score Criteria
2 20+ upvotes
1 10-19 upvotes
0 <10 upvotes

4. Workaround Availability (0-2 points)

Score Criteria
2 No workaround possible
1 Complex workaround exists
0 Simple, documented workaround

Decision Actions by Score

Score Decision
5-10 Fix - Schedule for appropriate milestone based on score (higher = sooner)
0-4 Close - Close as “Won’t Do” with explanation

We can adjust this to be more aggressive after a first round of triage and trying it out with bugs open in the current milestone.


Scenario

Bug Wranglers may close bugs when a combination of these conditions are met:

  • Bug affects docker+machine or other deprecated feature
  • Low Impact - Priority Score <= 4
    • No customer escalation
    • Bug age > 1 Year (~60% of our current backlog are bugs over a year old)
  • Behaviour is documented
  • Cannot reproduce after 2 attempts
  • Reporter pinged for more info and no response within 7 days

Immediate Closure Conditions

Scenario Criteria Action
Outside support window Bug reported on version < 16.x Close immediately, unsupported
Fixed in supported version Bug cannot be reproduced on 18.6 (current) AND reporter is on 17.x or 16.x Close with upgrade guidance

Applying to Current Backlog

Here are examples based on our current backlog:

Likely Schedule

Close

Sample Copies for Closing

  • General low priority/score
Thank you for reporting this issue and for your patience.

After evaluating this bug against our backlog, we've determined it falls below our current prioritization threshold. This means the impact is limited relative to other issues in our backlog, a workaround exists or low related reports. We're also constantly working on broad architecture improvements to Runners which could make this issue obsolete in the future.

This is not a judgment on the validity of your report. We simply have finite capacity and must focus on issues with the broadest impact.

If circumstances change (wider impact or condition changes making this more urgent), we're more than happy to revisit.

/status "Won't do"
  • Can’t reproduce
Thank you for reporting this issue.

We attempted to reproduce this on Runner {{current_version}} but were unable to confirm the issue. This may indicate the bug was resolved in a subsequent release, is environment-specific or additional context is required to reproduce. See [maintained versions](https://docs.gitlab.com/policy/maintenance/#maintained-versions).

If you're still experiencing this issue, please let us know by confirming the issue occurs in our current Runner version with additional information to help us reproduce this.

We're happy to revisit once we can reliably reproduce the behavior.

/status "Won't do"
  • Deprecated docker+machine
Thank you for reporting this issue.

This bug affects the `docker+machine` executor, which was deprecated in GitLab 17.5 and is scheduled for removal.

We are no longer investing engineering effort in fixes for deprecated executors. We recognize this may be frustrating if you're still relying on this functionality. Please see our [documentation](https://docs.gitlab.com/runner/executors/) for other executor options that may work for you.

We appreciate your understanding as we focus resources on supported executors.

/status "Won't do"

Research

This draws from industry best practices like: