TICKET MANAGEMENT

Nightly sweep that merges stale duplicate bugs into their canonical ticket

Runs on a schedule to scan open Linear bugs, cluster ones sharing a crash signature, close the duplicates with a cross-link to the canonical issue.

CategoryTicket Management
Enginesim
Difficultyintermediate
Triggerschedule
Steps6
Setup~15 min

How it runs

The automated pipeline, trigger to output.

  • TriggerNightly schedule
  • ActionFetch open Linear bugs + signaturesLinearLinear
  • LogicCluster by signature, pick canonical
  • ActionClose duplicates and cross-link canonicalLinearLinear
  • ActionRecord merge decisionsPostgreSQLPostgres
  • OutputPost consolidation digest to SlackSlack

What it does

A scheduled cleanup pass over your bug backlog. It groups open Linear bugs by their recorded crash signature, picks the oldest as canonical, and closes the rest as duplicates with a comment pointing to the survivor. A Slack digest reports what was merged so triagers can audit it.

When to use it

When duplicates have already accumulated and you want a recurring, hands-off way to keep the backlog clean rather than catching them one event at a time. Pair it with real-time dedup for full coverage.

How it works

  1. 1A nightly schedule fires the sweep.
  2. 2The flow pulls all open Linear bugs and their stored signature labels from a Postgres mapping table.
  3. 3It clusters issues by shared signature and picks the lowest issue number as canonical per cluster.
  4. 4For each duplicate, it closes the Linear issue as 'Duplicate', comments with the canonical link, and copies any unique reproduction notes upward.
  5. 5It posts a Slack summary listing each cluster, the canonical ticket, and how many duplicates were folded in.

Set it up

What you configure once, before turning it on.

  1. 1
    Connect LinearIssues, projects, cycles, triage.
  2. 2
    Connect PostgresAny Postgres URL — query, write, migrate.
  3. 3
    Connect SlackChannels, DMs, threads, mentions.
  4. 4
    Set each agent's modelWe leave models unset so you pick the tier — fast + cheap, or top-quality.
  5. 5
    Tune it to your dataEdit the prompts, filters, and field mappings so it matches how your team works.
  6. 6
    Test, then turn it onRun once against a sample, confirm the output, then enable the trigger.

Run this workflow in your colony.

14-day trial. No DevOps. No Sales call. Provisioned in under a minute.