CopilotKit / CopilotKit/outpost
LinearAdapter.pushNewIssue still guesses an initial state for unmapped statuses
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7
- Forks
- 3
- Avg merge
- 7d 16h
- Merged PRs (30d)
- 15
Description
Follow-up from #160.
#160 made LinearAdapter.pushStatusChange refuse to guess: StatusMap.fromOutpost falls back to the first entry of its config for any Outpost status with no reverse mapping, and createLinearStatusMap() covers four of TicketStatus's six values, so WAITING_ON_CUSTOMER and WAITING_ON_TEAM both resolved to Triage.
pushNewIssue was deliberately left unguarded (packages/outpost/shared/src/sync/adapters/linear.ts:208):
const stateId = await this.resolveWorkflowStateId(
this.mapStatusFromOutpost(ticket.status),
);
The reasoning: creating an issue requires picking some initial state, and Triage is a defensible default for a brand-new issue — unlike a status change, where guessing overwrites a state someone deliberately set.
It's arguable though, and it leaves the two paths inconsistent. Worth an explicit decision:
- keep the fallback for creation, and say so in a comment at the call site, or
- pass no
stateIdwhen the status is unmapped and let Linear apply the team default, or - resolve it together with the broader "should
WAITING_ON_*map to real Linear states" question
Low urgency — the failure mode is a new issue landing in the wrong column, not an existing one being silently moved.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in packages/outpost/shared/src/sync/adapters/linear.ts at line 208, then read pushStatusChange and StatusMap.fromOutpost as described in #160. Compare the creation and status-change paths, decide how unmapped statuses should behave, and document or implement the selected policy so new issues no longer have an implicit inconsistency.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100