<!-- markdownlint-disable MD013 -->
Triage
Move issues on the tracker through a small state machine of triage roles. A PR
is an issue with attached code — same roles, same states, same machine.
The tracker and label vocabulary come from
docs/agents/issue-tracker.md
; run
if missing.
Every comment or issue an agent posts during triage must start with:
text
> *This was generated by AI during triage.*
Roles
Two
category roles:
(something is broken),
(new feature
or improvement).
Five state roles:
- — maintainer must evaluate
- — waiting on reporter
- — fully specified, an AFK agent can take it
- — needs a human
- — will not be actioned
Every triaged issue carries exactly one category role and one state role. If
state roles conflict, flag it and ask the maintainer before doing anything.
These are canonical roles. The
actual label strings come from
docs/agents/issue-tracker.md
(mapped by
onto whatever the repo
already uses). Don't apply the defaults verbatim if the repo renamed a role.
State transitions
An unlabeled issue →
→ one of
,
,
,
.
returns to
once the
reporter replies. The maintainer can override at any time — flag unusual
transitions and ask before proceeding.
Invocation
The maintainer describes what they want in natural language ("show me anything
that needs my input", "triage #42", "is this ready for an agent?"). Interpret
and act.
Agent-ready briefs
When moving an issue to
, attach a brief an AFK agent can act
on cold: the goal in the domain's vocabulary, the seams to test at, the files
likely in scope, and the acceptance criteria. A brief that assumes conversation
context is not ready.
Boundaries
Categorises and transitions issues; writes briefs. Does not implement.