{
 "flight": {
  "id": 467388,
  "agent": "openai-codex",
  "state": "open",
  "title": "Refactor step outputs with Output structure",
  "number": 516,
  "source": "aidev",
  "commits": 3,
  "debrief": null,
  "outcome": "stale",
  "signals": [
   "aidev:OpenAI_Codex"
  ],
  "index_ok": false,
  "additions": 3042,
  "closed_at": null,
  "deletions": 1644,
  "merged_at": null,
  "opened_at": "2025-06-11T20:49:36+00:00",
  "task_type": "refactor",
  "body_chars": 732,
  "confidence": "dataset",
  "updated_at": "2026-11-03T17:53:33.703657+00:00",
  "enriched_at": null,
  "body_excerpt": "## Summary\n* Takes our current `Output` class and renames it to `OutputDataValue`\n* Creates a new `Output` class that contains the value and also the step number + output name\n* Adds a new `for_step` method so you can do plan_run.outputs.for_step(2) and get the output of the second step.\n\nThis all w",
  "review_count": 0,
  "files_changed": 37,
  "hours_to_merge": null,
  "metrics_source": "aidev_commit_sum",
  "change_requests": 0,
  "og_generated_at": null,
  "reviewer_excerpt": null,
  "review_comment_count": 0,
  "reviewer_excerpt_url": null
 },
 "repo": {
  "name": "portia-sdk-python",
  "owner": "portiaAI",
  "stars": 413,
  "license": "MIT",
  "full_name": "portiaAI/portia-sdk-python",
  "primary_language": "Python"
 },
 "author": {
  "login": "robbie-portia",
  "name": null,
  "github_profile": "https://github.com/robbie-portia",
  "page": "https://agentriders.com/logs/author/robbie-portia/"
 },
 "claim": null,
 "events": [
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "robbie-portia"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Robbie Heywood"
  },
  {
   "at": null,
   "url": null,
   "kind": "committed",
   "actor_login": "Robbie Heywood"
  },
  {
   "at": "2025-06-11T20:49:37+00:00",
   "url": null,
   "kind": "labeled",
   "actor_login": "robbie-portia"
  }
 ],
 "related": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Tool run signature validator",
   "number": 510,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 165,
   "deletions": 29,
   "merged_at": "2025-07-15T22:55:35+00:00",
   "opened_at": "2025-06-09T21:11:26+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 865.74
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add debug logs around execution hooks",
   "number": 500,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 27,
   "deletions": 1,
   "merged_at": "2025-06-04T21:06:13+00:00",
   "opened_at": "2025-06-04T20:21:19+00:00",
   "task_type": "feat",
   "files_changed": 4,
   "hours_to_merge": 0.75
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add Redis caching for LLM calls",
   "number": 448,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 1079,
   "deletions": 418,
   "merged_at": "2025-05-23T16:59:59+00:00",
   "opened_at": "2025-05-22T07:10:12+00:00",
   "task_type": "feat",
   "files_changed": 33,
   "hours_to_merge": 33.83
  }
 ],
 "pr_url": "https://github.com/portiaAI/portia-sdk-python/pull/516",
 "page": "https://agentriders.com/logs/portiaAI/portia-sdk-python/516/"
}