GitLab Issue Queue (gitlab-org/gitlab)
Agent instructions
For each issue, in order:
- Re-check the issue is still open AND unassigned. Skip it if someone was assigned.
- Comment
/assign_reviewer-free: post "I'd like to work on this" and wait for a maintainer or team response if the issue is not labelled as open to contributions. - Read AGENTS.md and the relevant files in
.ai/ before editing anything. - Make the smallest change that fixes the root cause. No refactors or unrelated cleanups.
- Add or update specs. Run the related specs locally.
- One issue = one branch = one MR. Link the issue in the MR description.
- Stop and ask me if the issue needs product, design, or database-review decisions.
Tier 1: Small removals and cleanups (best first picks)
| Issue | Task |
| #638727 | Remove RSpec/SpecFilePathFormat disable from MCP search_labels_spec.rb (currently assigned, check first) |
| #635198 | Remove stale quarantine from vue3_rollout_spec.rb |
| #634569 | Clear the Fog connection cache in stub_object_storage_uploader |
| #633765 | Clean up RubyGems spec files marked pending_destruction |
| #637388 | Remove Notifications::TargetedMessages::DestroyWorker (labelled workflow::refinement, confirm it's ready) |
| #634447 | Delete Bitbucket Cloud issue import workers (milestone 19.8) |
| #634446 | Remove queued Bitbucket Cloud issue import jobs (milestone 19.7) |
Tier 2: Backend bugs and performance
| Issue | Task |
| #638990 | Observability service name derived incorrectly for self-hosted URLs |
| #638818 | Preload iteration cadence in project iteration autocomplete (N+1) |
| #638764 | Keep auto-remediation titles within 72 chars |
| #638385 | MCP route-backed tool calls write two api_json lines with wrong HTTP method |
| #637972 | Log approval policy rule creation failures above debug level |
| #637874 | Offline transfer: preload snippet repositories in SnippetsRepositoryPipeline |
| #637860 | Cascading settings writer marks non-boolean settings as changed |
| #637728 | Validate comment length in vulnerability state transition mutations |
| #637095 | Organizations activity feed ignores the organization param |
| #635535 | N+1 authorizing subgroups in GraphQL group labels |
| #633930 | Optimize group count query to select only IDs |
| #634028 | Container virtual registry caches a failed upstream token |
Tier 3: Frontend and UI
| Issue | Task |
| #638882 | removeListenerSystemColorSchemeChange doesn't remove listeners |
| #638901 | Follow-up: Vulnerability Context Flow last run (UI polish) |
| #638326 | Direct transfer import details show wrong or raw labels |
| #637714 | Add localized titles for remaining GitLab Credits flow types |
| #637320 | FOSS jest-build-cache fails on EE import in iteration.query.graphql |
| #636671 | Page title still says "Automate" on AI pages |
| #634272 | Duo Chat hides switch to classic Chat when usage billing unavailable |
Tier 4: Docs-only
| Issue | Task |
| #635599 | Document opting out of expiring tokens for GitHub import OAuth app |
| #633728 | Value stream analytics docs: state it's groups-only |
| #509818 | Assess curl commands on API pages |
| #479161 | Update alt text for images |
Tier 5: Test and tooling gaps
| Issue | Task |
| #632430 | Add missing test coverage for lib/gitlab/git/commit.rb |
| #634195 | Fix fast_spec_helper spec failing in isolation: gitaly_client_slis |
| #636388 | Fix flaky "Add seats" before hook in usage quotas seats spec |
| #632924 | Licensed/unlicensed spec coverage for group protected branches |
| #637215 | Tier 2 undercoverage check misses system-full child pipeline coverage |
Needs a human decision first (do not auto-run)