Copyright (c) 2026 MindMesh Academy. All rights reserved. This content is proprietary and may not be reproduced or distributed without permission.

4.1. Issues, Pull Requests, and Discussions

GitHub gives collaboration three distinct surfaces, and picking the right one for a given conversation is exactly the kind of judgment call the exam likes to test.

💡 First Principle: Each of GitHub's three collaboration surfaces exists for a different shape of conversation. An issue tracks a discrete unit of work — a bug, a task, a request — that's expected to eventually close. A pull request proposes a specific code change and exists to be reviewed and merged (or closed). A discussion is open-ended — questions, ideas, announcements — with no expectation that it resolves to a single outcome the way an issue or PR does.

IssuePull RequestDiscussion
TracksA unit of workA proposed code changeAn open-ended conversation
Contains a diff?NoYesNo
Expected outcomeClosedMerged or closedOngoing or marked answered
Typical useBug report, taskCode reviewQ&A, ideas, announcements

⚠️ Exam Trap: A pull request is not just "an issue with code attached." It carries an actual diff against the target branch and drives the review/merge workflow — issues and discussions never do either of those things.

Reflection Question: A contributor wants to propose a design change before writing any code, just to get early feedback. Which of the three surfaces fits that conversation best, and why not the other two?

See how it connects
Alvin Varughese
Written byAlvin Varughese
Founder18 professional certifications