Linear Status Cleanup — Client Teams

Purpose: Standardize workflow states (issue statuses) across client teams so boards and views behave consistently. Each Linear team has its own workflow; this doc defines the recommended set and how to audit and clean up.

Scope: Client teams only (LMNT, CTA, Eden, etc.). Internal teams can follow the same pattern if desired.

References: linear-cleanup-taxonomy.md, linear-board-audit-sop.md, linear-full-cleanup-discovery-report-2026-03-17.md.


Use exactly these ten states so boards and views are consistent across client teams. Linear workflow states have a type: backlog, unstarted, started, completed, canceled. Multiple states can share a type.

OrderNameTypeNotes
1BacklogbacklogNot yet scheduled.
2Ready for workunstartedReady to be picked up; before cycle assignment.
3Next CycleunstartedScheduled for next cycle; keep if using cycles.
4To dounstartedTo be worked on (e.g. in current cycle).
5In progressstartedWork in progress.
6Requirements reviewbacklogRequirements being reviewed or refined (before work starts).
7Internal ReviewstartedInternal (e.g. PR / code) review.
8Client ReviewstartedWaiting on client feedback.
9DonecompletedCompleted.
10CanceledcanceledWon’t do / duplicate.

Higher-level categories (Linear Issue statuses): In Settings → [Team] → Issue statuses, Linear groups states into four (or five) categories. When creating or editing a state, assign the correct category so the board and filters behave as expected:

Linear categoryOur states in this categoryUse for
BacklogBacklog, Requirements reviewNot yet scheduled; requirements review/refinement. Default for new issues.
UnstartedReady for work, Next Cycle, To doReady or scheduled but work not started.
StartedIn progress, Internal Review, Client ReviewWork in progress or in review.
CompletedDoneFinished work.
CanceledCanceledWon’t do / duplicate.

Ensure each of our ten states is assigned to the category in the table above. After merging or renaming, remove any leftover states from the wrong category and archive them once empty.


2. Common variants → standard name

When cleaning up, map existing state names to the standard set (then rename or merge in Linear).

If you see (variant)Map to (standard)
ToDo in Cycle, Todo in Cycle, ToDo This Cycle, Todo In CycleTo do
Ready for Work/Developme, Ready for Development, Ready for workReady for work
In Progress, Started, WIPIn progress
PR Review, Internal Review (duplicate)Internal Review
Client Review, Waiting on clientClient Review
Done, Complete, CompletedDone
Canceled, Cancelled, Duplicate, Won’t doCanceled
Next Cycle, Needs groomingNext Cycle
TriageBacklog (or archive if empty)
Escalated / Needs SME, Escalation / need SME, Needs Escalation / SMEIn progress (or Internal Review if under review)
Requirements Started, Requirements in Review, Requirements In ReviewRequirements review
Testing, Needs Revision, BlockedIn progress or To do (move by context; then archive the state)

Rename in Linear: Settings → [Team] → Workflow. Merge by moving all issues from state A into the keeper state, then archive state A.


3. Cleanup steps

  1. Audit — Run the workflow-state audit script to list every client team’s states (name, type, position, issue count). Report: knowledge/sales/linear-status-audit-YYYY-MM-DD.md (or stdout).
  2. Review — Per team, decide: which names to rename to standard, which states to merge, which to archive (no issues).
  3. Apply — In Linear: Settings → [Team] → Workflow. Rename states; for merges, move issues to the keeper state then archive the duplicate. Alternatively use the Linear API (workflowStateUpdate, move issues then archive state) if doing bulk.
  4. Re-audit — Run the audit again to confirm and to keep a snapshot for the next cleanup.

Script: apps/platform/scripts/audit-linear-workflow-states.ts. Run from apps/platform: npx tsx scripts/audit-linear-workflow-states.ts. Writes a report to vault or prints to stdout. Example report: linear-status-audit-2026-03-18.md.


4. Constraints

  • One default state per type — Linear may require a single default for backlog/unstarted/started/completed/canceled. Prefer one “To do”, one “In progress”, one “Done”, one “Canceled”.
  • Issue count — Before archiving a state, move or close all issues in it; Linear may not allow archiving a state that has issues.
  • Board audit — After status cleanup, run a board audit (linear-board-audit-sop.md) to propose status updates for issues that were in renamed/merged states.

5. Audit script usage

From apps/platform:

npx tsx scripts/audit-linear-workflow-states.ts

Optional: --output ../../knowledge/sales/linear-status-audit-YYYY-MM-DD.md to write the report to vault (path relative to apps/platform). Requires LINEAR_API_KEY or BRAINFORGE_PLATFORM_LINEAR_APP_TOKEN.

The script lists each (client) team and, for each, all workflow states with: name, type, position, and optionally issue count. Use the output to decide renames and merges per team.