DEV Community

Pavan Kumar Sadashiv
Pavan Kumar Sadashiv

Posted on

Plan to Hit GitLab Level 4

Step-by-Step Action Plan to Hit GitLab Level 4 (7,500 Points)

  • Current Score: 3,868 points (Level 3)
  • Target Score: 7,500 points (Level 4)
  • Points Needed: 3,632 points

Step 1: Cash In Your 10 Already-Open MRs (+1,100 Points)

You already did 95% of the work on 10 open MRs—and all 10 have green pipelines (success). Don't leave these points on the table.

1A. Fix the 3 MRs Waiting on You (Today — 30 mins total)

  1. gitlab!261178 (+110 pts)
    • What to do: Delete the 1 noisy spec block at spec/lib/security/ci_configuration/secret_detection_build_action_spec.rb:189 that @ashvins asked to remove.
    • Finish: Push commit, resolve thread, comment @gitlab-bot ready @ashvins.
  2. gitlab!262103 (+110 pts)
    • What to do: Apply @erran's exact inline suggestion on shellescape_ref (remove the 2 top-level regex constants, add the NUL check, inline [^A-Za-z0-9_\-.,:+\/@\n[:^ascii:]]) and add the sh -c "printf %s ..." round-trip test.
    • Finish: Push commit, resolve @erran's threads, reply to @cbonk & @erran.
  3. gitlab!262558 (+110 pts)
    • What to do: Add Changelog: added to the commit message, add 1 test checking the file is deleted from storage in cleanup_stale_spec_files_worker_spec.rb, paste @jnutt's SQL query plan into the MR description, and set work_item: https://gitlab.com/gitlab-org/gitlab/-/work_items/633765 in the YAML file.
    • Finish: Push commit, resolve threads, ping @shameed3 & @jnutt.

1B. Nudge Maintainers on the 2 Approved MRs That Are Stalled (Today — 5 mins)

  1. gitlab!261030 (+110 pts) — Already approved by @ngala. Comment: @gitlab-bot ready or politely ping @mbenayoun for maintainer merge.
  2. gitlab!261025 (+110 pts) — Already approved by @jannik_lehmann. Comment @gitlab-bot ready to get a backend maintainer assigned to click Merge.

(Your other 5 open MRs — !4407, !4406, !262418, !261174, CNG!3156 — are already with reviewers/maintainers and will bring in another *~550 pts** as they merge.)*

Score After Step 1: 3,868 + 1,100 = ~4,968 points (~2,532 points left)


Step 2: Claim High-Multiplier community-bonus Issues (+1,000 Points)

Instead of doing ten small MRs, do 3 bonus-labeled issues where a single merge pays 230–430 points.

  1. Click to Self-Assign First (Rule: Never write code before assigning):
    • gitlab#635913 — MCP tool to list pipeline schedules (community-bonus::200 = ~330 pts)
    • gitlab#628563 — Fix concurrent mobile push subscription limit (community-bonus::100 = ~230 pts)
    • gitlab#457538 — Show parent-child relationships in iteration report (community-bonus::300 = ~430 pts)
  2. Verify 0 Competing MRs: Already verified — none of these 3 have an open MR.
  3. Link the Issue in Every MR Description: Always write Closes #<issue_iid> in the MR description so you get the +30 pt linked-issue bonus on top of the bonus label.

Score After Step 2: 4,968 + 990 = ~5,958 points (~1,542 points left)


Step 3: Batch 8 Fast MCP Server MRs in gitlab-org/gitlab (+1,040 Points)

The GitLab MCP Server (app/services/mcp/ and lib/api/mcp/) is small, self-contained Ruby code with fast RSpec tests and the exact same AI Foundations reviewers every time.

Pick up these 4 unassigned MCP issues first (each worth ~130 pts):

  1. Assign #632547 — Accept query / search_term aliases in MCP search tool (15-line change + spec).
  2. Assign #635931 — List unknown and accepted parameter names in MCP validation errors.
  3. Assign #632622 — Allow MCP save_note to edit an existing comment when note_id is passed.
  4. Assign #604238 — Add create_merge_request_pipeline MCP tool.

Then do 4 more from the same MCP list (#635916, #635915, #635910, #635909).

  • 8 Merged MCP MRs × 130 pts = +1,040 points.

Score After Step 3: 5,958 + 1,040 = ~6,998 points (~502 points left)


Step 4: Close the Final 500 Points via ai-assist, gitlab-lsp & Technical Posts

Finish the last ~500 points using whichever of these two paths is fastest that week:

  • Option A (4 Fast Code MRs in ai-assist / gitlab-lsp = +520 pts):
  • Option B (2 Technical Blog Posts + 1 MR = +530 pts):
    • Submit 2 deep-dive GitLab technical articles (MCP Server / Duo CLI architecture) for +200 pts each (+400 pts total) + 1 merged MR (+130 pts).

Score After Step 4: 7,518+ points → LEVEL 4 UNLOCKED 🏆


Step 5: Daily Checklist (How to Work with Your AI Agent Every Day)

Every time you sit down for a session, run this exact 4-part loop:

  1. Morning Check (10 mins): Ask the agent: "Check my open GitLab MRs for any new reviewer comments or pipeline failures and fix them immediately." (Reviewers merge fastest when you reply within a few hours.)
  2. Claim 1–2 Issues: Click the contributors.gitlab.com/manage-issue link to self-assign before coding.
  3. Local Test Before Push:
    • Ruby (gitlab): bundle exec rubocop <files> and bundle exec rspec <spec>
    • TypeScript (gitlab-lsp): npm test -- <test_file>
    • Python (ai-assist): poetry run pytest <test_file> and poetry run flake8
  4. Open MR & Request Review: Include Closes #<iid> in the description, wait for CI to turn green, then comment @gitlab-bot ready.

Top comments (2)

Collapse
 
katin profile image
matin kaboli •

Interesting roadmap. I like the focus on contributing consistently rather than relying on a few large contributions.

One thing I'd add is that contribution points should be treated as a byproduct of meaningful work, not the main goal. Understanding the codebase, writing reliable tests, and addressing reviewer feedback are what make contributions valuable in the long run.

It would also be worth verifying how the points are awarded and whether pending or merged MRs qualify before estimating the timeline. 🚀

Collapse
 
hrlpavan profile image
Pavan Kumar Sadashiv •

We are both working on contribution as well as code review, verification, and testing all back to back. If this feels good to you, you can follow this page. I'll share a new approach that can be agentically orchestrated.