| Check | Severity | What it finds | One-click fix |
|---|---|---|---|
| Circular dependency | Critical | Issues that block each other in a loop, so none of them can start | No |
| Open issue under a closed parent | Warning | A parent (usually an epic) is Done but this child is still open | No |
| Empty epic | Warning | An open epic with no child issues, after a grace period | No |
| Untraced bug | Warning | A bug with no parent and no link | No |
| Blocked by a stalled issue | Warning | The blocker is open but untouched for a long time | No |
| Blocker already resolved | Info | Still "blocked by" an issue that is Done | Remove link |
| Epic ready to close | Info | Every child is Done but the epic is still open | Close epic |
| Orphan work item | Info | No epic and no link at all | No |
Epics, sub-tasks and Done issues are never reported as orphans. Done issues never count in a dependency loop.
The score goes from 0 to 100. Each problem costs points by severity (critical 10, warning 4, info 1), relative to the number of open issues (at least 10). 90 and above is Healthy, 70 to 89 Needs attention, below 70 At risk. One point per day is kept for 30 days to draw the trend.
Two problems can be fixed from the app: one at a time, or up to 20 at once with Fix all. The app first lists exactly what will change and asks for confirmation. It re-reads Jira just before each change and uses your own Jira permissions, so the change appears under your name in the issue history. If the epic workflow needs extra fields, the app tells you to close it in Jira instead.