Triage states β†’ Linear labels and mechanics

Canonical triage state roles track the agent-related state an issue is in at any point in its life β€” not only at intake. In Linear they are carried by the workspace-level States label group, so they stay applicable after an issue has left the Triage inbox. Linear's native Triage feature complements them during intake.

These triage states are orthogonal to work-item typing (the workspace Type label group) and to the project and team routing in linear-work-items.md.

State roles β€” the workspace States label group

Apply exactly one States label at a time; move the issue between them as its state changes:

States label Meaning Linear mechanics that go with it
needs-triage Maintainer needs to evaluate New and integration-created issues also sit in the team's Triage inbox. To re-triage an accepted issue, apply the label and move its status back to Triage.
needs-info Waiting on the reporter Post a comment naming what is missing, then Snooze (linear issue snooze <id>) β€” snooze returns the issue to the inbox on any new activity, or when the deadline passes.
needs-grill Needs a grilling session before it can be specified Run a /grill-with-docs session; on completion move to ready-for-agent or ready-for-human.
ready-for-agent Fully specified, ready for an AFK agent Accept out of Triage (intake) or set the team's ready status (for intl-mocks, Todo). The Project backlog is the durable ready queue. Assign to the coding agent from Linear to start work now, or leave unassigned for later pickup. Prefer Cursor where the team has standardized on it.
ready-for-human Needs human implementation Same as above, with a human assignee.
wontfix Will not be actioned Decline (intake) or set the team's canceled-type status, with an explanation comment. Status names vary per team β€” verify with linear team states <team-id>. On intl-mocks the canceled-type status is Closed.

Other outcomes that need no States label:

Outcome Linear mechanism
duplicate Mark duplicate of the canonical issue (linear issue duplicate <id> <canonical>). Linear moves the duplicate into the system-managed Duplicate status and links it. Attachments and customer requests migrate; comment threads are not merged β€” copy unique details to the canonical issue first.
blocked mid-flight Move to the team's Blocked status; add a blocking relation (linear issue relate <blocker> <blocked> --type blocks) when another issue is the cause.

Accept and Decline are conventions over the standard issue-update API. Do not assume one team's status names apply to another.

intl-mocks workflow statuses

The intl-mocks team (key MOC) statuses, verified live: Triage β†’ Backlog / Todo β†’ In Progress β†’ Blocked / Ready Review / In Review β†’ Done / Deployed, with Duplicate, Stale, and Closed as duplicate or canceled-type terminals. Decline outcomes land in Closed.

The fallback team gl04-technology (key GL04) statuses, verified live: Backlog / Todo β†’ In Progress β†’ Blocked / Ready Review / In Review β†’ Done / Deployed, with Duplicate, Stale, and Closed as duplicate or canceled-type terminals. Confirm again with linear team states <team-id> before relying on a name.

Category roles β€” the workspace Type label group

Type label Meaning
Bug Something is wrong and needs to be fixed
Feature New capabilities added
Improvement Improving existing capabilities
Problem Multiple related bugs that belong together
Request Something requested, usually broken down into smaller sub-issues (for example Improvement or Feature)
Task Executable item with clear requirements
Incident An occurrence that, if it repeats, should roll up under a parent Problem

The canonical bug role maps to Bug; enhancement maps to Improvement (or Feature for larger new functionality). Use existing labels only β€” if a category you need has no label yet, ask a maintainer to add it to the group rather than creating one ad hoc.

The workspace handoff label marks handoff issues. See linear-work-items.md.