CopilotKit / CopilotKit/outpost

Per-account contractual SLAs + a config UI — the global map flags every open ticket

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

Nobody has claimed this yet.

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

Description

SLA targets come from a single global per-priority map in packages/outpost/shared/src/constants.ts (DEFAULT_SLA_FIRST_RESPONSE / DEFAULT_SLA_RESOLUTION). There is no per-customer override and no UI to set one.

Why it matters

The global targets are tuned for paid support — HIGH means 8 hours to resolve — and are meaningless for OSS community tickets. So SLA_CHECK flags essentially every open ticket: on 2026-07-31 the dashboard read "SLA Breaches 51" against 51 total tickets. A metric that fires on everything conveys nothing.

This also blocks the sales use case: Outpost is meant to serve sales as well as support, and contractual SLAs are per-customer by definition.

Fix

  • SLA targets become a per-Account setting, editable on the customer page, sourced from that customer's contract, with the global map as the fallback.
  • A settings surface to edit them.
  • Clear slaBreachedAt once a ticket receives a response — today it is write-once, so the count only ever grows.
  • Scope the dashboard card to the selected month.

Interim, decided 2026-07-31: the dashboard card becomes "Needs human reply" — AI answered, no human followed up, across Discord + GitHub.

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 by reading packages/outpost/shared/src/constants.ts and tracing where DEFAULT_SLA_FIRST_RESPONSE and DEFAULT_SLA_RESOLUTION are consumed. Then locate the Account customer page and dashboard card entry points. Done means per-account overrides with a global fallback, editable settings, corrected breach clearing, and the selected-month or interim human-reply metric behavior described here.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.