Bisect Hunt: Find the Commit That Broke the Totals
A café kiosk's totals went wrong somewhere in 60 commits, and for three of them the code doesn't even build. Write a test script for git bisect run that skips broken builds, find the culprit, revert it, and explain the bug. A local self-check verifies your script, every answer in your bisect log and the fix, and writes your submission for instant, rubric-based feedback.
40 min
Est. time
3
Outcomes
4
Rubric criteria
60%
Pass score
What you'll learn
Skills you'll have real reps in after shipping this.
The scenario
Bean There's order kiosk adds up orders at the counter. Since some point after v1.0, a few totals come out a penny or two short, and customers have noticed.
Sixty commits by three people have landed since v1.0. In the middle of them, a file move broke the build for three commits. You have a build script, a test suite that fails today, and no idea which commit is to blame.
Your role
You are the developer on call. Your deliverable is a bisect-test.sh that git bisect run can trust (125 for an unbuildable commit, 0 for passing tests, 1 for failing ones), the saved log of a bisect that names the right commit, a revert of that commit on main with the tests passing, and notes explaining what went wrong.
Start the task to unlock the full brief
You'll get the step-by-step requirements, setup commands, the 4-criterion grading rubric, tips, and the ability to submit your solution for instant AI grading.
Free to start · submit when you're ready
Learning resources
Find a bug with git bisect run, hands-on
git bisect finds the commit that broke something by halving the suspects with every test, and git bisect run lets a script do the testing. The catch: a commit that fails for an unrelated reason, such as a broken build, has to be skipped, or bisect blames the wrong commit. This kit gives you a small order kiosk with 60 commits, a failing test suite and three commits that don't build. You write the test script, exit 125 included, let bisect find the culprit, revert it and explain the bug. A local self-check runs your script at chosen commits, verifies every answer in your bisect log against the history, and writes your submission only when everything genuinely passes. It is the Level 8 project in Preporato's Git course.