Contribution Number: [1 / 2 / 3]
Student: Karen Emily Muhwezi
Issue: ggml-org/llama.cpp#11031
Status: [Phase I] [Complete]
Having worked with machine learning models, I've always interacted with them at a high level, loading them, running inference, getting outputs. This issue gave me an opportunity to go deeper and understand what's actually happening underneath, specifically how a production inference server manages multiple model configurations and adapter weights. The idea of mapping model names to LoRA configurations might sound simple on the surface, but it sits right at the intersection of server architecture and ML model behavior, which is exactly the kind of problem I want to understand better. I also chose this issue because it lives in llama.cpp, one of the most active and widely used open source AI projects. Most of my programming background is in Python, and contributing to a large C/C++ codebase is a deliberate stretch goal for me. I want to experience what it feels like to solve a real problem in a systems language, navigate an unfamiliar codebase with thousands of lines of code, and have that solution ship in a product that real users depend on. More than the code itself, I'm hoping this contribution builds the kind of problem-solving instincts that only come from working on something that actually matters.
[In your own words, what's broken or missing?]
[What should happen?]
[What actually happens?]
[Which parts of the codebase are involved?]
[Notes on setting up your local development environment - challenges you faced, how you solved them]
- [Step 1]
- [Step 2]
- [Observed result]
- Commit showing reproduction: [Link to commit in your fork]
- Screenshots/logs: [If applicable]
- My findings: [What you discovered during reproduction]
[Your analysis of the root cause - what's causing the issue?]
[High-level description of your fix approach]
Using UMPIRE framework (adapted):
Understand: [Restate the problem]
Match: [What similar patterns/solutions exist in the codebase?]
Plan: [Step-by-step implementation plan]
- [Modify file X to do Y]
- [Add function Z]
- [Update tests]
Implement: [Link to your branch/commits as you work]
Review: [Self-review checklist - does it follow the project's contribution guidelines?]
Evaluate: [How will you verify it works?]
- Test case 1: [Description]
- Test case 2: [Description]
- Test case 3: [Description]
- Integration scenario 1
- Integration scenario 2
[What you tested manually and results]
[What you built this week, challenges faced, decisions made]
[Continue documenting as you work]
- Files modified: [List]
- Key commits: [Links to important commits]
- Approach decisions: [Why you chose certain approaches]
PR Link: [GitHub PR URL when submitted]
PR Description: [Draft or final PR description - much of the content above can be adapted]
Maintainer Feedback:
- [Date]: [Summary of feedback received]
- [Date]: [How you addressed it]
Status: [Awaiting review / Iterating / Approved / Merged]
[What you learned technically]
[What was hard and how you solved it]
[Reflection on your process]
- [Link to helpful documentation]
- [Tutorial or Stack Overflow post that helped]
- [GitHub issues or discussions that helped]