{
  "schema_version": 1,
  "protocol_sha256": "db3ff647e30cc7e25c14ddcbab53bdc36527ffd9d5897fb67c1a6d5b0cf286fa",
  "started_at": "2026-10-30T08:33:45.518434+00:00",
  "model_key": "luna",
  "settings": {
    "model": "openai/gpt-6-luna",
    "transport": "ChatGPT subscription",
    "reasoning_effort": "low",
    "reasoning_sent_via": "litellm_extra_body.reasoning.effort; normalized SDK options verified",
    "max_output_tokens": null,
    "temperature_requested": null
  },
  "source_sdk": "01bb167b04c00afc4d781f198fd8941a543eb266",
  "records": [
    {
      "case_id": "auth-login",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Investigate Login Failure After Password Reset",
      "characters": 48,
      "latency_seconds": 2.2,
      "errors": []
    },
    {
      "case_id": "auth-login",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "previous",
      "title": "🔍 Investigating login failures after password r...",
      "characters": 50,
      "latency_seconds": 1.618,
      "errors": []
    },
    {
      "case_id": "auth-login",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔐 Login Failure: Investigate After Reset",
      "characters": 40,
      "latency_seconds": 1.294,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "previous",
      "title": "🔍 Investigating five-minute session expirations",
      "characters": 47,
      "latency_seconds": 1.614,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔍 Session Expiry: Investigate 5-Minute Timeout",
      "characters": 46,
      "latency_seconds": 1.387,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Investigate Five-Minute Session Expiration",
      "characters": 44,
      "latency_seconds": 2.255,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔍 OAuth Callbacks — Investigate HTTP 400 Cause",
      "characters": 46,
      "latency_seconds": 2.662,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Investigate OAuth Callback HTTP 400 Errors",
      "characters": 44,
      "latency_seconds": 1.58,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "split": "reused",
      "family": "auth",
      "repeat": 1,
      "arm": "previous",
      "title": "🔍 Investigating OAuth callback HTTP 400s",
      "characters": 40,
      "latency_seconds": 2.093,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "default",
      "title": "📦️ Upgrade urllib3 and run regression tests",
      "characters": 43,
      "latency_seconds": 1.963,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "previous",
      "title": "⬆️ Upgrading urllib3 and running regression tests",
      "characters": 49,
      "latency_seconds": 1.917,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "topic_first",
      "title": "📦 urllib3 Upgrade and Regression Tests",
      "characters": 38,
      "latency_seconds": 1.497,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "previous",
      "title": "⬆️ Upgrading Pydantic and running regression tests",
      "characters": 50,
      "latency_seconds": 1.269,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "topic_first",
      "title": "⬆️ Pydantic Upgrade and Regression Tests",
      "characters": 40,
      "latency_seconds": 1.214,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "default",
      "title": "📦️ Upgrade Pydantic and Run Regression Tests",
      "characters": 44,
      "latency_seconds": 1.213,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🖼️ Pillow Upgrade & Regression Tests",
      "characters": 36,
      "latency_seconds": 1.93,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "default",
      "title": "📦 Upgrade Pillow and run regression tests",
      "characters": 41,
      "latency_seconds": 1.465,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "split": "reused",
      "family": "upgrade",
      "repeat": 1,
      "arm": "previous",
      "title": "🧪 Upgrading Pillow and running regression tests",
      "characters": 47,
      "latency_seconds": 1.33,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "split": "reused",
      "family": "frontloading",
      "repeat": 1,
      "arm": "default",
      "title": "📝 Redis Cache Eviction and allkeys-lru Policy",
      "characters": 45,
      "latency_seconds": 1.396,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "split": "reused",
      "family": "frontloading",
      "repeat": 1,
      "arm": "previous",
      "title": "📘 Explaining Redis allkeys-LRU eviction",
      "characters": 39,
      "latency_seconds": 1.792,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "split": "reused",
      "family": "frontloading",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🗄️ Redis eviction: Explain allkeys-lru",
      "characters": 38,
      "latency_seconds": 1.16,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "split": "reused",
      "family": "frontloading",
      "repeat": 1,
      "arm": "previous",
      "title": "🦀 Explaining Rust incremental compilation cache...",
      "characters": 50,
      "latency_seconds": 1.701,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "split": "reused",
      "family": "frontloading",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🦀 Rust Incremental Compilation Explained",
      "characters": 40,
      "latency_seconds": 1.673,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "split": "reused",
      "family": "frontloading",
      "repeat": 1,
      "arm": "default",
      "title": "📝 Rust Incremental Compilation and Cache Misses",
      "characters": 47,
      "latency_seconds": 1.34,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔋 Lesson Limit Complaints Summary",
      "characters": 33,
      "latency_seconds": 1.203,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Lesson energy limit interrupts practice and f...",
      "characters": 50,
      "latency_seconds": 2.001,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "previous",
      "title": "⚡ Summarizing complaints about lesson energy li...",
      "characters": 50,
      "latency_seconds": 1.584,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "default",
      "title": "📝 Offline Lessons Enable Train Practice",
      "characters": 39,
      "latency_seconds": 1.663,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "previous",
      "title": "🚆 Summarizing praise for offline lessons on trains",
      "characters": 50,
      "latency_seconds": 2.138,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🚆 Offline Lessons Praise Summary",
      "characters": 32,
      "latency_seconds": 1.236,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "previous",
      "title": "♟️ Summarizing mixed chess lesson feedback",
      "characters": 42,
      "latency_seconds": 1.212,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "topic_first",
      "title": "♟️ Chess lessons: Mixed puzzle and checkmate fe...",
      "characters": 50,
      "latency_seconds": 1.093,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "split": "reused",
      "family": "feedback",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Chess Lesson Feedback: Puzzles and Checkmate ...",
      "characters": 50,
      "latency_seconds": 1.587,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🗄️ SQLite vs PostgreSQL for offline-first app",
      "characters": 45,
      "latency_seconds": 2.047,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "default",
      "title": "🗃️ SQLite vs. PostgreSQL for Offline-First Apps",
      "characters": 47,
      "latency_seconds": 1.535,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "previous",
      "title": "🗃️ Comparing SQLite and PostgreSQL for an offli...",
      "characters": 50,
      "latency_seconds": 1.326,
      "errors": []
    },
    {
      "case_id": "negation",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "default",
      "title": "🔧 Inspect Docker Disk Usage Safely",
      "characters": 34,
      "latency_seconds": 1.625,
      "errors": []
    },
    {
      "case_id": "negation",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "previous",
      "title": "🐳 Inspecting Docker disk usage safely",
      "characters": 37,
      "latency_seconds": 1.273,
      "errors": []
    },
    {
      "case_id": "negation",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🐳 Docker Disk Usage Inspection",
      "characters": 30,
      "latency_seconds": 4.376,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "previous",
      "title": "🔍 Investigating webhook failures from TLS rotation",
      "characters": 50,
      "latency_seconds": 1.434,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔐 Webhook TLS rotation hypothesis check",
      "characters": 39,
      "latency_seconds": 1.875,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "split": "reused",
      "family": "fidelity",
      "repeat": 1,
      "arm": "default",
      "title": "👷 Investigate TLS certificate rotation and webh...",
      "characters": 50,
      "latency_seconds": 1.402,
      "errors": []
    },
    {
      "case_id": "completed",
      "split": "reused",
      "family": "status",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔐 Login Fix — Release Note",
      "characters": 26,
      "latency_seconds": 1.61,
      "errors": []
    },
    {
      "case_id": "completed",
      "split": "reused",
      "family": "status",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Login Fix Merged and Regression Tests Passed",
      "characters": 46,
      "latency_seconds": 2.064,
      "errors": []
    },
    {
      "case_id": "completed",
      "split": "reused",
      "family": "status",
      "repeat": 1,
      "arm": "previous",
      "title": "📝 Writing login fix release note",
      "characters": 32,
      "latency_seconds": 1.566,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "split": "reused",
      "family": "input-cap",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Investigate Zephyr Unicode CSV Parser Crash",
      "characters": 45,
      "latency_seconds": 2.095,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "split": "reused",
      "family": "input-cap",
      "repeat": 1,
      "arm": "previous",
      "title": "🔍 Investigating Zephyr’s Unicode CSV parser crash",
      "characters": 49,
      "latency_seconds": 1.175,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "split": "reused",
      "family": "input-cap",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔍 Zephyr Unicode CSV parser crash investigation",
      "characters": 47,
      "latency_seconds": 2.381,
      "errors": []
    },
    {
      "case_id": "backup-status",
      "split": "fresh",
      "family": "operations",
      "repeat": 1,
      "arm": "previous",
      "title": "🔍 Investigating nightly backup permission error",
      "characters": 47,
      "latency_seconds": 3.25,
      "errors": []
    },
    {
      "case_id": "backup-status",
      "split": "fresh",
      "family": "operations",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔍 Nightly backup permission failure investigation",
      "characters": 49,
      "latency_seconds": 4.193,
      "errors": []
    },
    {
      "case_id": "backup-status",
      "split": "fresh",
      "family": "operations",
      "repeat": 1,
      "arm": "default",
      "title": "👷 Investigate nightly backup permission error",
      "characters": 45,
      "latency_seconds": 1.463,
      "errors": []
    },
    {
      "case_id": "backup-restore",
      "split": "fresh",
      "family": "operations",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🗄️ Backup Restore Test Safely",
      "characters": 29,
      "latency_seconds": 1.487,
      "errors": []
    },
    {
      "case_id": "backup-restore",
      "split": "fresh",
      "family": "operations",
      "repeat": 1,
      "arm": "default",
      "title": "🗃️ Test a Backup Restore in a Disposable Directory",
      "characters": 50,
      "latency_seconds": 1.57,
      "errors": []
    },
    {
      "case_id": "backup-restore",
      "split": "fresh",
      "family": "operations",
      "repeat": 1,
      "arm": "previous",
      "title": "🧪 Testing Backup Restore in a Disposable Directory",
      "characters": 50,
      "latency_seconds": 1.446,
      "errors": []
    },
    {
      "case_id": "feedback-refunds",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "default",
      "title": "📝 Summarize customer frustration over weeks-lon...",
      "characters": 50,
      "latency_seconds": 2.089,
      "errors": []
    },
    {
      "case_id": "feedback-refunds",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "previous",
      "title": "😠 Summarizing complaints about weeks-long refunds",
      "characters": 49,
      "latency_seconds": 3.888,
      "errors": []
    },
    {
      "case_id": "feedback-refunds",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "topic_first",
      "title": "📝 Refund Delays: Summarize Customer Frustration",
      "characters": 47,
      "latency_seconds": 1.796,
      "errors": []
    },
    {
      "case_id": "feedback-accessibility",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "previous",
      "title": "👏 Summarizing customer praise for screen-reader...",
      "characters": 50,
      "latency_seconds": 1.265,
      "errors": []
    },
    {
      "case_id": "feedback-accessibility",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "topic_first",
      "title": "♿ Screen-reader labels: Summarize customer praise",
      "characters": 49,
      "latency_seconds": 1.39,
      "errors": []
    },
    {
      "case_id": "feedback-accessibility",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "default",
      "title": "💄 Customer Praise for New Screen-Reader Labels",
      "characters": 46,
      "latency_seconds": 1.464,
      "errors": []
    },
    {
      "case_id": "feedback-notifications",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🔔 Notifications: Mixed feedback on scheduling a...",
      "characters": 50,
      "latency_seconds": 1.732,
      "errors": []
    },
    {
      "case_id": "feedback-notifications",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "default",
      "title": "✨ Notification Scheduling Praised, Default Soun...",
      "characters": 50,
      "latency_seconds": 2.08,
      "errors": []
    },
    {
      "case_id": "feedback-notifications",
      "split": "fresh",
      "family": "feedback",
      "repeat": 1,
      "arm": "previous",
      "title": "🔔 Summarizing mixed notification feedback",
      "characters": 41,
      "latency_seconds": 1.392,
      "errors": []
    },
    {
      "case_id": "proposal-not-approved",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 1,
      "arm": "default",
      "title": "👷 Draft Buildkite Migration Proposal",
      "characters": 36,
      "latency_seconds": 1.379,
      "errors": []
    },
    {
      "case_id": "proposal-not-approved",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 1,
      "arm": "previous",
      "title": "📝 Drafting Jenkins-to-Buildkite replacement pro...",
      "characters": 50,
      "latency_seconds": 1.653,
      "errors": []
    },
    {
      "case_id": "proposal-not-approved",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🛠️ Jenkins Buildkite replacement proposal",
      "characters": 41,
      "latency_seconds": 2.287,
      "errors": []
    },
    {
      "case_id": "suspected-leak",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 1,
      "arm": "previous",
      "title": "🖼️ Investigating retained image buffers and mem...",
      "characters": 50,
      "latency_seconds": 2.913,
      "errors": []
    },
    {
      "case_id": "suspected-leak",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🖼️ Image buffers: Check memory-growth hypothesis",
      "characters": 48,
      "latency_seconds": 1.531,
      "errors": []
    },
    {
      "case_id": "suspected-leak",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 1,
      "arm": "default",
      "title": "⚡️ Investigate Retained Image Buffers and Memor...",
      "characters": 50,
      "latency_seconds": 1.573,
      "errors": []
    },
    {
      "case_id": "docs-after-revert",
      "split": "fresh",
      "family": "status",
      "repeat": 1,
      "arm": "topic_first",
      "title": "🚨 Deployment Incident Timeline Update",
      "characters": 37,
      "latency_seconds": 1.329,
      "errors": []
    },
    {
      "case_id": "docs-after-revert",
      "split": "fresh",
      "family": "status",
      "repeat": 1,
      "arm": "default",
      "title": "🚀 Update deployment incident timeline",
      "characters": 37,
      "latency_seconds": 2.628,
      "errors": []
    },
    {
      "case_id": "docs-after-revert",
      "split": "fresh",
      "family": "status",
      "repeat": 1,
      "arm": "previous",
      "title": "📝 Updating reverted deployment timeline",
      "characters": 39,
      "latency_seconds": 1.188,
      "errors": []
    },
    {
      "case_id": "auth-login",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Investigate Login Failure After Password Reset",
      "characters": 48,
      "latency_seconds": 1.545,
      "errors": []
    },
    {
      "case_id": "auth-login",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🔍 Login reset failure investigation",
      "characters": 35,
      "latency_seconds": 3.795,
      "errors": []
    },
    {
      "case_id": "auth-login",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "previous",
      "title": "🔍 Investigating login failures after password r...",
      "characters": 50,
      "latency_seconds": 3.357,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "previous",
      "title": "🔍 Investigating five-minute session expirations",
      "characters": 47,
      "latency_seconds": 2.081,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Investigate Sessions Expiring After Five Minutes",
      "characters": 50,
      "latency_seconds": 1.437,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🔍 Session Expiry: Investigate 5-Minute Timeout",
      "characters": 46,
      "latency_seconds": 1.705,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🔍 OAuth callbacks: investigate HTTP 400 cause",
      "characters": 45,
      "latency_seconds": 1.663,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "previous",
      "title": "🔍 Investigating OAuth callback HTTP 400s",
      "characters": 40,
      "latency_seconds": 2.163,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "split": "reused",
      "family": "auth",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Investigate OAuth Callback HTTP 400 Errors",
      "characters": 44,
      "latency_seconds": 2.148,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "default",
      "title": "📦️ Upgrade urllib3 and Run Regression Tests",
      "characters": 43,
      "latency_seconds": 1.446,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🛠️ urllib3 Upgrade and Test Regressions",
      "characters": 39,
      "latency_seconds": 1.202,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "previous",
      "title": "⬆️ Upgrading urllib3 and running regression tests",
      "characters": 49,
      "latency_seconds": 1.918,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "previous",
      "title": "⬆️ Upgrading Pydantic and running regression tests",
      "characters": 50,
      "latency_seconds": 1.704,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "default",
      "title": "📦️ Upgrade Pydantic and run regression tests",
      "characters": 44,
      "latency_seconds": 1.595,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "topic_first",
      "title": "📦 Pydantic Patch Upgrade and Regression Tests",
      "characters": 45,
      "latency_seconds": 2.09,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🖼️ Pillow Upgrade & Regression Tests",
      "characters": 36,
      "latency_seconds": 1.043,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "previous",
      "title": "🧪 Upgrading Pillow and running regression tests",
      "characters": 47,
      "latency_seconds": 1.175,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "split": "reused",
      "family": "upgrade",
      "repeat": 2,
      "arm": "default",
      "title": "📦️ Upgrade Pillow and run regression tests",
      "characters": 42,
      "latency_seconds": 1.455,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "split": "reused",
      "family": "frontloading",
      "repeat": 2,
      "arm": "default",
      "title": "📝 Redis Cache Eviction: allkeys-lru Explained",
      "characters": 45,
      "latency_seconds": 2.215,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "split": "reused",
      "family": "frontloading",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🧠 Redis eviction — explain allkeys-lru",
      "characters": 38,
      "latency_seconds": 2.305,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "split": "reused",
      "family": "frontloading",
      "repeat": 2,
      "arm": "previous",
      "title": "📘 Explaining Redis allkeys-lru eviction",
      "characters": 39,
      "latency_seconds": 2.411,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "split": "reused",
      "family": "frontloading",
      "repeat": 2,
      "arm": "previous",
      "title": "🦀 Explaining Rust Incremental Compilation and C...",
      "characters": 50,
      "latency_seconds": 1.478,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "split": "reused",
      "family": "frontloading",
      "repeat": 2,
      "arm": "default",
      "title": "⚡️ Rust Incremental Compilation and Cache Misses",
      "characters": 48,
      "latency_seconds": 1.339,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "split": "reused",
      "family": "frontloading",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🦀 Rust Incremental Compilation Explained",
      "characters": 40,
      "latency_seconds": 1.913,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "topic_first",
      "title": "⚡ Lesson limit complaints — practice interrupte...",
      "characters": 50,
      "latency_seconds": 2.283,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "previous",
      "title": "⚡ Summarizing complaints about lesson energy li...",
      "characters": 50,
      "latency_seconds": 1.265,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Lesson energy limit interrupts practice and f...",
      "characters": 50,
      "latency_seconds": 1.68,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "default",
      "title": "✨ Offline Lessons Enable Train Practice",
      "characters": 39,
      "latency_seconds": 1.574,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🚆 Offline Lessons — Summarize User Praise",
      "characters": 41,
      "latency_seconds": 2.132,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "previous",
      "title": "🚆 Summarizing praise for offline lessons",
      "characters": 40,
      "latency_seconds": 1.216,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "previous",
      "title": "♟️ Summarizing mixed chess lesson feedback",
      "characters": 42,
      "latency_seconds": 1.365,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Mixed Chess Lesson Feedback: Puzzles and Chec...",
      "characters": 50,
      "latency_seconds": 2.362,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "split": "reused",
      "family": "feedback",
      "repeat": 2,
      "arm": "topic_first",
      "title": "♟️ Chess Lessons: Mixed Puzzle and Mate Feedback",
      "characters": 48,
      "latency_seconds": 1.64,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🗄️ SQLite vs PostgreSQL comparison",
      "characters": 34,
      "latency_seconds": 1.244,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "previous",
      "title": "🗄️ Comparing SQLite and PostgreSQL for an offli...",
      "characters": 50,
      "latency_seconds": 1.829,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "default",
      "title": "🗃️ SQLite vs. PostgreSQL for Offline-First Apps",
      "characters": 47,
      "latency_seconds": 2.359,
      "errors": []
    },
    {
      "case_id": "negation",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "default",
      "title": "📝 Inspect Docker Disk Usage Safely",
      "characters": 34,
      "latency_seconds": 2.313,
      "errors": []
    },
    {
      "case_id": "negation",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🐳 Docker Disk Usage Inspection",
      "characters": 30,
      "latency_seconds": 1.557,
      "errors": []
    },
    {
      "case_id": "negation",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "previous",
      "title": "🐳 Inspecting Docker disk usage safely",
      "characters": 37,
      "latency_seconds": 1.565,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "previous",
      "title": "🔍 Investigating TLS certificate rotation and we...",
      "characters": 50,
      "latency_seconds": 1.589,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Investigate TLS Rotation and Webhook Failures",
      "characters": 47,
      "latency_seconds": 1.926,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "split": "reused",
      "family": "fidelity",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🔐 Webhook TLS rotation hypothesis check",
      "characters": 39,
      "latency_seconds": 3.15,
      "errors": []
    },
    {
      "case_id": "completed",
      "split": "reused",
      "family": "status",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🔐 Login fix: release note for merged change",
      "characters": 43,
      "latency_seconds": 1.869,
      "errors": []
    },
    {
      "case_id": "completed",
      "split": "reused",
      "family": "status",
      "repeat": 2,
      "arm": "previous",
      "title": "🔐 Writing login fix release note",
      "characters": 32,
      "latency_seconds": 2.358,
      "errors": []
    },
    {
      "case_id": "completed",
      "split": "reused",
      "family": "status",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Login Fix Completed and Verified",
      "characters": 34,
      "latency_seconds": 1.394,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "split": "reused",
      "family": "input-cap",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Investigate Zephyr Unicode CSV Parser Crash",
      "characters": 45,
      "latency_seconds": 1.338,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "split": "reused",
      "family": "input-cap",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🐛 Zephyr CSV Parser Crash Investigation",
      "characters": 39,
      "latency_seconds": 1.426,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "split": "reused",
      "family": "input-cap",
      "repeat": 2,
      "arm": "previous",
      "title": "🔍 Investigating Zephyr’s Unicode CSV parser crash",
      "characters": 49,
      "latency_seconds": 1.877,
      "errors": []
    },
    {
      "case_id": "backup-status",
      "split": "fresh",
      "family": "operations",
      "repeat": 2,
      "arm": "previous",
      "title": "🔍 Investigating nightly backup permission error",
      "characters": 47,
      "latency_seconds": 5.125,
      "errors": []
    },
    {
      "case_id": "backup-status",
      "split": "fresh",
      "family": "operations",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Investigate nightly backup permission error",
      "characters": 45,
      "latency_seconds": 1.858,
      "errors": []
    },
    {
      "case_id": "backup-status",
      "split": "fresh",
      "family": "operations",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🔍 Backup permissions investigation",
      "characters": 34,
      "latency_seconds": 1.892,
      "errors": []
    },
    {
      "case_id": "backup-restore",
      "split": "fresh",
      "family": "operations",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🗄️ Backup Restore Test Safely",
      "characters": 29,
      "latency_seconds": 2.623,
      "errors": []
    },
    {
      "case_id": "backup-restore",
      "split": "fresh",
      "family": "operations",
      "repeat": 2,
      "arm": "previous",
      "title": "🧪 Testing backup restores safely without overwr...",
      "characters": 50,
      "latency_seconds": 1.15,
      "errors": []
    },
    {
      "case_id": "backup-restore",
      "split": "fresh",
      "family": "operations",
      "repeat": 2,
      "arm": "default",
      "title": "📝 Document Safe Backup Restore Testing",
      "characters": 38,
      "latency_seconds": 3.306,
      "errors": []
    },
    {
      "case_id": "feedback-refunds",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "default",
      "title": "📝 Summarize Complaints About Weeks-Long Refunds",
      "characters": 47,
      "latency_seconds": 3.087,
      "errors": []
    },
    {
      "case_id": "feedback-refunds",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "topic_first",
      "title": "💸 Refund Delays: Summarize Customer Frustration",
      "characters": 47,
      "latency_seconds": 1.614,
      "errors": []
    },
    {
      "case_id": "feedback-refunds",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "previous",
      "title": "😠 Summarizing complaints about weekslong refunds",
      "characters": 48,
      "latency_seconds": 1.946,
      "errors": []
    },
    {
      "case_id": "feedback-accessibility",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "previous",
      "title": "👏 Summarizing customer praise for screen-reader...",
      "characters": 50,
      "latency_seconds": 1.675,
      "errors": []
    },
    {
      "case_id": "feedback-accessibility",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "default",
      "title": "✨ Summarize Customer Praise for Screen-Reader L...",
      "characters": 50,
      "latency_seconds": 2.851,
      "errors": []
    },
    {
      "case_id": "feedback-accessibility",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🔊 Screen-reader Labels: Summarize Praise",
      "characters": 40,
      "latency_seconds": 2.722,
      "errors": []
    },
    {
      "case_id": "feedback-notifications",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🔔 Notifications: Scheduling praised, sound disl...",
      "characters": 50,
      "latency_seconds": 1.141,
      "errors": []
    },
    {
      "case_id": "feedback-notifications",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "previous",
      "title": "🔔 Summarizing mixed feedback on notification so...",
      "characters": 50,
      "latency_seconds": 1.428,
      "errors": []
    },
    {
      "case_id": "feedback-notifications",
      "split": "fresh",
      "family": "feedback",
      "repeat": 2,
      "arm": "default",
      "title": "📝 Feedback on Notification Scheduling and Sound",
      "characters": 47,
      "latency_seconds": 1.171,
      "errors": []
    },
    {
      "case_id": "proposal-not-approved",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 2,
      "arm": "default",
      "title": "👷 Proposal: Replace Jenkins with Buildkite",
      "characters": 42,
      "latency_seconds": 1.558,
      "errors": []
    },
    {
      "case_id": "proposal-not-approved",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 2,
      "arm": "topic_first",
      "title": "📝 Jenkins Buildkite Migration Proposal",
      "characters": 38,
      "latency_seconds": 1.721,
      "errors": []
    },
    {
      "case_id": "proposal-not-approved",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 2,
      "arm": "previous",
      "title": "📝 Drafting Jenkins-to-Buildkite replacement pro...",
      "characters": 50,
      "latency_seconds": 1.906,
      "errors": []
    },
    {
      "case_id": "suspected-leak",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 2,
      "arm": "previous",
      "title": "🖼️ Investigating retained image buffers and mem...",
      "characters": 50,
      "latency_seconds": 1.266,
      "errors": []
    },
    {
      "case_id": "suspected-leak",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 2,
      "arm": "default",
      "title": "⚡️ Investigate retained image buffers and memor...",
      "characters": 50,
      "latency_seconds": 1.213,
      "errors": []
    },
    {
      "case_id": "suspected-leak",
      "split": "fresh",
      "family": "fidelity",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🖼️ Image Buffers — Check Memory Growth Hypothesis",
      "characters": 49,
      "latency_seconds": 1.567,
      "errors": []
    },
    {
      "case_id": "docs-after-revert",
      "split": "fresh",
      "family": "status",
      "repeat": 2,
      "arm": "topic_first",
      "title": "🚨 Deployment Timeline Update",
      "characters": 28,
      "latency_seconds": 1.579,
      "errors": []
    },
    {
      "case_id": "docs-after-revert",
      "split": "fresh",
      "family": "status",
      "repeat": 2,
      "arm": "previous",
      "title": "📝 Updating reverted deployment timeline",
      "characters": 39,
      "latency_seconds": 1.047,
      "errors": []
    },
    {
      "case_id": "docs-after-revert",
      "split": "fresh",
      "family": "status",
      "repeat": 2,
      "arm": "default",
      "title": "📝 Update Incident Timeline After Reversion",
      "characters": 42,
      "latency_seconds": 1.455,
      "errors": []
    }
  ],
  "finished_at": "2026-10-30T08:38:09.041888+00:00"
}
