{
 "repo": {
  "name": "fibery-tools",
  "owner": "konturio",
  "stars": 0,
  "license": null,
  "full_name": "konturio/fibery-tools",
  "fetched_at": null,
  "primary_language": "Python"
 },
 "burns": [],
 "total": 25,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 24,
   "flights": 25,
   "burn_rate": 0,
   "merge_rate": 0.96,
   "last_flight_at": "2025-07-02T11:51:43+00:00",
   "median_hours_to_merge": 0
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "refactor(core): add text utils and improve docs",
   "number": 25,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T11:53:52+00:00",
   "opened_at": "2025-07-02T11:51:43+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(workflow): stop creating qa tasks",
   "number": 24,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T11:43:07+00:00",
   "opened_at": "2025-07-02T11:42:17+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(align): reset more formula fields",
   "number": 23,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T11:14:22+00:00",
   "opened_at": "2025-07-02T11:14:10+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(workflow): handle contract deadline field",
   "number": 22,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T10:49:36+00:00",
   "opened_at": "2025-07-02T10:37:40+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.2
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(workflow): query stories using old subtasks field",
   "number": 21,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T10:09:59+00:00",
   "opened_at": "2025-07-02T10:09:49+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(workflow): map subtasks to blockers",
   "number": 20,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T09:18:08+00:00",
   "opened_at": "2025-07-02T09:04:29+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.23
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(api): handle failed responses and drop stale field",
   "number": 19,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T08:11:56+00:00",
   "opened_at": "2025-07-02T08:11:42+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(api): wrap queries in array and log malformed responses",
   "number": 18,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T07:55:46+00:00",
   "opened_at": "2025-07-02T07:54:22+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(logging): direct structlog to stderr",
   "number": 17,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T07:37:04+00:00",
   "opened_at": "2025-07-02T07:36:46+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(workflow): emit raw dot graph",
   "number": 16,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-02T07:35:06+00:00",
   "opened_at": "2025-07-02T07:34:55+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(workflow): use structlog for API messages",
   "number": 15,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-01T20:41:56+00:00",
   "opened_at": "2025-07-01T20:41:34+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(workflow): handle missing API results",
   "number": 14,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-01T20:16:28+00:00",
   "opened_at": "2025-07-01T20:16:11+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "chore(logging): add structlog with info logs",
   "number": 13,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-01T20:00:19+00:00",
   "opened_at": "2025-07-01T20:00:06+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(build): clarify make targets",
   "number": 12,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-01T19:20:55+00:00",
   "opened_at": "2025-07-01T19:14:25+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.11
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "refactor(config): centralize loading",
   "number": 11,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-01T18:49:28+00:00",
   "opened_at": "2025-07-01T18:49:16+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(config): require real values everywhere",
   "number": 10,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-01T18:37:16+00:00",
   "opened_at": "2025-07-01T18:37:00+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(align): handle invalid responses",
   "number": 9,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-01T18:21:34+00:00",
   "opened_at": "2025-07-01T18:21:19+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(workflow): add loop breaker and dump helpers",
   "number": 8,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-01T02:16:13+00:00",
   "opened_at": "2025-07-01T02:15:15+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(scripts): remove redundant wrapper",
   "number": 7,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-30T20:14:51+00:00",
   "opened_at": "2025-06-30T20:09:57+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.08
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(make): split diagram steps",
   "number": 6,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-30T19:40:42+00:00",
   "opened_at": "2025-06-30T19:40:23+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "refactor(scripts): move remaining utilities",
   "number": 5,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-30T19:11:01+00:00",
   "opened_at": "2025-06-30T19:10:41+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(align): reset intercept formula",
   "number": 4,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-30T14:43:19+00:00",
   "opened_at": "2025-06-30T14:43:08+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "refactor(maintenance): merge with align",
   "number": 3,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-26T12:51:13+00:00",
   "opened_at": "2025-06-26T12:50:57+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "closed",
   "title": "refactor(queries): build API queries dynamically",
   "number": 2,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-24T18:43:45+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "refactor(package): flatten src structure",
   "number": 1,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-24T16:56:14+00:00",
   "opened_at": "2025-06-24T16:53:59+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.04
  }
 ],
 "indexed": 0,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 6,
   "flights": 7
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 18,
   "flights": 18
  }
 ],
 "top_authors": [
  {
   "name": "Darafei Praliaskouski",
   "login": "Komzpa",
   "flights": 25,
   "indexed": 0
  }
 ],
 "page": "https://agentriders.com/logs/konturio/fibery-tools/"
}