test: add Linear to the emulate.dev tier once emulate's Linear schema matches Linear

Offen
#148 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
34/100
Issue-Typ
Feature
Klarheit
Größtenteils klar
Aktivitätsstatus
Aktiv
Tech-Stack
go, graphql
Bereich
backend, testing

Rechercherichtung

Start by reading testdata/emulate/seed.yaml and the Linear gap list in CONTRIBUTING.md, then check a pinned emulate release against the four schema and webhook gaps listed in the issue. Once all four are fixed upstream, add a TestEmulateLinear* flow from a signed webhook through the HTTP handler to a stored GraphQL reply. Confirm it passes with mise run emulate and skips when its environment variable is absent; update the gap list to describe only remaining issues.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

enhancement

Problem

The emulate.dev tier from #147 covers only the Slack adapter. A Linear flow (webhook → handler → GraphQL reply) cannot pass against emulate 0.12.3, because emulate's Linear schema differs from Linear's. I checked emulate 0.12.3 and 0.13.0; both have the same Linear code.

  1. User has no organization field, so the single-install Init query (viewer { id name displayName organization { id } }) fails.
  2. CommentCreateInput has no parentId, so every threaded comment reply fails variable validation.
  3. AgentActivityCreateInput is {sessionId, type, body}. Linear's is {agentSessionId, content}, so every agent activity fails.
  4. Comment webhooks carry data.userId but no data.user, so the adapter ignores them as having no author. AgentSessionEvent webhooks carry the session in data instead of the top-level agentSession, so the adapter ignores them too.

Our adapter follows Linear's documented shapes, so these are emulate gaps, not adapter bugs. The owner chose to ship the tier without Linear tests (2026-10-30).

Proposal

Add a Linear emulate test when a pinned emulate release fixes these four gaps: a signed webhook from emulate → the adapter's HTTP handler → the handler → a GraphQL reply that emulate stores. The seed in testdata/emulate/seed.yaml already has a Linear team and an actor: app OAuth app.

Follow-up trigger: a new emulate release. Check its Linear schema for the four items above before bumping the pin.

Acceptance

  • TestEmulateLinear* passes against the pinned emulate with mise run emulate running and skips without its environment variable.
  • The Linear gap list in CONTRIBUTING.md shrinks to what is still true.

Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: high

Vorherrschende Sprache
Go
Sterne
2
Forks
0
Ø Merge
7 Std. 37 Min.
Gemergte PRs (30 T.)
26

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus coder/chat

Alle Issues in coder/chat

Ähnliche Issues

Weitere Issues zu Go

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.