CopilotKit / CopilotKit/outpost

Decide whether WAITING_ON_CUSTOMER / WAITING_ON_TEAM should map to Linear states

Open
#164 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area: sync roadmap roadmap: next
Dominant language
TypeScript
Stars
7
Forks
3
Avg merge
7d 16h
Merged PRs (30d)
15

Description

Product decision, surfaced by #160.

TicketStatus has six values. createLinearStatusMap() covers four:

Triage:        OPEN
Backlog:       OPEN
Todo:          OPEN
'In Progress': IN_PROGRESS
Done:          RESOLVED
Canceled:      CLOSED

WAITING_ON_CUSTOMER and WAITING_ON_TEAM have no reverse mapping. Before #160 they silently resolved to Triage via StatusMap.fromOutpost's fall-back-to-first-entry, which meant a waiting ticket dragged its Linear issue back to Triage and reported a successful sync.

#160 makes the adapter skip those pushes instead, because choosing a Linear state for "waiting on customer" is a product call, not a code one. That's the safe default, but it's a default — those tickets now simply don't sync their status, and the operator is told via the force-sync response and a log warning.

The alternatives:

  1. Keep skipping. Waiting states are Outpost-internal and have no meaningful Linear equivalent. Costs nothing, but the two systems visibly diverge for tickets in those states.
  2. Map both to a real stateTodo, Backlog, or a dedicated Linear state if the team adds one. Keeps the systems aligned at the cost of collapsing a distinction Outpost tracks.
  3. Map them differently — e.g. WAITING_ON_TEAMTodo (ours to act on), WAITING_ON_CUSTOMERBacklog (blocked externally).

Option 3 is probably closest to what the states actually mean, but it depends on how the team uses the Linear board.

Whichever way this lands, the mapping should go in createLinearStatusMap() so it's visible next to the rest, not left to the fallback.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at createLinearStatusMap() and read the status handling introduced by #160, including StatusMap.fromOutpost, the force-sync response, and the log warning. Resolve with the team whether waiting states stay skipped or map to Linear states, then place the chosen mapping in createLinearStatusMap(). Done means the product decision is reflected in the adapter and its reported sync behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.