{
 "repo": {
  "name": "batumarket",
  "owner": "Komzpa",
  "stars": 3,
  "license": null,
  "full_name": "Komzpa/batumarket",
  "fetched_at": null,
  "primary_language": "Python"
 },
 "burns": [],
 "total": 323,
 "agents": [
  {
   "agent": "openai-codex",
   "merged": 315,
   "flights": 323,
   "burn_rate": 0,
   "merge_rate": 0.978,
   "last_flight_at": "2025-07-22T07:36:27+00:00",
   "median_hours_to_merge": 0
  }
 ],
 "riders": [],
 "flights": [
  {
   "agent": "openai-codex",
   "state": "open",
   "title": "fix(stats): clarify lot and embedding counts",
   "number": 337,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-07-22T07:36:27+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(moderation): allow posts with skipped video",
   "number": 336,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-22T05:45:43+00:00",
   "opened_at": "2025-07-22T05:45:24+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(save): avoid album duplication",
   "number": 335,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-21T18:20:47+00:00",
   "opened_at": "2025-07-21T18:17:34+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.05
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "ci: fix progressbar import",
   "number": 334,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-21T13:13:21+00:00",
   "opened_at": "2025-07-21T13:13:10+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(stats): fallback dedup import and expose media paths",
   "number": 333,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-21T12:47:49+00:00",
   "opened_at": "2025-07-21T12:33:17+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.24
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(debug): stats and dedupe helper",
   "number": 332,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-21T11:52:33+00:00",
   "opened_at": "2025-07-21T11:52:17+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "chore(lint): resolve some ruff warnings",
   "number": 330,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-21T09:49:50+00:00",
   "opened_at": "2025-07-21T09:47:35+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(media): adjust dedupe and hashing",
   "number": 329,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-21T09:21:12+00:00",
   "opened_at": "2025-07-21T09:20:23+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(dedupe): reuse lots for reposts",
   "number": 328,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T22:55:29+00:00",
   "opened_at": "2025-07-20T22:55:11+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(stats): avoid KeyError and silence faiss",
   "number": 327,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T21:30:45+00:00",
   "opened_at": "2025-07-20T21:22:48+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.13
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(build): reference templates module",
   "number": 326,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T20:56:41+00:00",
   "opened_at": "2025-07-20T20:56:30+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(stats): deduplicate lots like site build",
   "number": 325,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T19:36:52+00:00",
   "opened_at": "2025-07-20T19:36:29+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(logging): clarify missing caption json",
   "number": 324,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T19:15:01+00:00",
   "opened_at": "2025-07-20T19:14:43+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(clean): clarify dataset count failures",
   "number": 323,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T18:44:08+00:00",
   "opened_at": "2025-07-20T18:43:56+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(thumbnails): prune non-jpg files",
   "number": 322,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T18:06:01+00:00",
   "opened_at": "2025-07-20T18:05:52+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(clean): prune extra thumbnails",
   "number": 321,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T17:43:17+00:00",
   "opened_at": "2025-07-20T17:43:04+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(clean): keep captions and sanity check counts",
   "number": 320,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T17:26:03+00:00",
   "opened_at": "2025-07-20T17:25:53+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(clean): remove orphan captions and speed up fixup",
   "number": 319,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T17:00:43+00:00",
   "opened_at": "2025-07-20T17:00:21+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(fixup): update captions with phashes",
   "number": 318,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T16:17:58+00:00",
   "opened_at": "2025-07-20T16:17:46+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(make): add stats target",
   "number": 317,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T15:59:11+00:00",
   "opened_at": "2025-07-20T15:59:01+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(fixup): speed up caption cache build",
   "number": 316,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T15:36:31+00:00",
   "opened_at": "2025-07-20T15:36:18+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(fixup): add progress indicators",
   "number": 315,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T15:24:24+00:00",
   "opened_at": "2025-07-20T15:24:13+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(tg_album): use runtime RAW_DIR",
   "number": 312,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T12:42:55+00:00",
   "opened_at": "2025-07-20T12:39:00+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.07
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "refactor(caption)",
   "number": 311,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T01:46:46+00:00",
   "opened_at": "2025-07-20T01:46:33+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(dedup): add caption fingerprint cache",
   "number": 310,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-20T00:52:09+00:00",
   "opened_at": "2025-07-20T00:50:25+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.03
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(site): add expires meta and sitemap",
   "number": 308,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-19T10:26:40+00:00",
   "opened_at": "2025-07-19T10:26:26+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(site): add contact info and language autodetect",
   "number": 307,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-15T00:14:19+00:00",
   "opened_at": "2025-07-15T00:13:51+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(geocode): add make target",
   "number": 306,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-14T06:36:32+00:00",
   "opened_at": "2025-07-14T06:36:21+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(tg_album): allow standalone import",
   "number": 305,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-13T20:09:01+00:00",
   "opened_at": "2025-07-13T19:27:34+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.69
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(tg_album): import tg_save at module level",
   "number": 304,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-13T19:17:42+00:00",
   "opened_at": "2025-07-13T14:58:55+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 4.31
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix: import missing helper",
   "number": 303,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-13T14:07:34+00:00",
   "opened_at": "2025-07-13T14:07:24+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(tg_client): restore helpers for tests",
   "number": 302,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-13T13:57:05+00:00",
   "opened_at": "2025-07-13T13:56:39+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "docs(code): add missing docstrings",
   "number": 301,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-13T12:24:29+00:00",
   "opened_at": "2025-07-13T12:24:13+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(paths): centralize cache directories",
   "number": 300,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-13T00:01:59+00:00",
   "opened_at": "2025-07-13T00:01:30+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix pending_caption import path",
   "number": 298,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T22:57:06+00:00",
   "opened_at": "2025-07-12T22:56:36+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(similar): add missing datetime import",
   "number": 297,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T22:56:54+00:00",
   "opened_at": "2025-07-12T22:55:55+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix: ensure progressbar import works everywhere",
   "number": 296,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T22:32:06+00:00",
   "opened_at": "2025-07-12T22:31:27+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(build): enforce file length limit",
   "number": 295,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T21:09:21+00:00",
   "opened_at": "2025-07-12T21:09:09+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(cluster): prevent invalid kmeans input",
   "number": 294,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T21:05:56+00:00",
   "opened_at": "2025-07-12T21:05:44+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(chopper): refine attachment handling",
   "number": 293,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T21:04:00+00:00",
   "opened_at": "2025-07-12T21:01:34+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.04
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "refactor(tg_client): centralize paths and helpers",
   "number": 292,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T18:43:05+00:00",
   "opened_at": "2025-07-12T18:42:54+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "refactor(paths): use central constants",
   "number": 291,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T17:33:20+00:00",
   "opened_at": "2025-07-12T17:31:34+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.03
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix: save all images in album",
   "number": 290,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T15:23:24+00:00",
   "opened_at": "2025-07-12T15:23:08+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(chop): keep unassigned media",
   "number": 289,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T13:17:47+00:00",
   "opened_at": "2025-07-12T13:16:54+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(clustering): allow grouped anchors",
   "number": 287,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T13:15:18+00:00",
   "opened_at": "2025-07-12T13:08:42+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.11
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(prompts): quote filenames",
   "number": 286,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T12:57:09+00:00",
   "opened_at": "2025-07-12T12:56:24+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "feat(tg_client): add album lock timeout",
   "number": 285,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T12:29:51+00:00",
   "opened_at": "2025-07-12T12:23:59+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.1
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix: patch dedup threshold in tests",
   "number": 284,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-12T12:23:31+00:00",
   "opened_at": "2025-07-12T12:22:36+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.02
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix(tg_client): handle forwarded sender",
   "number": 283,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-11T23:57:05+00:00",
   "opened_at": "2025-07-11T23:56:43+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "agent": "openai-codex",
   "state": "merged",
   "title": "fix: prevent tg_client album lock recursion",
   "number": 282,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-07-11T23:56:54+00:00",
   "opened_at": "2025-07-11T23:56:27+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  }
 ],
 "indexed": 0,
 "monthly": [
  {
   "burns": 0,
   "month": "2025-06",
   "merged": 221,
   "flights": 228
  },
  {
   "burns": 0,
   "month": "2025-07",
   "merged": 94,
   "flights": 95
  }
 ],
 "top_authors": [
  {
   "name": "Darafei Praliaskouski",
   "login": "Komzpa",
   "flights": 323,
   "indexed": 0
  }
 ],
 "page": "https://agentriders.com/logs/Komzpa/batumarket/"
}