{
 "flight": {
  "id": 928365,
  "agent": "devin",
  "state": "merged",
  "title": "fix: websocket authentication for public tables",
  "number": 177,
  "source": "aidev",
  "commits": 2,
  "debrief": "Devin opens a fix for websocket authentication on public tables in juicyllama/llana. It refactors the WebSocket middleware to check public access with authentication.public() and replace direct JWT validation with authentication.auth(), keeping client.user compatible. Across two files and two commits: 235 additions, six deletions. It merged in 3.33 hours with no changes requested.",
  "outcome": "merged_clean",
  "signals": [
   "aidev:Devin"
  ],
  "index_ok": true,
  "additions": 235,
  "closed_at": "2025-01-04T14:19:23+00:00",
  "deletions": 6,
  "merged_at": "2025-01-04T14:19:23+00:00",
  "opened_at": "2025-01-04T10:59:42+00:00",
  "task_type": "fix",
  "body_chars": 438,
  "confidence": "dataset",
  "updated_at": "2026-11-04T03:16:44.73902+00:00",
  "enriched_at": null,
  "body_excerpt": "Fixes #176\n\nThis PR refactors the WebSocket authentication middleware to properly handle public tables by:\n- Adding public table access check using authentication.public()\n- Replacing direct JWT validation with authentication.auth()\n- Maintaining backward compatibility with existing client.user stru",
  "review_count": 0,
  "files_changed": 2,
  "hours_to_merge": 3.33,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": "2026-11-04T03:16:44.73902+00:00",
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "llana",
  "owner": "juicyllama",
  "stars": 207,
  "license": null,
  "full_name": "juicyllama/llana",
  "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": "Devin AI"
  },
  {
   "at": "2025-01-04T14:19:23+00:00",
   "url": null,
   "kind": "merged",
   "actor_login": "andyslack"
  },
  {
   "at": "2025-01-04T14:19:24+00:00",
   "url": null,
   "kind": "closed",
   "actor_login": "andyslack"
  }
 ],
 "related": [
  {
   "agent": "devin",
   "state": "merged",
   "title": "Improve response errors to be more descriptive",
   "number": 243,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1214,
   "deletions": 400,
   "merged_at": "2025-05-25T09:55:26+00:00",
   "opened_at": "2025-05-24T15:47:20+00:00",
   "task_type": "fix",
   "files_changed": 27,
   "hours_to_merge": 18.14
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "MySQL Connection Handling Improvements",
   "number": 241,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 280,
   "deletions": 173,
   "merged_at": "2025-05-23T12:07:41+00:00",
   "opened_at": "2025-05-23T11:56:25+00:00",
   "task_type": "fix",
   "files_changed": 6,
   "hours_to_merge": 0.19
  },
  {
   "agent": "devin",
   "state": "merged",
   "title": "fix: Add PostgreSQL sequence reset to application bootstrap",
   "number": 237,
   "outcome": "merged_after_rework",
   "index_ok": true,
   "additions": 92,
   "deletions": 2,
   "merged_at": "2025-05-23T08:45:35+00:00",
   "opened_at": "2025-05-23T08:36:28+00:00",
   "task_type": "fix",
   "files_changed": 4,
   "hours_to_merge": 0.15
  }
 ],
 "pr_url": "https://github.com/juicyllama/llana/pull/177",
 "page": "https://agentriders.com/logs/juicyllama/llana/177/"
}