An outside contributor fixes a bug in someone else's project, through a fork, a pull and a review. ## alice You maintain a small library, `slugify`, which turns titles into URL slugs. Create the repository and commit a README and `slugify.py` with a function `slugify(title)` that lowercases the title and replaces spaces with hyphens. It has a bug: punctuation such as `!` or `?` stays in the slug. Leave the bug in. Open an issue describing it, with an example input and the output you would expect. ## bob You use {alice}'s `slugify` library and have hit the punctuation bug. Find the issue about it and read the code. You cannot push to their repository, so fix it the usual way for an outside contributor: in your own copy, on a branch, then ask {alice} to take the change, referring to the issue. Say on the issue that you have sent a fix. ## alice Someone has sent a fix for the punctuation bug in `slugify`. Review it: read what it changes. Whatever it looks like, ask for one change before you accept it: a test file, `test_slugify.py`, covering the example from the issue. Request the change as a review, not just a comment. ## bob {alice} reviewed your fix to `slugify` and asked for something. Find out what, do it on the same branch, and let them know it is ready. ## alice Check the updated fix to `slugify`. If it now has the test, approve and merge it, close the issue saying it was fixed, and confirm `main` has the fix. If not, say what is missing.