Issue Triage Process
How we classify, prioritize, and manage GitHub issues.
Labels
Type
| Label |
Description |
bug |
Something is broken |
feature |
New functionality |
enhancement |
Improvement to existing functionality |
docs |
Documentation only |
question |
Support / how-to question |
chore |
Tooling, CI, dependencies |
Priority
| Label |
Response SLA |
Fix SLA |
Description |
priority: P0 |
Same day |
< 3 days |
Critical — service down, data loss, security |
priority: P1 |
< 3 days |
< 2 weeks |
High — major feature broken, no workaround |
priority: P2 |
< 1 week |
Next release |
Medium — feature degraded, workaround exists |
priority: P3 |
< 2 weeks |
Backlog |
Low — minor, cosmetic, nice-to-have |
Status
| Label |
Description |
needs-info |
Waiting for reporter to provide more details |
confirmed |
Bug reproduced or feature accepted |
good-first-issue |
Suitable for new contributors |
help-wanted |
Open for community contribution |
wont-fix |
Intentional behavior, out of scope, or won't be addressed |
duplicate |
Already tracked in another issue |
stale |
No activity for 30 days |
Component
| Label |
Maps to |
component: backend |
document-parser/ |
component: frontend |
frontend/ |
component: e2e |
e2e/ |
component: docker |
Docker / docker-compose |
component: ci |
.github/workflows/ |
Triage Workflow
New issue
│
├─ Missing info? → label `needs-info`, comment asking for details
│ (auto-close after 14 days if no response)
│
├─ Duplicate? → label `duplicate`, link to original, close
│
├─ Out of scope? → label `wont-fix`, explain why, close
│
└─ Valid issue
│
├─ Add type label (bug / feature / enhancement / ...)
├─ Add component label
├─ Assess priority (P0 / P1 / P2 / P3)
├─ If simple → add `good-first-issue`
└─ Assign to milestone (if applicable)
Stale Policy
| Condition |
Action |
| No activity for 30 days |
Bot labels stale + comment |
| No activity for 14 more days |
Bot closes the issue |
| Reporter responds |
stale label removed, timer resets |
Issues labeled priority: P0 or priority: P1 are exempt from the stale policy.
Response Expectations
- Every issue gets a response (even if it's "thanks, we'll look at this next week")
- Acknowledge within the SLA for the priority level
- If you can't fix it soon, say so — don't leave reporters hanging
- Close issues with a comment explaining the resolution