{
 "author": {
  "bio": "Machine Learning Engineer 🇺🇦🇨🇦",
  "name": "Kyryl Truskovskyi",
  "login": "truskovskiyk",
  "is_bot": false,
  "company": "@kyryl-opens-ml",
  "avatar_url": "https://avatars.githubusercontent.com/u/7893705?v=4",
  "social_urls": [],
  "website_url": "https://kyrylai.com/",
  "github_user_id": 7893705,
  "readme_excerpt": null,
  "profile_fetched_at": "2026-11-04T18:48:26.512783+00:00",
  "github_profile": "https://github.com/truskovskiyk"
 },
 "totals": {
  "burns": 0,
  "repos": 3,
  "merged": 28,
  "flights": 34,
  "indexed": 4,
  "burn_rate": 0,
  "merge_rate": 0.848,
  "last_flight_at": "2025-06-30T09:07:26+00:00"
 },
 "agents": [
  {
   "agent": "openai-codex",
   "burns": 0,
   "merged": 28,
   "flights": 34
  }
 ],
 "repos": [
  {
   "stars": 13,
   "flights": 12,
   "full_name": "kyryl-opens-ml/ml-in-production-practice",
   "primary_language": "Python"
  },
  {
   "stars": 1,
   "flights": 11,
   "full_name": "kyryl-opens-ml/ai-engineering",
   "primary_language": "Python"
  },
  {
   "stars": 182,
   "flights": 11,
   "full_name": "kyryl-opens-ml/no-ocr",
   "primary_language": "TypeScript"
  }
 ],
 "flights": [
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Enhance API validation",
   "number": 16,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 78,
   "deletions": 17,
   "merged_at": "2025-06-30T09:06:25+00:00",
   "opened_at": "2025-06-30T09:06:00+00:00",
   "task_type": "feat",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add tests for ingestion and search",
   "number": 15,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 193,
   "deletions": 0,
   "merged_at": "2025-06-30T09:06:03+00:00",
   "opened_at": "2025-06-30T09:05:23+00:00",
   "task_type": "test",
   "files_changed": 1,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add unit test and instructions for local testing",
   "number": 10,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 96,
   "deletions": 0,
   "merged_at": "2025-06-17T21:53:04+00:00",
   "opened_at": "2025-06-17T21:48:10+00:00",
   "task_type": "test",
   "files_changed": 2,
   "hours_to_merge": 0.08
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add CI workflow and new API tests",
   "number": 8,
   "outcome": "merged_clean",
   "index_ok": true,
   "additions": 134,
   "deletions": 44,
   "merged_at": "2025-06-07T01:42:04+00:00",
   "opened_at": "2025-06-07T01:20:11+00:00",
   "task_type": "ci",
   "files_changed": 6,
   "hours_to_merge": 0.36
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "open",
   "title": "Add frontend linting and test workflow",
   "number": 17,
   "outcome": "stale",
   "index_ok": false,
   "additions": 1499,
   "deletions": 7,
   "merged_at": null,
   "opened_at": "2025-06-30T09:07:26+00:00",
   "task_type": "test",
   "files_changed": 7,
   "hours_to_merge": null
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Upgrade Vite and fix lint",
   "number": 14,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 7,
   "deletions": 6,
   "merged_at": "2025-06-30T09:06:38+00:00",
   "opened_at": "2025-06-30T09:05:01+00:00",
   "task_type": "build",
   "files_changed": 3,
   "hours_to_merge": 0.03
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Remove debug prints",
   "number": 13,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 2,
   "merged_at": "2025-06-30T09:04:22+00:00",
   "opened_at": "2025-06-30T09:04:10+00:00",
   "task_type": "refactor",
   "files_changed": 2,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Implement batched ingestion",
   "number": 12,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 21,
   "deletions": 12,
   "merged_at": "2025-06-30T09:03:53+00:00",
   "opened_at": "2025-06-30T09:03:36+00:00",
   "task_type": "feat",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Respect model parameter in call_vllm",
   "number": 11,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 1,
   "deletions": 2,
   "merged_at": "2025-06-30T09:03:39+00:00",
   "opened_at": "2025-06-30T09:03:07+00:00",
   "task_type": "fix",
   "files_changed": 2,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[course] remove Seldon",
   "number": 13,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-09T01:18:02+00:00",
   "opened_at": "2025-06-09T01:17:54+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add deepwiki link to README",
   "number": 9,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 2,
   "deletions": 0,
   "merged_at": "2025-06-07T02:04:32+00:00",
   "opened_at": "2025-06-07T02:04:24+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[docs] fix broken reading list links",
   "number": 10,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-07T02:04:00+00:00",
   "opened_at": "2025-06-07T02:03:50+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[all modules] drop PRACTICE files",
   "number": 9,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-07T01:11:23+00:00",
   "opened_at": "2025-06-07T01:10:35+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[module-1] fix modal path",
   "number": 48,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-07T00:58:00+00:00",
   "opened_at": "2025-06-07T00:57:52+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/no-ocr",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Add repo guidelines",
   "number": 7,
   "outcome": "merged_clean",
   "index_ok": false,
   "additions": 17,
   "deletions": 0,
   "merged_at": "2025-06-07T00:57:31+00:00",
   "opened_at": "2025-06-07T00:54:52+00:00",
   "task_type": "docs",
   "files_changed": 1,
   "hours_to_merge": 0.04
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[repo] highlight DeepWiki",
   "number": 47,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-06T03:19:29+00:00",
   "opened_at": "2025-06-06T03:19:20+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[repo] add DeepWiki link",
   "number": 46,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-06T03:13:39+00:00",
   "opened_at": "2025-06-06T03:10:54+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.05
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[docs] update course name",
   "number": 8,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-05T04:04:57+00:00",
   "opened_at": "2025-06-05T04:04:48+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[module-4] drop Kubeflow content",
   "number": 7,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-05T04:03:12+00:00",
   "opened_at": "2025-06-05T04:02:29+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "closed",
   "title": "[module-4] remove airflow",
   "number": 6,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-05T04:02:25+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "closed",
   "title": "[module-2] remove minio",
   "number": 5,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-05T04:02:17+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "closed",
   "title": "Remove classic example",
   "number": 4,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-05T04:02:06+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[repo] Remove platforms chapter",
   "number": 3,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-05T04:01:10+00:00",
   "opened_at": "2025-06-05T04:00:40+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[module-2] remove streaming dataset",
   "number": 2,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-05T04:00:01+00:00",
   "opened_at": "2025-06-05T03:59:34+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/ai-engineering",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[module-2] remove DVC",
   "number": 1,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-05T03:58:05+00:00",
   "opened_at": "2025-06-05T03:57:34+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "closed",
   "title": "[module-2] remove dvc homework",
   "number": 45,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-05T00:04:05+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[docs] add overviews to module READMEs",
   "number": 44,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-03T03:43:30+00:00",
   "opened_at": "2025-06-03T03:43:19+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[module-2] add missing test requirements",
   "number": 43,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-03T03:27:47+00:00",
   "opened_at": "2025-06-03T03:26:12+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.03
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[ci] add ruff style check",
   "number": 42,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-03T03:03:53+00:00",
   "opened_at": "2025-06-03T03:02:52+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.02
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[repo] revise README",
   "number": 41,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-03T03:08:44+00:00",
   "opened_at": "2025-06-03T03:02:41+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.1
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "closed",
   "title": "[repo] Update guidelines",
   "number": 40,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": null,
   "opened_at": "2025-06-03T02:49:40+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": null
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[module-all] apply ruff formatting",
   "number": 39,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-03T02:47:46+00:00",
   "opened_at": "2025-06-03T02:47:33+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "[repo] Add contributor guide",
   "number": 38,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-06-03T02:37:57+00:00",
   "opened_at": "2025-06-03T02:37:06+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 0.01
  },
  {
   "repo": "kyryl-opens-ml/ml-in-production-practice",
   "agent": "openai-codex",
   "state": "merged",
   "title": "Update fastapi test probability check",
   "number": 37,
   "outcome": null,
   "index_ok": false,
   "additions": null,
   "deletions": null,
   "merged_at": "2025-05-26T20:16:07+00:00",
   "opened_at": "2025-05-24T13:31:44+00:00",
   "task_type": null,
   "files_changed": null,
   "hours_to_merge": 54.74
  }
 ],
 "claim": null,
 "page": "https://agentriders.com/logs/author/truskovskiyk/"
}