Welcome to the Reverse-Engineered Issue Workflow — a hands-on project designed to help students and new contributors learn how to analyze, recreate, and fix closed issues from real-world open source repositories.
This repo contains:
- ✅ A structured 5-step reverse-engineering process
- 📄 Log templates for pre- and post-fix documentation
- 🧠 Reflection and skill-tracking guidance
- 🛠️ Tools for mentor/instructor verification
This project is built to:
- Demystify how open source fixes are made
- Help students learn by rebuilding fixes from scratch
- Reinforce Git/GitHub workflows (branching, tagging, diffing)
- Encourage deeper reading of code, PRs, and file changes
- Teach reproducible, reflective coding practices
Each issue you reverse-engineer should follow the 5 documented steps:
| Step | Summary |
|---|---|
| Step 1 | Select and prepare an issue + PR to reverse-engineer |
| Step 2 | Study the original PR and tag the broken state |
| Step 3 | Recreate and manually fix the issue yourself |
| Step 4 | Compare your fix to the original and document your work |
| Step 5 | Reflect on what you learned and how you grew |
See individual Markdown files in the /steps directory for details.
All work should be paired with:
- 📌
RE Issue Pre-Fix Log— created in Step 2 - 🛠
RE Issue Post-Fix Log— completed in Step 4
Templates are provided in the /templates/ directory.
/steps/
step-1-select-and-prep.md
step-2-study-the-issue.md
step-3-apply-the-fix.md
step-4-wrap-it-up.md
step-5-reflect-and-learn.md
templates/
re-issue-pre-fix-log-template.md
re-issue-post-fix-log-template.md
docs/
README_Reverse_Engineering_Project.md
osire-mentor-checklist.md
//TODO Update files in doc
Sample_Issue_Walkthrough/ (optional)
assets/
osire-project-cover-image.png
-
Use a clean Git branch for your fix
-
Tag the broken state before you begin your changes:
git tag broken-version-##### -
Log your process using both templates
-
Compare your fix to the original PR using:
git diff broken-version-#####..your-branch-name -
Submit your full documentation with all logs and branch references
To view a complete example, see the /Sample_Issue_Walkthrough directory. This includes:
// TODO Update sample issues
- A real issue and PR from freeCodeCamp
- A pre-fix log and post-fix log
- The diff between the broken and fixed branches
- Reflections and lessons learned
This project was created as part of an Honors Program initiative.
For questions, mentoring requests, or adaptation help, please contact:
Nick Hanson:
This project is open for educational use, remixing, and adaptation. Please credit the original author if reused in another course, bootcamp, or repo.
OSIRE for now, OSIRIS for the spin-off courseware! :D

