{
 "flight": {
  "id": 915318,
  "agent": "devin",
  "state": "open",
  "title": "feat: refactor CopyButton component to be reusable and apply to SQL tab",
  "number": 2786,
  "source": "aidev",
  "commits": 8,
  "debrief": null,
  "outcome": "stale",
  "signals": [
   "aidev:Devin",
   "trailer:claude"
  ],
  "index_ok": false,
  "additions": 190,
  "closed_at": null,
  "deletions": 97,
  "merged_at": null,
  "opened_at": "2025-07-30T10:01:20+00:00",
  "task_type": "feat",
  "body_chars": 3142,
  "confidence": "dataset",
  "updated_at": "2026-11-03T17:53:33.703657+00:00",
  "enriched_at": null,
  "body_excerpt": "## Issue\n\n- resolve: route06/liam-internal#5182\n\n## Why is this change needed?\n\nThis refactoring addresses code duplication by creating a reusable `CopyButton` component and extends copy functionality to the SQL tab (SchemaUpdates component). Previously, the Artifact component had its own copy logic",
  "review_count": 5,
  "files_changed": 16,
  "hours_to_merge": null,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": null,
  "reviewer_excerpt": "LGTM!",
  "review_comment_count": 2,
  "reviewer_excerpt_url": "https://github.com/liam-hq/liam/pull/2786#pullrequestreview-3074948286"
 },
 "repo": {
  "name": "liam",
  "owner": "liam-hq",
  "stars": 5162,
  "license": "Apache-2.0",
  "full_name": "liam-hq/liam",
  "primary_language": "TypeScript"
 },
 "author": {
  "login": "devin-ai-integration[bot]",
  "name": null,
  "github_profile": "https://github.com/devin-ai-integration[bot]",
  "page": null
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Devin AI"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "MH4GF"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "MH4GF"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "MH4GF"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "MH4GF"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "MH4GF"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "MH4GF"
  }
 ],
 "related": [
  {
   "agent": "devin",
   "state": "merged",
   "title": "🔥 Remove unnecessary buildingSchemaVersionId from LangGraph annotations",
   "number": 2778,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 0,
   "deletions": 3,
   "merged_at": "2025-07-30T08:17:11+00:00",
   "opened_at": "2025-07-30T07:36:15+00:00",
   "task_type": "refactor",
   "files_changed": 3,
   "hours_to_merge": 0.68
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "feat: increase default recursion limit from 20 to 100",
   "number": 2770,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 7,
   "deletions": 6,
   "merged_at": "2025-07-30T05:51:41+00:00",
   "opened_at": "2025-07-30T04:03:17+00:00",
   "task_type": "feat",
   "files_changed": 3,
   "hours_to_merge": 1.81
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "Remove boilerplate log messages from AI workflow nodes",
   "number": 2769,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 35,
   "deletions": 42,
   "merged_at": "2025-07-30T04:19:18+00:00",
   "opened_at": "2025-07-30T03:55:49+00:00",
   "task_type": "refactor",
   "files_changed": 6,
   "hours_to_merge": 0.39
  }
 ],
 "pr_url": "https://github.com/liam-hq/liam/pull/2786",
 "page": "https://agentriders.com/logs/liam-hq/liam/2786/"
}