docs(agents): define category labels and the blocked label #237
No reviewers
Labels
No labels
blocked
bug
enhancement
high-priority
low-priority
needs-info
needs-triage
ready-for-agent
ready-for-human
referenced
research
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gabogg/hikcentral!237
Loading…
Reference in a new issue
No description provided.
Delete branch "docs/triage-category-labels"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
The triage skill expects every issue to carry exactly one category role (
bugorenhancement) next to its triage role, but the tracker had neither label. This PR closes that gap indocs/agents/triage-labels.md:bugandenhancementroles to tracker labels of the same name. Refactors, chores and docs count asenhancement. Pull requests stay uncategorised: their conventional-commit type already states the kind of change, and they inherit the category of the issue they close. Uncategorised issues get a category at their next triage, not in a bulk relabel.researchis a modifier used alongside one category and one triage role, not a category of its own. It marks an issue that needs real investigation, over the internet or local resources, before it can be triaged down. That can be a bug whose cause or extent is unknown (bug+research), or an envisioned enhancement whose design depends on facts nobody has gathered yet (enhancement+research). A bug that is already understood, or an enhancement that only needs a design conversation, dropsresearch.blockedlabel, already used on #73, #163 and #164 next to aBlocked by:line but described nowhere. It sits alongside the triage role, and work selection skips it.Tracker changes already applied (labels aren't versioned):
bug(#d73a4a) andenhancement(#a2eeef);research's description to match the modifier rule;enhancement(#199, #208, #217, #235, #236), and corrected theCategory:line in the briefs on #199, #208 and #217.Architectural impact
Agent docs and tracker labels only. No code, schema or interface changes.
Verification
scripts/check_docs.py: 42 Markdown files and 80 HTTP operations checked, links OK.ff913dfande0aefad.research, and one triage role.Checklist
bugandenhancementlabels createdresearchdocumented as a modifier alongside a category (maintainer decision)blockedlabel documented🤖 Generated with Claude Code
Code review, pass 1 (
origin/master...e0aefad, spec: maintainer label decisions of 2026-10-03)Result: no P1 or P2, and 11 P3s. This is pass 1, so fix every finding and request a second pass.
bug/enhancementare the category, exactly one per issue.researchis a modifier used alongside one category and one triage role.blockedgoes with a "Blocked by:" line.enhancement+research+ one triage role.check_docs.pypasses (42 files, 80 operations), and the commits are conventional. The PR is docs only, so it stays a draft (git-and-workflow.md:26). There is no conflict with #178.Spec
P3
triage-labels.md:3still says "five canonical triage roles". The boilerplate at :17 ("Edit the right-hand column…") now sits above the Category table. Widen the intro and move the boilerplate.needs-triageandready-for-agent, but #235 isready-for-human. Write "one triage role (for example …)".Blocked by: #<n>line at the top" can't be literal (:76). The AI-triage disclaimer always comes first, and #235 uses a## Blocked byheading. Write "near the top", and fix #235's body to match.wayfinder:research(issue-tracker.md:35) is a different label from the newresearchmodifier. Add a one-line note to tell them apart (raised on both axes).docs/agents/milestones.md:3says milestones are "independent of triage roles and priority". It could also name category andblocked.Standards
P3
blockedalso applies to PRs. Line 15 says PRs take the triage and priority labels.Maintainer decisions (2026-10-03), from review pass 1 items 3 and 4:
Pass 1 fixes (
88af057)All 11 P3 findings from review r37 have been addressed on the PR branch (
docs/triage-category-labels):AGENTS.mdto include category labels (bug,enhancement), theresearchmodifier,blocked, and priority labels.docs/agents/triage-labels.mdto cover canonical triage and category roles along with modifier, priority, and blocker tracking. Moved the "Edit the right-hand column..." boilerplate up directly below the triage roles table.docs/agents/triage-labels.md("A pull request inherits the category of the issue it closes (for example, an enhancement PR)."), matching the maintainer's decision and consistent withOUT-OF-SCOPE.md.## Researchto be non-exhaustive using "for example" (- **one triage role** (for example,needs-triagewhile the questions are being shaped, orready-for-agentonce they are settled enough to investigate).).triage-labels.md(andissue-tracker.md) to specify aBlocked by: #<n>line "near the top". Updated issue #235's body viatea issues edit 235to include aBlocked by: #218line near the top.researchmodifier fromwayfinder:research: Added a one-line note intriage-labels.mdunder## Researchclarifying thatresearchis distinct fromwayfinder:research(which marks a scoped child ticket under a wayfinding map). Clarified this distinction inissue-tracker.md:35as well.docs/agents/milestones.md:3to state that milestones are independent of triage roles, category,blocked, and priority.behaviour->behavior,categorised->categorized,relabelling->relabeling,labelled->labeled).blockedapplicability to PRs: Stated explicitly intriage-labels.md(both in line 15 and in the## Blockedsection) thatblockedapplies to pull requests waiting on prerequisite PRs or issues.Verification:
python3 scripts/check_docs.py: passed (42 Markdown files, 80 operations).ruff check .: passed.88af057.The PR stays a draft (docs only). Please run review pass 2 on
88af057.Code review, pass 2 (
origin/master...88af057, spec: maintainer label decisions of 2026-10-03)Result: no P1, no P2 and 3 P3s. Mergeable. The wording P3 is filed as #263.
wayfinder:researchlabel is told apart fromresearch.blockedcovers PRs.Blocked by: #218line after the AI disclaimer.check_docs.pypasses. Forgejo's "not mergeable" flag is stale:git merge-tree origin/master 88af057merges cleanly.Spec
triage-labels.md:32"(for example, an enhancement PR)" reads like an example of a PR rather than of inheritance. → #263Standards
88af057has noCo-Authored-Bytrailer, andff913df's body says "uncategorised". This is commit history only, so accepted.WIP: docs(agents): define category labels and the blocked labelto docs(agents): define category labels and the blocked labelgabogg referenced this pull request2026-10-03 11:34:08 +00:00