| Rail | State | What it means |
|---|---|---|
| 🔵 Blue | Under review | Default state, nothing known to block the merge |
| 🟠 Amber | In flux | Draft, pipeline running, or merge scheduled |
| 🔴 Red | Blocked | At least one required merge gate is failing |
| 🟢 Green | Ready to merge | Every required gate is confirmed passing |
| 🟣 Purple | Merged | Terminal, the MR was merged |
| ⚫ Grey | Closed | Terminal, closed without merging |
Reading the requirement rows
The card body shows one row per merge requirement that is actually enabled for the repository: required CI, approvals (with the required count), an up-to-date branch, resolved review threads, and merge conflicts. Each row flips independently as events arrive:- 🟢 the requirement is confirmed passing
- 🔴 the requirement is failing and blocks the merge
- 🔄 in progress right now (a running pipeline)
- ⚪ pending (a pipeline that exists but has not started)
- ◻️ unknown, PRFlow has no signal yet; unknown is never treated as passing
Blue: under review

Amber: in flux

Red: blocked

Green: ready to merge

Purple: merged

Grey: closed

Questions about a state you’re seeing? Email hello@prflow.dev.