{
  "agentActivities": [],
  "agentSessions": [],
  "attachments": [],
  "auditEntries": [],
  "comments": [
    {
      "body": "I can reproduce this consistently with `wrk -t4 -c200 -d30s`. The async queue uses a fixed-size ring buffer. When full, new entries overwrite the oldest without any backpressure signal.",
      "createdAt": "2025-03-26T10:00:00Z",
      "editedAt": null,
      "id": 1,
      "issueId": 1,
      "linearId": "bb080001-1f1f-4001-8001-000000000001",
      "parentId": null,
      "resolvedAt": null,
      "resolvedByUserId": null,
      "updatedAt": "2025-03-26T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-1#comment-1",
      "userId": 2
    },
    {
      "body": "Good find. Let's switch to a bounded queue that blocks on full instead of dropping. We also need a dead-letter path for events that fail processing 3 times.",
      "createdAt": "2025-03-26T11:00:00Z",
      "editedAt": null,
      "id": 2,
      "issueId": 1,
      "linearId": "bb080002-2f2f-4002-8002-000000000002",
      "parentId": 1,
      "resolvedAt": null,
      "resolvedByUserId": null,
      "updatedAt": "2025-03-26T11:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-1#comment-2",
      "userId": 1
    },
    {
      "body": "Permission check endpoint is done. Starting on the CRUD for policies. Using Casbin under the hood for the RBAC model.",
      "createdAt": "2025-03-27T14:00:00Z",
      "editedAt": null,
      "id": 3,
      "issueId": 2,
      "linearId": "bb080003-3a3a-4003-8003-000000000003",
      "parentId": null,
      "resolvedAt": null,
      "resolvedByUserId": null,
      "updatedAt": "2025-03-27T14:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-2#comment-3",
      "userId": 2
    },
    {
      "body": "Root cause confirmed: Safari 17.3 changed the default WebGL context attributes. Explicitly setting `preserveDrawingBuffer: true` fixes it. PR up for review.",
      "createdAt": "2025-03-28T09:00:00Z",
      "editedAt": null,
      "id": 4,
      "issueId": 3,
      "linearId": "bb080004-4b4b-4004-8004-000000000004",
      "parentId": null,
      "resolvedAt": null,
      "resolvedByUserId": null,
      "updatedAt": "2025-03-28T09:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-3#comment-4",
      "userId": 3
    },
    {
      "body": "Looking at this more closely - we should use optimistic locking with a version column. Last-write-wins is too lossy for our use case where edits are often complementary, not conflicting.",
      "createdAt": "2025-03-27T10:00:00Z",
      "editedAt": null,
      "id": 5,
      "issueId": 15,
      "linearId": "bb080005-5c5c-4005-8005-000000000005",
      "parentId": null,
      "resolvedAt": null,
      "resolvedByUserId": null,
      "updatedAt": "2025-03-27T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-15#comment-5",
      "userId": 1
    },
    {
      "body": "Fixed by properly removing all event listeners in the `close` handler. The issue was that `removeListener` was being called with a different function reference than the one passed to `on`. Switched to using `AbortController` for cleanup.",
      "createdAt": "2025-03-20T11:00:00Z",
      "editedAt": null,
      "id": 6,
      "issueId": 23,
      "linearId": "bb080006-6d6d-4006-8006-000000000006",
      "parentId": null,
      "resolvedAt": null,
      "resolvedByUserId": null,
      "updatedAt": "2025-03-20T11:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-23#comment-6",
      "userId": 2
    }
  ],
  "customerNeeds": [],
  "customers": [],
  "customerStatuses": [],
  "customerTiers": [],
  "customViews": [
    {
      "color": "#f2c94c",
      "createdAt": "2025-03-01T10:00:00Z",
      "creatorId": 1,
      "description": "Issues assigned to me that are in progress",
      "filterData": {
        "assignee": {
          "me": true
        },
        "state": {
          "type": [
            "started"
          ]
        }
      },
      "icon": ":zap:",
      "id": 1,
      "linearId": "bb0b0001-cv01-4001-8001-000000000001",
      "name": "My Active Work",
      "shared": false,
      "teamId": 1,
      "updatedAt": "2025-03-01T10:00:00Z"
    }
  ],
  "cycles": [
    {
      "completedAt": null,
      "completedScopeCount": 3,
      "createdAt": "2025-03-23T10:00:00Z",
      "description": "Current sprint: webhook reliability, permissions API, Safari fix",
      "endsAt": "2025-04-06T23:59:59Z",
      "id": 1,
      "linearId": "bb070001-1d1d-4001-8001-000000000001",
      "name": "Sprint 5",
      "number": 5,
      "progress": 40,
      "scopeCount": 7,
      "startsAt": "2025-03-24T00:00:00Z",
      "teamId": 1,
      "updatedAt": "2025-03-28T18:00:00Z"
    },
    {
      "completedAt": null,
      "completedScopeCount": 0,
      "createdAt": "2025-03-28T10:00:00Z",
      "description": "Next sprint: invitations, bulk import, list endpoint performance",
      "endsAt": "2025-04-20T23:59:59Z",
      "id": 2,
      "linearId": "bb070002-2e2e-4002-8002-000000000002",
      "name": "Sprint 6",
      "number": 6,
      "progress": 0,
      "scopeCount": 4,
      "startsAt": "2025-04-07T00:00:00Z",
      "teamId": 1,
      "updatedAt": "2025-03-28T10:00:00Z"
    }
  ],
  "documents": [],
  "emailIntakeAddresses": [],
  "emojis": [],
  "entityExternalLinks": [],
  "externalUsers": [],
  "favorites": [],
  "gitAutomationStates": [],
  "gitAutomationTargetBranches": [],
  "initiativeProjects": [],
  "initiativeRelations": [],
  "initiatives": [],
  "initiativeUpdates": [],
  "integrations": [],
  "integrationTemplates": [],
  "issueRelations": [
    {
      "createdAt": "2025-03-25T14:00:00Z",
      "id": 1,
      "issueId": 1,
      "linearId": "bb090001-1a1a-4001-8001-000000000001",
      "relatedIssueId": 22,
      "type": "related",
      "updatedAt": "2025-03-25T14:00:00Z"
    },
    {
      "createdAt": "2025-03-20T10:00:00Z",
      "id": 2,
      "issueId": 14,
      "linearId": "bb090002-2b2b-4002-8002-000000000002",
      "relatedIssueId": 2,
      "type": "blocks",
      "updatedAt": "2025-03-20T10:00:00Z"
    }
  ],
  "issues": [
    {
      "archivedAt": null,
      "assigneeId": 1,
      "boardOrder": 1000,
      "branchName": "eng-1-payment-webhook-handler-drops-events",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-25T14:00:00Z",
      "creatorId": 1,
      "cycleId": 1,
      "description": "Under sustained load (>200 req/s), the webhook handler loses ~5% of Stripe events. Root cause appears to be the async queue backing up and silently dropping entries when the buffer is full.",
      "descriptionData": null,
      "dueDate": "2025-04-02",
      "estimate": 8,
      "id": 1,
      "identifier": "ENG-1",
      "labelIds": [
        1,
        5
      ],
      "linearId": "bb050001-e1e1-4001-8001-000000000001",
      "number": 1,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 1,
      "priorityLabel": "Urgent",
      "projectId": 3,
      "snoozedUntilAt": null,
      "sortOrder": 1000,
      "startedAt": "2025-03-27T09:00:00Z",
      "stateId": 3,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Payment webhook handler drops events under load",
      "trashed": false,
      "updatedAt": "2025-03-28T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-1"
    },
    {
      "archivedAt": null,
      "assigneeId": 2,
      "boardOrder": 2000,
      "branchName": "eng-2-add-team-level-permissions-api",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-20T10:00:00Z",
      "creatorId": 1,
      "cycleId": 1,
      "description": "Implement RBAC endpoints for team-level resource access. Need create/read/update/delete for permission policies, plus a check endpoint for authorization decisions.",
      "descriptionData": null,
      "dueDate": "2025-04-11",
      "estimate": 13,
      "id": 2,
      "identifier": "ENG-2",
      "labelIds": [
        2
      ],
      "linearId": "bb050002-e2e2-4002-8002-000000000002",
      "number": 2,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 2,
      "priorityLabel": "High",
      "projectId": 1,
      "snoozedUntilAt": null,
      "sortOrder": 2000,
      "startedAt": "2025-03-24T09:00:00Z",
      "stateId": 3,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Add team-level permissions API",
      "trashed": false,
      "updatedAt": "2025-03-28T15:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-2"
    },
    {
      "archivedAt": null,
      "assigneeId": 3,
      "boardOrder": 3000,
      "branchName": "eng-3-dashboard-chart-rendering-safari",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-22T11:00:00Z",
      "creatorId": 2,
      "cycleId": 1,
      "description": "Chart.js canvas rendering produces blank output on Safari 17.3+. Works fine on Chrome and Firefox. Suspect it's the WebGL context initialization path.",
      "descriptionData": null,
      "dueDate": "2025-04-04",
      "estimate": 5,
      "id": 3,
      "identifier": "ENG-3",
      "labelIds": [
        1
      ],
      "linearId": "bb050003-e3e3-4003-8003-000000000003",
      "number": 3,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 2,
      "priorityLabel": "High",
      "projectId": 3,
      "snoozedUntilAt": null,
      "sortOrder": 3000,
      "startedAt": "2025-03-25T09:00:00Z",
      "stateId": 4,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Dashboard chart rendering broken on Safari",
      "trashed": false,
      "updatedAt": "2025-03-28T14:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-3"
    },
    {
      "archivedAt": null,
      "assigneeId": 2,
      "boardOrder": 4000,
      "branchName": "eng-4-migrate-user-sessions-to-redis",
      "canceledAt": null,
      "completedAt": "2025-03-21T17:00:00Z",
      "createdAt": "2025-03-05T10:00:00Z",
      "creatorId": 1,
      "cycleId": 1,
      "description": "Current in-memory session store doesn't survive deploys. Move to Redis with 24h TTL. Need to handle migration of existing sessions gracefully.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 8,
      "id": 4,
      "identifier": "ENG-4",
      "labelIds": [
        3
      ],
      "linearId": "bb050004-e4e4-4004-8004-000000000004",
      "number": 4,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 2,
      "priorityLabel": "High",
      "projectId": 2,
      "snoozedUntilAt": null,
      "sortOrder": 4000,
      "startedAt": "2025-03-10T09:00:00Z",
      "stateId": 5,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Migrate user sessions to Redis",
      "trashed": false,
      "updatedAt": "2025-03-21T17:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-4"
    },
    {
      "archivedAt": null,
      "assigneeId": 3,
      "boardOrder": 5000,
      "branchName": "eng-5-structured-logging-correlation-ids",
      "canceledAt": null,
      "completedAt": "2025-03-19T16:00:00Z",
      "createdAt": "2025-03-08T10:00:00Z",
      "creatorId": 3,
      "cycleId": 1,
      "description": "Replace console.log with pino. Add request correlation IDs that propagate through async contexts. Output JSON to stdout for Datadog ingestion.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 5,
      "identifier": "ENG-5",
      "labelIds": [
        4
      ],
      "linearId": "bb050005-e5e5-4005-8005-000000000005",
      "number": 5,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": 2,
      "snoozedUntilAt": null,
      "sortOrder": 5000,
      "startedAt": "2025-03-12T09:00:00Z",
      "stateId": 5,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Set up structured logging with correlation IDs",
      "trashed": false,
      "updatedAt": "2025-03-19T16:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-5"
    },
    {
      "archivedAt": null,
      "assigneeId": 1,
      "boardOrder": 6000,
      "branchName": "eng-6-implement-workspace-invitation-flow",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-20T14:00:00Z",
      "creatorId": 1,
      "cycleId": 2,
      "description": "Users should be able to invite others by email. Include role selection (admin/member/viewer), invitation expiry (7 days), and re-send capability.",
      "descriptionData": null,
      "dueDate": "2025-04-25",
      "estimate": 8,
      "id": 6,
      "identifier": "ENG-6",
      "labelIds": [
        2
      ],
      "linearId": "bb050006-e6e6-4006-8006-000000000006",
      "number": 6,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 2,
      "priorityLabel": "High",
      "projectId": 1,
      "snoozedUntilAt": null,
      "sortOrder": 6000,
      "startedAt": null,
      "stateId": 2,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Implement workspace invitation flow",
      "trashed": false,
      "updatedAt": "2025-03-20T14:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-6"
    },
    {
      "archivedAt": null,
      "assigneeId": 2,
      "boardOrder": 7000,
      "branchName": "eng-7-add-bulk-import-csv-data",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-20T14:30:00Z",
      "creatorId": 1,
      "cycleId": 2,
      "description": "Allow users to upload CSV files to bulk-create records. Support mapping columns to fields, preview before import, and rollback on partial failure.",
      "descriptionData": null,
      "dueDate": "2025-04-25",
      "estimate": 8,
      "id": 7,
      "identifier": "ENG-7",
      "labelIds": [
        2
      ],
      "linearId": "bb050007-e7e7-4007-8007-000000000007",
      "number": 7,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": 1,
      "snoozedUntilAt": null,
      "sortOrder": 7000,
      "startedAt": null,
      "stateId": 2,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Add bulk import for CSV data",
      "trashed": false,
      "updatedAt": "2025-03-20T14:30:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-7"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 8000,
      "branchName": "eng-8-search-indexing-delay-stale-results",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-18T09:00:00Z",
      "creatorId": 2,
      "cycleId": null,
      "description": "After creating or updating a record, search returns stale data for 30-60 seconds. Elasticsearch refresh interval is the likely culprit. Consider near-real-time refresh or a read-your-writes cache.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 8,
      "identifier": "ENG-8",
      "labelIds": [
        1
      ],
      "linearId": "bb050008-e8e8-4008-8008-000000000008",
      "number": 8,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 8000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Search indexing delay causes stale results",
      "trashed": false,
      "updatedAt": "2025-03-18T09:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-8"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 9000,
      "branchName": "eng-9-replace-momentjs-with-date-fns",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-15T10:00:00Z",
      "creatorId": 3,
      "cycleId": null,
      "description": "moment.js adds 230KB to the bundle. Replace all usages with date-fns tree-shakeable imports. ~40 call sites across the codebase.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 9,
      "identifier": "ENG-9",
      "labelIds": [
        4
      ],
      "linearId": "bb050009-e9e9-4009-8009-000000000009",
      "number": 9,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 4,
      "priorityLabel": "Low",
      "projectId": 2,
      "snoozedUntilAt": null,
      "sortOrder": 9000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Replace moment.js with date-fns",
      "trashed": false,
      "updatedAt": "2025-03-15T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-9"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 10000,
      "branchName": "eng-10-add-email-notification-preferences",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-14T11:00:00Z",
      "creatorId": 1,
      "cycleId": null,
      "description": "Users need to control which emails they receive. Add preferences page with toggles for: issue assigned, mentioned, comment reply, weekly digest, sprint summary.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 10,
      "identifier": "ENG-10",
      "labelIds": [
        2
      ],
      "linearId": "bb050010-ea0a-4010-8010-000000000010",
      "number": 10,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": 1,
      "snoozedUntilAt": null,
      "sortOrder": 10000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Add email notification preferences",
      "trashed": false,
      "updatedAt": "2025-03-14T11:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-10"
    },
    {
      "archivedAt": null,
      "assigneeId": 3,
      "boardOrder": 11000,
      "branchName": "eng-11-api-response-times-spike-list",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-12T15:00:00Z",
      "creatorId": 2,
      "cycleId": 2,
      "description": "GET /api/records returns in 3-5s when there are >1000 records. Missing pagination, and the ORM is eager-loading all relations. Need cursor-based pagination and selective field loading.",
      "descriptionData": null,
      "dueDate": "2025-04-18",
      "estimate": 8,
      "id": 11,
      "identifier": "ENG-11",
      "labelIds": [
        1,
        3
      ],
      "linearId": "bb050011-eb0b-4011-8011-000000000011",
      "number": 11,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 2,
      "priorityLabel": "High",
      "projectId": 2,
      "snoozedUntilAt": null,
      "sortOrder": 11000,
      "startedAt": null,
      "stateId": 2,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "API response times spike on list endpoints",
      "trashed": false,
      "updatedAt": "2025-03-26T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-11"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 12000,
      "branchName": "eng-12-add-audit-log-admin-actions",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-10T09:00:00Z",
      "creatorId": 1,
      "cycleId": null,
      "description": "Track all destructive admin operations (user deactivation, permission changes, data deletion) in an immutable audit log. Store actor, action, target, timestamp, and before/after state.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 8,
      "id": 12,
      "identifier": "ENG-12",
      "labelIds": [
        2
      ],
      "linearId": "bb050012-ec0c-4012-8012-000000000012",
      "number": 12,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": 1,
      "snoozedUntilAt": null,
      "sortOrder": 12000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Add audit log for admin actions",
      "trashed": false,
      "updatedAt": "2025-03-10T09:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-12"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 13000,
      "branchName": "eng-13-upgrade-nodejs-18-to-22-lts",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-08T10:00:00Z",
      "creatorId": 3,
      "cycleId": null,
      "description": "Node 18 hits EOL in April 2025. Upgrade to 22 LTS. Main risks: native addon compatibility (sharp, bcrypt) and ESM loader changes.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 13,
      "identifier": "ENG-13",
      "labelIds": [
        4
      ],
      "linearId": "bb050013-ed0d-4013-8013-000000000013",
      "number": 13,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": 2,
      "snoozedUntilAt": null,
      "sortOrder": 13000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Upgrade Node.js from 18 to 22 LTS",
      "trashed": false,
      "updatedAt": "2025-03-08T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-13"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 14000,
      "branchName": "eng-14-implement-sso-saml-20",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-06T10:00:00Z",
      "creatorId": 1,
      "cycleId": null,
      "description": "Enterprise customers need SAML SSO. Support IdP-initiated and SP-initiated flows. Must handle multi-tenant routing based on email domain.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 13,
      "id": 14,
      "identifier": "ENG-14",
      "labelIds": [
        2
      ],
      "linearId": "bb050014-ee0e-4014-8014-000000000014",
      "number": 14,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 2,
      "priorityLabel": "High",
      "projectId": 1,
      "snoozedUntilAt": null,
      "sortOrder": 14000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Implement SSO with SAML 2.0",
      "trashed": false,
      "updatedAt": "2025-03-06T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-14"
    },
    {
      "archivedAt": null,
      "assigneeId": 1,
      "boardOrder": 15000,
      "branchName": "eng-15-fix-race-condition-concurrent-updates",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-26T11:00:00Z",
      "creatorId": 2,
      "cycleId": 2,
      "description": "Two users editing the same record simultaneously can lose one user's changes. Need optimistic locking with version field or last-write-wins with conflict detection UI.",
      "descriptionData": null,
      "dueDate": "2025-04-14",
      "estimate": 8,
      "id": 15,
      "identifier": "ENG-15",
      "labelIds": [
        1,
        5
      ],
      "linearId": "bb050015-ef0f-4015-8015-000000000015",
      "number": 15,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 1,
      "priorityLabel": "Urgent",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 15000,
      "startedAt": null,
      "stateId": 2,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Fix race condition in concurrent record updates",
      "trashed": false,
      "updatedAt": "2025-03-26T11:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-15"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 16000,
      "branchName": "eng-16-write-integration-tests-billing",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-04T10:00:00Z",
      "creatorId": 1,
      "cycleId": null,
      "description": "No test coverage for the Stripe billing integration. Need tests for: subscription create, upgrade, downgrade, cancel, failed payment retry, and webhook handling.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 16,
      "identifier": "ENG-16",
      "labelIds": [
        4
      ],
      "linearId": "bb050016-f010-4016-8016-000000000016",
      "number": 16,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 16000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Write integration tests for billing flow",
      "trashed": false,
      "updatedAt": "2025-03-04T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-16"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 17000,
      "branchName": "eng-17-add-dark-mode-support",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-02T10:00:00Z",
      "creatorId": 3,
      "cycleId": null,
      "description": "Implement system-aware dark mode. Use CSS custom properties for theming. Need to handle user preference override, persistence in local storage, and smooth transition animations.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 17,
      "identifier": "ENG-17",
      "labelIds": [
        2
      ],
      "linearId": "bb050017-f111-4017-8017-000000000017",
      "number": 17,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 4,
      "priorityLabel": "Low",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 17000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Add dark mode support",
      "trashed": false,
      "updatedAt": "2025-03-02T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-17"
    },
    {
      "archivedAt": null,
      "assigneeId": 1,
      "boardOrder": 18000,
      "branchName": "eng-18-database-connection-pool-exhaustion",
      "canceledAt": null,
      "completedAt": "2025-03-22T16:00:00Z",
      "createdAt": "2025-03-19T08:00:00Z",
      "creatorId": 1,
      "cycleId": 1,
      "description": "Staging env hits 'too many connections' error after ~2 hours. Connections are being leaked by the background job processor not returning connections to the pool after errors.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 3,
      "id": 18,
      "identifier": "ENG-18",
      "labelIds": [
        1
      ],
      "linearId": "bb050018-f212-4018-8018-000000000018",
      "number": 18,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 18000,
      "startedAt": "2025-03-20T09:00:00Z",
      "stateId": 5,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Database connection pool exhaustion in staging",
      "trashed": false,
      "updatedAt": "2025-03-22T16:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-18"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 19000,
      "branchName": "eng-19-implement-file-upload-size-validation",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-15T14:00:00Z",
      "creatorId": 2,
      "cycleId": null,
      "description": "No server-side validation on file uploads. Users can upload files of any size, which crashes the worker process when it runs out of memory. Add 10MB limit with streaming validation.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 3,
      "id": 19,
      "identifier": "ENG-19",
      "labelIds": [
        1,
        3
      ],
      "linearId": "bb050019-f313-4019-8019-000000000019",
      "number": 19,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 19000,
      "startedAt": null,
      "stateId": 2,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Implement file upload size validation",
      "trashed": false,
      "updatedAt": "2025-03-15T14:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-19"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 20000,
      "branchName": "eng-20-add-retry-logic-failed-email-sends",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-10T10:00:00Z",
      "creatorId": 1,
      "cycleId": null,
      "description": "Transient SMTP failures cause email notifications to be silently dropped. Add exponential backoff retry (3 attempts, 1s/5s/30s) with dead letter queue for persistent failures.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 3,
      "id": 20,
      "identifier": "ENG-20",
      "labelIds": [
        3
      ],
      "linearId": "bb050020-f414-4020-8020-000000000020",
      "number": 20,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 20000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Add retry logic for failed email sends",
      "trashed": false,
      "updatedAt": "2025-03-10T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-20"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 21000,
      "branchName": "eng-21-clean-up-deprecated-api-v1",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-03-01T10:00:00Z",
      "creatorId": 1,
      "cycleId": null,
      "description": "API v1 was deprecated 6 months ago and has <1% of traffic. Remove the routes, middleware, and associated database views. Update API docs to reference v2 only.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 3,
      "id": 21,
      "identifier": "ENG-21",
      "labelIds": [
        4
      ],
      "linearId": "bb050021-f515-4021-8021-000000000021",
      "number": 21,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 4,
      "priorityLabel": "Low",
      "projectId": 2,
      "snoozedUntilAt": null,
      "sortOrder": 21000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Clean up deprecated API v1 endpoints",
      "trashed": false,
      "updatedAt": "2025-03-01T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-21"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 22000,
      "branchName": "eng-22-webhook-delivery-retry-backoff",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-02-28T10:00:00Z",
      "creatorId": 1,
      "cycleId": null,
      "description": "Outbound webhooks currently fire once. If the destination is down, the event is lost. Add retry queue with exponential backoff (1m, 5m, 30m, 2h, 12h) and delivery status tracking.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 8,
      "id": 22,
      "identifier": "ENG-22",
      "labelIds": [
        2,
        3
      ],
      "linearId": "bb050022-f616-4022-8022-000000000022",
      "number": 22,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 22000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Add webhook delivery retry with exponential backoff",
      "trashed": false,
      "updatedAt": "2025-02-28T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-22"
    },
    {
      "archivedAt": null,
      "assigneeId": 2,
      "boardOrder": 23000,
      "branchName": "eng-23-memory-leak-websocket-handler",
      "canceledAt": null,
      "completedAt": "2025-03-20T11:00:00Z",
      "createdAt": "2025-03-17T16:00:00Z",
      "creatorId": 2,
      "cycleId": 1,
      "description": "Server memory grows linearly with uptime. Each WebSocket disconnect leaves event listeners attached. Reproduced with 100 connect/disconnect cycles in load test.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 23,
      "identifier": "ENG-23",
      "labelIds": [
        1,
        5
      ],
      "linearId": "bb050023-f717-4023-8023-000000000023",
      "number": 23,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 1,
      "priorityLabel": "Urgent",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 23000,
      "startedAt": "2025-03-18T09:00:00Z",
      "stateId": 5,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Memory leak in WebSocket connection handler",
      "trashed": false,
      "updatedAt": "2025-03-20T11:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-23"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 24000,
      "branchName": "eng-24-api-key-rotation-no-downtime",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-02-25T10:00:00Z",
      "creatorId": 1,
      "cycleId": null,
      "description": "Currently rotating an API key invalidates the old one immediately, breaking active integrations. Support overlapping validity period where both old and new keys work for a configurable grace period.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 24,
      "identifier": "ENG-24",
      "labelIds": [
        2,
        3
      ],
      "linearId": "bb050024-f818-4024-8024-000000000024",
      "number": 24,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": 1,
      "snoozedUntilAt": null,
      "sortOrder": 24000,
      "startedAt": null,
      "stateId": 1,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Implement API key rotation without downtime",
      "trashed": false,
      "updatedAt": "2025-02-25T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-24"
    },
    {
      "archivedAt": null,
      "assigneeId": null,
      "boardOrder": 25000,
      "branchName": "eng-25-request-deduplication-middleware",
      "canceledAt": null,
      "completedAt": null,
      "createdAt": "2025-02-20T10:00:00Z",
      "creatorId": 3,
      "cycleId": null,
      "description": "Mobile clients sometimes send duplicate POST requests on flaky connections. Add idempotency key support to prevent duplicate record creation. Use Redis with 24h TTL for key storage.",
      "descriptionData": null,
      "dueDate": null,
      "estimate": 5,
      "id": 25,
      "identifier": "ENG-25",
      "labelIds": [
        3
      ],
      "linearId": "bb050025-f919-4025-8025-000000000025",
      "number": 25,
      "parentId": null,
      "previousIdentifiers": [],
      "priority": 3,
      "priorityLabel": "Medium",
      "projectId": null,
      "snoozedUntilAt": null,
      "sortOrder": 25000,
      "startedAt": null,
      "stateId": 2,
      "subIssueSortOrder": null,
      "teamId": 1,
      "title": "Add request deduplication middleware",
      "trashed": false,
      "updatedAt": "2025-02-20T10:00:00Z",
      "url": "https://linear.app/team/ENG/issue/ENG-25"
    }
  ],
  "issueTemplates": [
    {
      "assigneeId": null,
      "createdAt": "2024-06-15T10:00:00Z",
      "description": "Standard bug report template",
      "id": 1,
      "labelIds": [
        1
      ],
      "linearId": "bb0c0001-it01-4001-8001-000000000001",
      "name": "Bug Report",
      "priority": 2,
      "stateId": 2,
      "teamId": 1,
      "title": "Bug: [Description]",
      "updatedAt": "2024-06-15T10:00:00Z"
    }
  ],
  "issueToReleases": [],
  "labels": [
    {
      "color": "#eb5757",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Something isn't working",
      "id": 1,
      "isGroup": false,
      "linearId": "bb040001-d1d1-4001-8001-000000000001",
      "name": "Bug",
      "parentId": null,
      "teamId": 1,
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#4ea7fc",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "New functionality",
      "id": 2,
      "isGroup": false,
      "linearId": "bb040002-d2d2-4002-8002-000000000002",
      "name": "Feature",
      "parentId": null,
      "teamId": 1,
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#26b5ce",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Enhancement to existing functionality",
      "id": 3,
      "isGroup": false,
      "linearId": "bb040003-d3d3-4003-8003-000000000003",
      "name": "Improvement",
      "parentId": null,
      "teamId": 1,
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#f2994a",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Maintenance and housekeeping tasks",
      "id": 4,
      "isGroup": false,
      "linearId": "bb040004-d4d4-4004-8004-000000000004",
      "name": "Chore",
      "parentId": null,
      "teamId": 1,
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#eb5757",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Critical priority - drop everything",
      "id": 5,
      "isGroup": false,
      "linearId": "bb040005-d5d5-4005-8005-000000000005",
      "name": "P0",
      "parentId": null,
      "teamId": 1,
      "updatedAt": "2024-06-01T10:00:00Z"
    }
  ],
  "notifications": [],
  "notificationSubscriptions": [],
  "organization": [
    {
      "agentAutomationEnabled": false,
      "aiAddonEnabled": false,
      "aiDiscussionSummariesEnabled": false,
      "aiThreadSummariesEnabled": false,
      "allowedFileUploadContentTypes": null,
      "archivedAt": null,
      "authSettings": {},
      "codeIntelligenceEnabled": false,
      "codingAgentEnabled": false,
      "createdAt": "2024-06-01T00:00:00Z",
      "createdIssueCount": 25,
      "customerCount": 0,
      "customersConfiguration": {},
      "customersEnabled": false,
      "deletionRequestedAt": null,
      "feedEnabled": true,
      "fiscalYearStartMonth": 1,
      "generatedUpdatesEnabled": false,
      "gitBranchFormat": null,
      "gitLinkbackDescriptionsEnabled": false,
      "gitLinkbackMessagesEnabled": false,
      "gitPublicLinkbackMessagesEnabled": false,
      "hipaaComplianceEnabled": false,
      "id": 1,
      "initiativeUpdateReminderFrequencyInWeeks": null,
      "initiativeUpdateRemindersDay": "friday",
      "initiativeUpdateRemindersHour": 10,
      "linearAgentEnabled": false,
      "linearAgentSettings": {},
      "linearId": "bb0a0001-org1-4001-8001-000000000001",
      "logoUrl": null,
      "name": "Startup.io",
      "periodUploadVolume": 0,
      "previousUrlKeys": [],
      "projectUpdateReminderFrequencyInWeeks": null,
      "projectUpdateRemindersDay": "friday",
      "projectUpdateRemindersHour": 10,
      "releaseChannel": "stable",
      "roadmapEnabled": false,
      "samlEnabled": false,
      "scimEnabled": false,
      "securitySettings": {},
      "slackProjectChannelPrefix": "",
      "themeSettings": null,
      "trialEndsAt": null,
      "trialStartsAt": null,
      "updatedAt": "2025-03-28T18:00:00Z",
      "urlKey": "startup-io",
      "userCount": 3,
      "workingDays": [
        1,
        2,
        3,
        4,
        5
      ]
    }
  ],
  "organizationInvites": [],
  "projectLabels": [],
  "projectMilestones": [
    {
      "archivedAt": null,
      "createdAt": "2025-03-01T00:00:00Z",
      "description": "Team permissions and invitation flow complete",
      "id": 1,
      "linearId": "bb0e0001-pm01-4001-8001-000000000001",
      "name": "Auth & Permissions",
      "projectId": 1,
      "sortOrder": 0,
      "targetDate": "2025-05-15",
      "updatedAt": "2025-03-01T00:00:00Z"
    },
    {
      "archivedAt": null,
      "createdAt": "2025-03-01T00:00:00Z",
      "description": "CSV bulk import and API key rotation complete",
      "id": 2,
      "linearId": "bb0e0002-pm02-4002-8002-000000000002",
      "name": "Data Import",
      "projectId": 1,
      "sortOrder": 1,
      "targetDate": "2025-06-15",
      "updatedAt": "2025-03-01T00:00:00Z"
    }
  ],
  "projectRelations": [],
  "projects": [
    {
      "archivedAt": null,
      "canceledAt": null,
      "color": "#5e6ad2",
      "completedAt": null,
      "content": null,
      "createdAt": "2025-03-01T10:00:00Z",
      "description": "Core product features and improvements planned for Q2 2025",
      "icon": null,
      "id": 1,
      "leadId": 1,
      "linearId": "bb060001-1a1a-4001-8001-000000000001",
      "memberIds": [
        1,
        2,
        3
      ],
      "name": "Q2 Roadmap",
      "progress": 15,
      "slugId": "q2-roadmap",
      "sortOrder": 1000,
      "startDate": "2025-04-01",
      "startedAt": "2025-03-20T00:00:00Z",
      "state": "started",
      "targetDate": "2025-06-30",
      "teamIds": [
        1
      ],
      "updatedAt": "2025-03-28T12:00:00Z",
      "url": "https://linear.app/project/q2-roadmap"
    },
    {
      "archivedAt": null,
      "canceledAt": null,
      "color": "#f2994a",
      "completedAt": null,
      "content": null,
      "createdAt": "2024-12-15T10:00:00Z",
      "description": "Infrastructure modernization and cleanup tasks",
      "icon": null,
      "id": 2,
      "leadId": 3,
      "linearId": "bb060002-2b2b-4002-8002-000000000002",
      "memberIds": [
        1,
        2,
        3
      ],
      "name": "Tech Debt",
      "progress": 30,
      "slugId": "tech-debt",
      "sortOrder": 2000,
      "startDate": "2025-01-01",
      "startedAt": "2025-01-01T00:00:00Z",
      "state": "started",
      "targetDate": null,
      "teamIds": [
        1
      ],
      "updatedAt": "2025-03-22T14:00:00Z",
      "url": "https://linear.app/project/tech-debt"
    },
    {
      "archivedAt": null,
      "canceledAt": null,
      "color": "#eb5757",
      "completedAt": null,
      "content": null,
      "createdAt": "2024-12-15T10:00:00Z",
      "description": "Critical and high-priority bug tracking and resolution",
      "icon": null,
      "id": 3,
      "leadId": 1,
      "linearId": "bb060003-3c3c-4003-8003-000000000003",
      "memberIds": [
        1,
        2,
        3
      ],
      "name": "Bug Fixes",
      "progress": 50,
      "slugId": "bug-fixes",
      "sortOrder": 3000,
      "startDate": "2025-01-01",
      "startedAt": "2025-01-01T00:00:00Z",
      "state": "started",
      "targetDate": null,
      "teamIds": [
        1
      ],
      "updatedAt": "2025-03-28T10:00:00Z",
      "url": "https://linear.app/project/bug-fixes"
    }
  ],
  "projectStatuses": [
    {
      "archivedAt": null,
      "color": "#94a3b8",
      "createdAt": "2024-06-01T00:00:00Z",
      "description": null,
      "id": 1,
      "indefinite": false,
      "linearId": "bb0f0001-ps01-4001-8001-000000000001",
      "name": "Planned",
      "position": 0,
      "type": "planned",
      "updatedAt": "2024-06-01T00:00:00Z"
    },
    {
      "archivedAt": null,
      "color": "#f59e0b",
      "createdAt": "2024-06-01T00:00:00Z",
      "description": null,
      "id": 2,
      "indefinite": false,
      "linearId": "bb0f0002-ps02-4002-8002-000000000002",
      "name": "In Progress",
      "position": 1,
      "type": "started",
      "updatedAt": "2024-06-01T00:00:00Z"
    },
    {
      "archivedAt": null,
      "color": "#22c55e",
      "createdAt": "2024-06-01T00:00:00Z",
      "description": null,
      "id": 3,
      "indefinite": false,
      "linearId": "bb0f0003-ps03-4003-8003-000000000003",
      "name": "Completed",
      "position": 2,
      "type": "completed",
      "updatedAt": "2024-06-01T00:00:00Z"
    }
  ],
  "projectUpdates": [
    {
      "archivedAt": null,
      "body": "Kicking off Q2 planning. Permissions API and invitation flow are the two big bets this quarter.",
      "createdAt": "2025-03-21T10:00:00Z",
      "health": "onTrack",
      "id": 1,
      "isDiffHidden": false,
      "linearId": "bb0d0001-pu01-4001-8001-000000000001",
      "projectId": 1,
      "updatedAt": "2025-03-21T10:00:00Z",
      "userId": 1
    },
    {
      "archivedAt": null,
      "body": "WebSocket memory leak and connection pool exhaustion both fixed this sprint. Safari chart bug is in review. Webhook event dropping is the remaining P0.",
      "createdAt": "2025-03-28T10:00:00Z",
      "health": "atRisk",
      "id": 2,
      "isDiffHidden": false,
      "linearId": "bb0d0002-pu02-4002-8002-000000000002",
      "projectId": 3,
      "updatedAt": "2025-03-28T10:00:00Z",
      "userId": 1
    }
  ],
  "reactions": [
    {
      "commentId": 4,
      "createdAt": "2025-03-28T09:30:00Z",
      "emoji": "+1",
      "id": 1,
      "issueId": null,
      "linearId": "bb110001-re01-4001-8001-000000000001",
      "projectUpdateId": null,
      "updatedAt": "2025-03-28T09:30:00Z",
      "userId": 1
    }
  ],
  "releasePipelines": [],
  "releases": [],
  "releaseStages": [],
  "roadmaps": [],
  "roadmapToProjects": [],
  "teamMemberships": [
    {
      "createdAt": "2024-06-01T00:00:00Z",
      "id": 1,
      "linearId": "bb100001-tm01-4001-8001-000000000001",
      "owner": true,
      "sortOrder": 0,
      "teamId": 1,
      "updatedAt": "2024-06-01T00:00:00Z",
      "userId": 1
    },
    {
      "createdAt": "2024-06-01T00:00:00Z",
      "id": 2,
      "linearId": "bb100002-tm02-4002-8002-000000000002",
      "owner": false,
      "sortOrder": 1,
      "teamId": 1,
      "updatedAt": "2024-06-01T00:00:00Z",
      "userId": 2
    },
    {
      "createdAt": "2024-06-01T00:00:00Z",
      "id": 3,
      "linearId": "bb100003-tm03-4003-8003-000000000003",
      "owner": false,
      "sortOrder": 2,
      "teamId": 1,
      "updatedAt": "2024-06-01T00:00:00Z",
      "userId": 3
    }
  ],
  "teams": [
    {
      "color": "#5e6ad2",
      "createdAt": "2024-06-01T10:00:00Z",
      "cycleCooldownTime": 0,
      "cycleDuration": 2,
      "cyclesEnabled": true,
      "cycleStartDay": 1,
      "defaultIssueEstimate": 0,
      "description": "Core product engineering team",
      "icon": null,
      "id": 1,
      "issueEstimationType": "fibonacci",
      "issueOrderingNoanswer": false,
      "key": "ENG",
      "linearId": "bb020001-b1b1-4001-8001-000000000001",
      "name": "Engineering",
      "private": false,
      "timezone": "America/Los_Angeles",
      "triageEnabled": true,
      "updatedAt": "2025-03-01T10:00:00Z"
    }
  ],
  "templates": [],
  "timeSchedules": [],
  "triageResponsibilities": [
    {
      "createdAt": "2024-06-01T00:00:00Z",
      "currentUserId": 1,
      "id": 1,
      "linearId": "bb120001-tr01-4001-8001-000000000001",
      "manualSelection": true,
      "scheduleId": null,
      "teamId": 1,
      "updatedAt": "2024-06-01T00:00:00Z"
    }
  ],
  "users": [
    {
      "active": true,
      "admin": true,
      "app": false,
      "archivedAt": null,
      "avatarBackgroundColor": "#5e6ad2",
      "avatarUrl": "https://avatars.example.com/priya.png",
      "calendarHash": null,
      "canAccessAnyPublicTeam": true,
      "createdAt": "2024-06-01T09:00:00Z",
      "createdIssueCount": 12,
      "description": "Engineering lead",
      "disableReason": null,
      "displayName": "Priya",
      "email": "sample-user-1@example.test",
      "gitHubUserId": null,
      "guest": false,
      "id": 1,
      "initials": "PS",
      "isAssignable": true,
      "isMe": true,
      "isMentionable": true,
      "lastSeen": "2025-03-28T18:00:00Z",
      "linearId": "bb010001-a1a1-4001-8001-000000000001",
      "name": "Priya Sharma",
      "owner": true,
      "statusEmoji": null,
      "statusLabel": null,
      "statusUntilAt": null,
      "supportsAgentSessions": false,
      "timezone": "America/Los_Angeles",
      "updatedAt": "2025-03-28T18:00:00Z",
      "url": "https://linear.app/priya"
    },
    {
      "active": true,
      "admin": false,
      "avatarUrl": "https://avatars.example.com/marcus.png",
      "createdAt": "2024-07-15T09:00:00Z",
      "displayName": "Marcus",
      "email": "sample-user-2@example.test",
      "guest": false,
      "id": 2,
      "linearId": "bb010002-a2a2-4002-8002-000000000002",
      "name": "Marcus Chen",
      "updatedAt": "2025-03-27T14:00:00Z"
    },
    {
      "active": true,
      "admin": false,
      "avatarUrl": "https://avatars.example.com/lena.png",
      "createdAt": "2024-09-01T09:00:00Z",
      "displayName": "Lena",
      "email": "sample-user-3@example.test",
      "guest": false,
      "id": 3,
      "linearId": "bb010003-a3a3-4003-8003-000000000003",
      "name": "Lena Kowalski",
      "updatedAt": "2025-03-28T11:00:00Z"
    }
  ],
  "viewPreferences": [],
  "workflowStates": [
    {
      "color": "#bec2c8",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Issues that have not been prioritized",
      "id": 1,
      "linearId": "bb030001-c1c1-4001-8001-000000000001",
      "name": "Backlog",
      "position": 0,
      "teamId": 1,
      "type": "backlog",
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#e2e2e2",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Issues that are ready to be worked on",
      "id": 2,
      "linearId": "bb030002-c2c2-4002-8002-000000000002",
      "name": "Todo",
      "position": 1,
      "teamId": 1,
      "type": "unstarted",
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#f2c94c",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Issues that are actively being worked on",
      "id": 3,
      "linearId": "bb030003-c3c3-4003-8003-000000000003",
      "name": "In Progress",
      "position": 2,
      "teamId": 1,
      "type": "started",
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#4ea7fc",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Issues that are in code review",
      "id": 4,
      "linearId": "bb030004-c4c4-4004-8004-000000000004",
      "name": "In Review",
      "position": 3,
      "teamId": 1,
      "type": "started",
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#5e6ad2",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Issues that have been completed",
      "id": 5,
      "linearId": "bb030005-c5c5-4005-8005-000000000005",
      "name": "Done",
      "position": 4,
      "teamId": 1,
      "type": "completed",
      "updatedAt": "2024-06-01T10:00:00Z"
    },
    {
      "color": "#95a2b3",
      "createdAt": "2024-06-01T10:00:00Z",
      "description": "Issues that have been cancelled",
      "id": 6,
      "linearId": "bb030006-c6c6-4006-8006-000000000006",
      "name": "Cancelled",
      "position": 5,
      "teamId": 1,
      "type": "cancelled",
      "updatedAt": "2024-06-01T10:00:00Z"
    }
  ]
}
