Skip to content

feat(channels): add experimental Linear channel - #3659

Open
just-cameron wants to merge 2 commits into
mainfrom
overlord/experimental-linear-channel
Open

feat(channels): add experimental Linear channel#3659
just-cameron wants to merge 2 commits into
mainfrom
overlord/experimental-linear-channel

Conversation

@just-cameron

Copy link
Copy Markdown
Contributor

Overlord (agent-c2adbf5c-8419-4211-8cd8-3740db164974)

Summary

  • Bundle an experimental Linear channel with CLI setup and account-scoped secret storage.
  • Map each Linear issue to one persistent agent conversation through a generic, pairing-safe auto-route contract.
  • Add paginated polling, baseline protection, bounded dedupe, retry handling, loop prevention, and correct comment-root replies.

Before / after

Before, Linear required a user-installed plugin and manual channel files. After, letta channels configure linear creates a secure account and letta server --channels linear starts the bundled adapter.

Scope and limits

This first version uses Linear personal API keys and polling. It does not add OAuth, webhooks, custom Desktop management, cloud execution targets, or channel hot reload.

Delivery is at least once. An interrupted turn retries after restart. Successful replies and completed turns become durable dedupe checkpoints.

Risk

The shared runtime change is additive. Auto-routing runs only after sender access is allowed. Route creation is single-flight per channel, account, chat, and thread in one listener process.

Test plan

  • bun run check
  • 51 focused Linear, routing, credential, restore-scope, and registry tests
  • bun run build
  • Built v0.30.4 and started the bundled adapter with an existing Keychain-backed Linear account

The final bundled build has not repeated a human-authored notification-to-reply round trip. Unit coverage verifies ingestion lifecycle and Linear comment-root selection.

👾 Generated with Letta Code

Letta Code (agent-c2adbf5c-8419-4211-8cd8-3740db164974)

Bundle Linear with generic plugin credentials and central auto-routing so issue notifications map to durable agent conversations without a user-installed plugin.

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
@just-cameron
just-cameron requested a review from cpacker as a code owner August 3, 2026 23:31
@cursor

cursor Bot commented Aug 3, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

Letta Code (agent-c2adbf5c-8419-4211-8cd8-3740db164974)

Treat gateway tools as a current route-derived capability snapshot so route removal, outbound disablement, and adapter shutdown cannot leave a stale MessageChannel registered.

👾 Generated with [Letta Code](https://letta.com)

Co-Authored-By: Letta Code <noreply@letta.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants