> For the complete documentation index, see [llms.txt](https://docs.gooddollar.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gooddollar.org/for-developers/contributing/open-source-contributors/qa-role.md).

# QA Role

QA happens after the Human Reviewer approves a PR. Your job is to test the actual behavior of the changes in a real environment — catching what code review cannot. Runtime issues, edge cases, UI on real devices, and flows that break under real conditions.

***

### The QA Process

1. Claim a `GoodBounties - QA` issue or get assigned one from the pool
2. Check out the branch locally or use the preview environment linked in the PR
3. Test against every criterion listed in the issue — not just the happy path
4. Document what you tested, what passed, and what failed
5. Submit your QA report as a comment on the PR (use the QA report format below)
6. If bugs are found, file separate structured bug reports on the PR
7. Tag the maintainer team (`goodbuilders-maintainers`) when your report is complete

> 🚫 **Not acceptable:** Vague claims with no steps. Non-reproducible reports. AI-generated content not verified against actual behavior.

***

### QA Report Format

Post your report as a comment on the PR using this structure:

* **QA Report**\
  Env: \[Browser / OS / Wallet / Network]\
  Branch: \[name or commit]
*

```
**Tests**
```

```
| Scenario | Expected | Actual | ✅/❌ |
| -------- | -------- | ------ | --- |
|          |          |        |     |
```

* **Bugs**: \[# / None]
* **Verdict**: Pass / Fail / Minor issues
* **Evidence**: \[links]

***

### Filing a Bug Report

File each bug as a **separate comment** on the PR. Use this format:

**✅ Good bug report:**

\`Severity: Blocker Summary: Staking flow fails silently when wallet has insufficient G$ balance

Environment: Chrome 123 / MacOS 14.4 / MetaMask 11.9 / Fuse network

Steps to reproduce:

1. Connect wallet with 0 G$ balance
2. Navigate to the Stake tab
3. Enter any amount and click Confirm

Expected: Error message — insufficient balance Actual: Modal closes, no error shown, no transaction sent

Evidence: \[screen recording link] Related to this PR? Yes — balance check removed on line 89 of StakeModal.tsx\`

**❌ Weak bug report (not acceptable):**

`"The staking thing doesn't seem to work on my end"`

***

### Bug Severity

| Severity    | Definition                                                                       | Examples                                                                                    |
| ----------- | -------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |
| **Blocker** | Feature broken, data loss, security issue, or breaks an existing working feature | Transaction fails silently, funds sent to wrong address, previously working flow now broken |
| **Major**   | Feature works but behaves incorrectly under normal usage                         | Wrong amount shown, confirmation missing, edge case affecting many users                    |
| **Minor**   | Small cosmetic or UX issue                                                       | Typo, misaligned element, brief flicker                                                     |

When unsure, go one level higher — maintainers can downgrade. Maintainers may cap bug bonuses per PR; if a cap applies it will be stated in the PR announcement.

***

### What Counts as an Accepted Bug

A bug is accepted when it is:

* **Reproducible** using your documented steps
* **In scope** — directly caused by changes in this PR
* **Not pre-existing** — not a known issue before this PR

Pre-existing bugs should be filed as a new GitHub issue — they may become a separate bounty.

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.gooddollar.org/for-developers/contributing/open-source-contributors/qa-role.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
