{
  "schema_version": 1,
  "started_at": "2026-10-30T06:05:34.605983+00:00",
  "revision": "f0adfd0aef206f73f755313b41043333f1de4c6f + title-input-limits patch",
  "model": "litellm_proxy/anthropic/claude-haiku-4-5",
  "temperature": 0,
  "reasoning_effort": "none",
  "extended_thinking_budget": null,
  "max_title_characters": 50,
  "repeats": 2,
  "skill_sha256": "f419a4c7551f4c77e37931fecfa6535ab80dcce8b5d8d23b84037093a6e286b9",
  "override_characters": 2855,
  "override": "Generate one conversation title for the user request below. Apply the following readable-text skill to a sidebar of task titles. Use one relevant emoji followed by an action in the continuous form and the specific task subject. Keep the distinguishing topic near the start. Describe the user's requested work, not an assumed result. Use the same vocabulary for the same concepts across titles. Preserve negation, uncertainty, and meaningful sentiment where relevant. Return only a title of at most {max_length} characters.\n\n\n# Readable Text\n\nApply these principles to text that readers scan as a collection. Follow the product's length and output-format constraints. Preserve facts, uncertainty, and distinctions that affect meaning.\n\n1. **Make the action easy to parse.** Prefer actor, action, then object. Omit an actor shared by every item and start with the action. Match tense to the reader's context: ongoing work can use \"Investigating login failures\"; a completed result can use \"Fixed login failures\". Never imply completion without evidence.\n2. **Front-load distinguishing words.** Put the words that identify this item near the start, ideally within the first two words. Remove repeated openings such as \"This conversation is about\". Keep the action clear while bringing its specific subject forward.\n3. **Reuse structure and vocabulary.** Choose one sentence pattern for comparable items and one term per concept. Avoid switching between \"issue\", \"page\", and \"ticket\" for the same thing. When generating one item at a time, follow a fixed template rather than inventing variety.\n4. **Make variation meaningful.** Use comparable detail and length for comparable items. Change structure or add a qualifier only when the underlying difference matters. Do not make one item appear more important through arbitrary verbosity. Keep necessary qualifiers even when they break the pattern.\n5. **Match verbs to purpose and evidence.** In feedback summaries, use \"Users praise\" for praise and \"Users complain\" for complaints, rather than hiding both behind \"Users discuss\". Retain mixed sentiment when present; never invent emotion or certainty. Keep neutral material neutral.\n\nBefore returning, scan only the beginnings: can readers tell the items apart? Then read the collection for consistent terms, parallel structure, and unsupported implications. Return the requested text, without explaining these rules.\n\n## References\n\n- Adapted from Shreya Shankar's [Five Principles for Generating Readable AI Text in Bulk](https://fsdatalab.github.io/blog/agent-text-at-scale/) (2026).\n- Nielsen Norman Group: [First 2 Words: A Signal for the Scanning Eye](https://www.nngroup.com/articles/first-2-words-a-signal-for-scanning/) and [Consistency and standards](https://www.nngroup.com/articles/ten-usability-heuristics/).\n\n\nUSER REQUEST:\n{conversation_content}",
  "cases": [
    {
      "id": "auth-login",
      "family": "auth",
      "input": "Investigate why login fails after a password reset. No cause is confirmed yet.",
      "focus": "login",
      "risks": [
        "invented resolution",
        "lost uncertainty"
      ]
    },
    {
      "id": "auth-session",
      "family": "auth",
      "input": "Investigate why sessions expire after five minutes. No cause is confirmed yet.",
      "focus": "session expiry",
      "risks": [
        "invented resolution",
        "lost uncertainty"
      ]
    },
    {
      "id": "auth-oauth",
      "family": "auth",
      "input": "Investigate why OAuth callbacks return HTTP 400. No cause is confirmed yet.",
      "focus": "OAuth callbacks",
      "risks": [
        "invented resolution",
        "lost uncertainty"
      ]
    },
    {
      "id": "upgrade-urllib3",
      "family": "upgrade",
      "input": "Upgrade urllib3 to the latest compatible patch release and run its regression tests.",
      "focus": "urllib3",
      "risks": [
        "invented completion"
      ]
    },
    {
      "id": "upgrade-pydantic",
      "family": "upgrade",
      "input": "Upgrade Pydantic to the latest compatible patch release and run its regression tests.",
      "focus": "Pydantic",
      "risks": [
        "invented completion"
      ]
    },
    {
      "id": "upgrade-pillow",
      "family": "upgrade",
      "input": "Upgrade Pillow to the latest compatible patch release and run its regression tests.",
      "focus": "Pillow",
      "risks": [
        "invented completion"
      ]
    },
    {
      "id": "filler-cache",
      "family": "frontloading",
      "input": "I was hoping you could help me with a task today. What I need is an explanation of Redis cache eviction, especially the allkeys-lru policy.",
      "focus": "Redis cache eviction",
      "risks": [
        "generic opening"
      ]
    },
    {
      "id": "filler-build",
      "family": "frontloading",
      "input": "I was hoping you could help me with a task today. What I need is an explanation of Rust incremental compilation and why cache misses slow builds.",
      "focus": "Rust incremental compilation",
      "risks": [
        "generic opening"
      ]
    },
    {
      "id": "feedback-complaint",
      "family": "feedback",
      "input": "Summarize customer complaints: users say the lesson energy limit interrupts practice and forces them to wait. Do not turn this into praise.",
      "focus": "energy-limit complaints",
      "risks": [
        "wrong sentiment"
      ]
    },
    {
      "id": "feedback-praise",
      "family": "feedback",
      "input": "Summarize customer praise: users love the offline lessons because they can practice on the train. Do not invent a complaint.",
      "focus": "offline-lesson praise",
      "risks": [
        "wrong sentiment"
      ]
    },
    {
      "id": "feedback-mixed",
      "family": "feedback",
      "input": "Summarize mixed feedback about chess lessons: users enjoy the puzzles but complain that the checkmate rule sometimes rejects valid moves.",
      "focus": "mixed chess-lesson feedback",
      "risks": [
        "flattened mixed sentiment"
      ]
    },
    {
      "id": "neutral-compare",
      "family": "fidelity",
      "input": "Compare SQLite and PostgreSQL for a small offline-first app. I have not selected either database.",
      "focus": "SQLite and PostgreSQL comparison",
      "risks": [
        "invented decision",
        "invented sentiment"
      ]
    },
    {
      "id": "negation",
      "family": "fidelity",
      "input": "Explain how to inspect Docker disk usage. Do not delete containers, images, or volumes.",
      "focus": "Docker disk inspection",
      "risks": [
        "opposite action",
        "invented cleanup"
      ]
    },
    {
      "id": "uncertainty",
      "family": "fidelity",
      "input": "Check whether TLS certificate rotation might explain the intermittent webhook failures. This is a hypothesis, not a confirmed cause.",
      "focus": "possible TLS-related webhook failures",
      "risks": [
        "hypothesis stated as fact",
        "invented resolution"
      ]
    },
    {
      "id": "completed",
      "family": "status",
      "input": "The login fix has already merged and all regression tests passed. Write a short release note about the completed fix.",
      "focus": "release note for completed login fix",
      "risks": [
        "confusing requested writing with completed engineering"
      ]
    },
    {
      "id": "long-tail",
      "family": "input-cap",
      "input": "Reference background only; the actual request follows at the end.\nThe project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. The project uses a small command-line interface and stores its examples in a dedicated folder. \nACTUAL REQUEST: Investigate Zephyr's Unicode CSV parser crash. Do not work on the CLI examples.",
      "focus": "Zephyr Unicode CSV parser crash",
      "risks": [
        "missing decisive text beyond character 1000"
      ]
    }
  ],
  "records": [
    {
      "case_id": "auth-login",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Debug Post-Password Reset Login Issue",
      "characters": 39,
      "latency_seconds": 1.371,
      "errors": []
    },
    {
      "case_id": "auth-login",
      "repeat": 1,
      "arm": "override",
      "title": "🔍 Investigating login failures after password r...",
      "characters": 50,
      "latency_seconds": 0.73,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "repeat": 1,
      "arm": "override",
      "title": "🔍 Investigating session expiry after 5 min",
      "characters": 42,
      "latency_seconds": 0.883,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "repeat": 1,
      "arm": "default",
      "title": "🔧 Session Timeout Investigation",
      "characters": 31,
      "latency_seconds": 0.791,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Debug OAuth 400 Callback Errors",
      "characters": 33,
      "latency_seconds": 0.947,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "repeat": 1,
      "arm": "override",
      "title": "🔍 Investigating OAuth callback 400 errors",
      "characters": 41,
      "latency_seconds": 0.797,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "repeat": 1,
      "arm": "override",
      "title": "🔄 Upgrading urllib3 patch release",
      "characters": 33,
      "latency_seconds": 0.725,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "repeat": 1,
      "arm": "default",
      "title": "📦️ Upgrade urllib3 and Run Tests",
      "characters": 32,
      "latency_seconds": 0.844,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "repeat": 1,
      "arm": "default",
      "title": "📦 Upgrade Pydantic & Run Regression Tests",
      "characters": 41,
      "latency_seconds": 0.719,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "repeat": 1,
      "arm": "override",
      "title": "🔧 Upgrading Pydantic patch version",
      "characters": 34,
      "latency_seconds": 0.858,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "repeat": 1,
      "arm": "override",
      "title": "🔄 Upgrading Pillow to latest patch",
      "characters": 34,
      "latency_seconds": 0.777,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "repeat": 1,
      "arm": "default",
      "title": "📦️ Upgrade Pillow & Run Regression Tests",
      "characters": 40,
      "latency_seconds": 0.807,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "repeat": 1,
      "arm": "default",
      "title": "🗃️ Redis Cache Eviction & allkeys-lru",
      "characters": 37,
      "latency_seconds": 0.848,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "repeat": 1,
      "arm": "override",
      "title": "📚 Explaining Redis allkeys-lru",
      "characters": 30,
      "latency_seconds": 0.779,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "repeat": 1,
      "arm": "override",
      "title": "📚 Explaining Rust incremental compilation",
      "characters": 41,
      "latency_seconds": 0.767,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "repeat": 1,
      "arm": "default",
      "title": "⚡️ Rust Incremental Compilation & Cache Misses",
      "characters": 46,
      "latency_seconds": 0.854,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Lesson Energy Limit Complaint Summary",
      "characters": 39,
      "latency_seconds": 0.765,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "repeat": 1,
      "arm": "override",
      "title": "🔴 Reviewing lesson energy limits interrupting p...",
      "characters": 50,
      "latency_seconds": 0.759,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "repeat": 1,
      "arm": "override",
      "title": "🚆 Praising offline lessons for train practice",
      "characters": 45,
      "latency_seconds": 0.719,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "repeat": 1,
      "arm": "default",
      "title": "✨ Summarize Offline Lessons Customer Praise",
      "characters": 43,
      "latency_seconds": 0.768,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Chess Lesson Feedback: Puzzles Good, Checkmat...",
      "characters": 50,
      "latency_seconds": 0.798,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "repeat": 1,
      "arm": "override",
      "title": "🎯 Chess lessons: puzzles praised, checkmate rul...",
      "characters": 50,
      "latency_seconds": 0.862,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "repeat": 1,
      "arm": "override",
      "title": "🔍 Comparing SQLite vs PostgreSQL",
      "characters": 32,
      "latency_seconds": 0.793,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "repeat": 1,
      "arm": "default",
      "title": "🗃️ SQLite vs PostgreSQL for Offline-First App",
      "characters": 45,
      "latency_seconds": 0.715,
      "errors": []
    },
    {
      "case_id": "negation",
      "repeat": 1,
      "arm": "default",
      "title": "👷 Docker Disk Usage Inspection Guide",
      "characters": 36,
      "latency_seconds": 0.743,
      "errors": []
    },
    {
      "case_id": "negation",
      "repeat": 1,
      "arm": "override",
      "title": "🐳 Inspecting Docker disk usage",
      "characters": 30,
      "latency_seconds": 0.803,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "repeat": 1,
      "arm": "override",
      "title": "🔍 Checking TLS cert rotation for webhook failures",
      "characters": 49,
      "latency_seconds": 0.738,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "repeat": 1,
      "arm": "default",
      "title": "🔒️ TLS Certificate Rotation & Webhook Failures",
      "characters": 46,
      "latency_seconds": 0.846,
      "errors": []
    },
    {
      "case_id": "completed",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Login Fix Release Note",
      "characters": 24,
      "latency_seconds": 0.716,
      "errors": []
    },
    {
      "case_id": "completed",
      "repeat": 1,
      "arm": "override",
      "title": "✅ Writing release note for login fix",
      "characters": 36,
      "latency_seconds": 0.665,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "repeat": 1,
      "arm": "override",
      "title": "🔍 Investigating Zephyr Unicode CSV parser crash",
      "characters": 47,
      "latency_seconds": 0.737,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "repeat": 1,
      "arm": "default",
      "title": "🐛 Investigate Zephyr Unicode CSV Parser Crash",
      "characters": 45,
      "latency_seconds": 0.809,
      "errors": []
    },
    {
      "case_id": "auth-login",
      "repeat": 2,
      "arm": "override",
      "title": "🔍 Investigating login failures after reset",
      "characters": 42,
      "latency_seconds": 0.725,
      "errors": []
    },
    {
      "case_id": "auth-login",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Investigate Post-Password Reset Login Failure",
      "characters": 47,
      "latency_seconds": 0.745,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "repeat": 2,
      "arm": "default",
      "title": "🔧 Investigate 5-Minute Session Expiration Issue",
      "characters": 47,
      "latency_seconds": 0.826,
      "errors": []
    },
    {
      "case_id": "auth-session",
      "repeat": 2,
      "arm": "override",
      "title": "🔍 Investigating session expiry",
      "characters": 30,
      "latency_seconds": 0.734,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "repeat": 2,
      "arm": "override",
      "title": "🔍 Investigating OAuth callback 400 errors",
      "characters": 41,
      "latency_seconds": 0.84,
      "errors": []
    },
    {
      "case_id": "auth-oauth",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 OAuth 400 Callback Issue Investigation",
      "characters": 40,
      "latency_seconds": 0.634,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "repeat": 2,
      "arm": "default",
      "title": "📦️ Upgrade urllib3 and Run Tests",
      "characters": 32,
      "latency_seconds": 0.764,
      "errors": []
    },
    {
      "case_id": "upgrade-urllib3",
      "repeat": 2,
      "arm": "override",
      "title": "🔄 Upgrading urllib3 and testing",
      "characters": 31,
      "latency_seconds": 0.694,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "repeat": 2,
      "arm": "override",
      "title": "🔄 Upgrading Pydantic patch version",
      "characters": 34,
      "latency_seconds": 0.739,
      "errors": []
    },
    {
      "case_id": "upgrade-pydantic",
      "repeat": 2,
      "arm": "default",
      "title": "📦️ Upgrade Pydantic & Run Regression Tests",
      "characters": 42,
      "latency_seconds": 0.722,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "repeat": 2,
      "arm": "default",
      "title": "📦️ Upgrade Pillow & Run Regression Tests",
      "characters": 40,
      "latency_seconds": 0.737,
      "errors": []
    },
    {
      "case_id": "upgrade-pillow",
      "repeat": 2,
      "arm": "override",
      "title": "🔄 Upgrading Pillow patch release",
      "characters": 32,
      "latency_seconds": 0.716,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "repeat": 2,
      "arm": "override",
      "title": "🔍 Explaining Redis allkeys-lru",
      "characters": 30,
      "latency_seconds": 0.751,
      "errors": []
    },
    {
      "case_id": "filler-cache",
      "repeat": 2,
      "arm": "default",
      "title": "⚡️ Redis Cache Eviction & allkeys-lru Policy",
      "characters": 44,
      "latency_seconds": 0.893,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "repeat": 2,
      "arm": "default",
      "title": "⚡️ Rust Incremental Compilation & Cache Misses",
      "characters": 46,
      "latency_seconds": 0.745,
      "errors": []
    },
    {
      "case_id": "filler-build",
      "repeat": 2,
      "arm": "override",
      "title": "🦀 Explaining Rust incremental compilation cache...",
      "characters": 50,
      "latency_seconds": 0.985,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "repeat": 2,
      "arm": "override",
      "title": "🔴 Reviewing lesson energy limit interruptions",
      "characters": 45,
      "latency_seconds": 0.763,
      "errors": []
    },
    {
      "case_id": "feedback-complaint",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Energy Limit Complaint Analysis",
      "characters": 33,
      "latency_seconds": 0.805,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "repeat": 2,
      "arm": "default",
      "title": "✨ Offline Lessons Customer Praise Summary",
      "characters": 41,
      "latency_seconds": 0.754,
      "errors": []
    },
    {
      "case_id": "feedback-praise",
      "repeat": 2,
      "arm": "override",
      "title": "🚋 Praising offline lessons for train practice",
      "characters": 45,
      "latency_seconds": 0.688,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "repeat": 2,
      "arm": "override",
      "title": "♟️ Reviewing chess lessons checkmate validation",
      "characters": 47,
      "latency_seconds": 0.795,
      "errors": []
    },
    {
      "case_id": "feedback-mixed",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Chess Lesson Feedback: Puzzles Good, Checkmat...",
      "characters": 50,
      "latency_seconds": 0.708,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "repeat": 2,
      "arm": "default",
      "title": "🗃️ SQLite vs PostgreSQL for Offline App",
      "characters": 39,
      "latency_seconds": 0.915,
      "errors": []
    },
    {
      "case_id": "neutral-compare",
      "repeat": 2,
      "arm": "override",
      "title": "🔍 Comparing SQLite vs PostgreSQL",
      "characters": 32,
      "latency_seconds": 1.047,
      "errors": []
    },
    {
      "case_id": "negation",
      "repeat": 2,
      "arm": "override",
      "title": "🐳 Inspecting Docker disk usage",
      "characters": 30,
      "latency_seconds": 1.048,
      "errors": []
    },
    {
      "case_id": "negation",
      "repeat": 2,
      "arm": "default",
      "title": "👷 Docker Disk Usage Inspection Guide",
      "characters": 36,
      "latency_seconds": 1.049,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "repeat": 2,
      "arm": "default",
      "title": "🔒 TLS Certificate Rotation Webhook Issue",
      "characters": 40,
      "latency_seconds": 1.048,
      "errors": []
    },
    {
      "case_id": "uncertainty",
      "repeat": 2,
      "arm": "override",
      "title": "🔍 Investigating TLS rotation in webhooks",
      "characters": 40,
      "latency_seconds": 0.852,
      "errors": []
    },
    {
      "case_id": "completed",
      "repeat": 2,
      "arm": "override",
      "title": "📝 Writing release note for login fix",
      "characters": 36,
      "latency_seconds": 0.72,
      "errors": []
    },
    {
      "case_id": "completed",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Write Release Note for Login Fix",
      "characters": 34,
      "latency_seconds": 0.853,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "repeat": 2,
      "arm": "default",
      "title": "🐛 Investigate Zephyr's Unicode CSV Parser Crash",
      "characters": 47,
      "latency_seconds": 0.743,
      "errors": []
    },
    {
      "case_id": "long-tail",
      "repeat": 2,
      "arm": "override",
      "title": "🔍 Investigating Zephyr Unicode CSV parser crash",
      "characters": 47,
      "latency_seconds": 0.829,
      "errors": []
    }
  ],
  "method": "Same uncapped SDK helper and inputs in both arms; only the user prompt differs. Synthetic public inputs only. No fallbacks counted as successful generations.",
  "finished_at": "2026-10-30T06:06:31.861736+00:00",
  "verified_source_commit": "01bb167b04c00afc4d781f198fd8941a543eb266",
  "provenance_note": "Original revision field names the base plus uncommitted patch at generation time. The same source was subsequently committed as verified_source_commit; original revision metadata is retained."
}
