--- type: convention title: "Forgejo issue triage labels — afk / hitl / blocked" summary: "The three-label triage vocabulary for issues on the Forgejo tracker: triage/afk (agent-ready), triage/hitl (needs human), triage/blocked (waiting on another issue). How to apply them and why the taxonomy is deliberately minimal." tags: - type/convention - tool/forgejo - convention/issue-triage - domain/ai-agents scope: global last_updated: 2026-07-08 --- # Forgejo Issue Triage Labels Established 2026-07-08 (first applied on `jared/servers`). Create these labels in any repo that gets issues; keep the vocabulary identical across repos. | Label | Color | Meaning | |---|---|---| | `triage/afk` | `0e8a16` (green) | Fully specified — an autonomous agent can pick it up and complete it with no human decisions. Issue body must contain acceptance criteria. | | `triage/hitl` | `d93f0b` (red) | Needs the human's hands or judgment: account access, physical machines, spending decisions, design calls. | | `triage/blocked` | `c5def5` (light blue) | Has an unresolved blocker issue. Remove when blockers close. Coexists with afk/hitl — the other label says what the issue becomes once unblocked. | ## Rules - Every published issue gets exactly one of `afk`/`hitl`, plus `blocked` if applicable. - `afk` is a promise: the issue body follows the tracer-bullet template (What to build / Acceptance criteria / Blocked by) and is self-sufficient without conversation context. - Prefer `afk` over `hitl` — split the human step into its own small `hitl` issue rather than tainting a whole slice. - Deliberately minimal (no priority/size/area facets): per the avoid-speculative-tooling principle, add more facets only when their absence actually hurts, not preemptively. ## Creating in a new repo ```bash tea labels create --name triage/afk --color 0e8a16 --description "Ready for an autonomous agent - no human decisions needed" tea labels create --name triage/hitl --color d93f0b --description "Needs human action or decision" tea labels create --name triage/blocked --color c5def5 --description "Waiting on another issue" ```