# Code Review

**Note:** Once approved for Code Review, contributors join the reviewer pool  and are assigned reviews, which can be delegated to other reviewers.

**The Code Review Process**

* [ ] A contributor who solved a bounty creates a PR and requests a review from a maintainer using the  `goodbuilders-codereviewers` channel
* [ ] A reviewer from the `goodbuilders-dev` GitHub team gets assigned and notified (via GitHub or email)
* [ ] Reviewer has **2-3 days** to respond to the review request
* [ ] Check out the branch locally and test it — don't just read the diff
* [ ] Review against the issue requirements — does it actually solve the problem?
* [ ] Check for: logic errors, security issues, missing tests, code style
* [ ] Verify the PR has a proper description, tags the right issue, and clearly explains what's included
* [ ] If UI is involved, make sure demo videos are provided.&#x20;
* [ ] Submit your review: **Approve**, **Comment**, or **Request Changes.**&#x20;
* [ ] After approving a review, please request for an additional review from the maintainers team on GitHub (`goodbuilders-maintainers`) for a sign off on your pull request

> See the image below for where find the GitHub Teams. **Green** is for contributors requesting a code review, and **purple** is for code reviewers requesting a sign-off.

<figure><img src="https://3326799749-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LfsEjhezedCgGFXCkms%2Fuploads%2FpmTtbrG69MSNuW8HVK1g%2Fimage%20(8).png?alt=media&#x26;token=bc4fc079-6f21-4050-86d9-dbfacb674d5a" alt=""><figcaption></figcaption></figure>

* [ ] Re-review within **48 hours** when the author pushes changes and tags you

<br>

**Review timeline:**

* If your PR has been waiting more than 3 days, ping in `#goodbounties` on Telegram

**What makes a review "accepted"?** A review is accepted when it's substantive — you've actually tested the code or caught something meaningful. Rubber-stamp approvals don't count.

> 🚫 **Not acceptable:** "LGTM" with no substance. Purely stylistic comments. Generic feedback not tied to the actual changes. Any of these will result in payout rejection.

**✅ Good review comment example:**

\`File: StakeModal.tsx — line 147

Issue: The distribute() function does not check whether \\`amount` exceeds the pool balance before transferring. If it does, the transaction will revert on-chain but state will already be updated on line 143, leaving the contract in an inconsistent state.

Fix: Add a balance check before the state update: require(poolBalance >= amount, "Insufficient pool balance"); Or move the state update after the transfer so it only commits if the transfer succeeds.\`

**❌ Weak comment (not acceptable):**

`"This function looks a bit risky, might want to double check the logic here."`

**Review timeline:** First review within 3 business days. If your PR has been waiting longer, ping in [GoodBounties Telegram](https://t.me/gooddollarbounties/4115).

<details>

<summary><strong>Getting Review Permissions on GitHub</strong></summary>

Once you have 2 merged PRs, reach out on the telegram channel or tag a maintainer on GitHub. Permissions are granted manually — it usually happens within 24–48 hours.

**What This Unlocks**

After **3 accepted reviews**, you become a **Senior Contributor (Level 3)**. You get a vote on who joins the contributor pool and what gets built next.

→ Revisit the full growth path

</details>
