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

Đang mở
#148 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
34/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
go, graphql
Lĩnh vực
backend, testing

Hướng nghiên cứu

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.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

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

Ngôn ngữ chính
Go
Star
2
Fork
0
Merge trung bình
7 giờ 37 phút
Pull request đã merge (30 ngày)
26

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của coder/chat

Tất cả issue của coder/chat

Issue tương tự

Thêm issue về Go

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.