Skip to content

Claude Sonnet 5.5 (effort default (no --effort flag) · thinking on) on Debloat your own Android TV over ADB with a backup and a one-command undo

AClaude Sonnet 5.5default · thinking on · Claude Code 2.1.299 (headless -p) · cloud · 2026-10-19 · by @bobsiopener

Trust 80%Fully autonomoussuccess · first try
Estimated cost
$0.05
Wall time
20s
Human step-ins
0
Outcome
Pass

Compare with other models on this task →

Summary

Exact prompt

# Task: debloat my Android TV over ADB, with a backup and a full undo I own this TV and want the ad/telemetry junk off it, but I must be able to put it back exactly as it was. The TV is reachable only through `adb`, which in this workspace is `bin/adb` (an emulator of my TV; there is no real device and no network). Run `export PATH="$PWD/bin:$PATH"` first and use `adb ...` like on a real TV. Do not read, edit or replace anything in `.tv/` or `bin/` yourself; talk to the TV only through `adb`. Inputs: `bloat.txt` (a community debloat list for this model; it may contain mistakes) and `protected.txt` (packages that must never be changed). Requirements (this is exactly what is graded): 1. **Backup first.** Before making any change on the TV, save the exact output of `adb shell pm list packages` to `backup/installed.txt` and of `adb shell pm list packages -d` to `backup/disabled.txt` (both taken before your first change). 2. **Disable only.** Disable, with `adb shell pm disable-user --user 0 <pkg>`, every package that is in `bloat.txt`, is installed, is currently enabled, and is not in `protected.txt`. Change nothing else: no other package's state may differ from the start when you are done. 3. **Nothing destructive.** Never run `pm uninstall`, `pm clear`, `cmd package install-existing`, `adb reboot`, `adb install`/`uninstall`, or `pm hide`/`suspend` (on any package). 4. **Undo.** Write `undo.sh`, a bash script that, run as `bash undo.sh` with this TV's `adb` on PATH, restores the TV to exactly the state it was in before you started (packages that were disabled before must stay disabled). Do not run it on the TV as a final step: when you finish, the debloat must be in effect. 5. **Change list.** Write `CHANGES.md` listing every package you disabled, one per line, as `- <package>`.

An emulated smart TV is reachable only through adb, and the owner wants the ad and telemetry packages switched off without losing the way back. The agent has to back up the package state first, disable only the safe entries from a community list that contains mistakes, avoid anything destructive, and leave a script that restores the original state exactly. The grader replays every adb call against the mock device and runs the undo script on a copy. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked).

Success criteria: 1. backup_exact + backup_before_first_change: backup/installed.txt and backup/disabled.txt equal the original `pm list packages` / `-d` output and were read before the first change. 2. exactly_bloat_disabled + protected_untouched: exactly the 10 installed, enabled, non-protected bloat packages are disabled-user and nothing else differs. 3. no_destructive_commands: no uninstall/clear/install-existing/reboot/install/hide/suspend calls. 4. undo_restores_exact_original: `bash undo.sh` against a copy of the final device state restores the original state exactly, without destructive calls. 5. changes_list_matches: CHANGES.md lists exactly the disabled packages. state_not_tampered: device state equals a replay of the logged adb calls and bin/adb is unmodified.

Setup notes: Batch h (UsecaseRank President proposal 2026-10-19, built by Use Case Runner) case h01-tv-debloat-adb-undo (offline fixture). Prepared with batch_h/prepare.sh; hidden key/tests kept outside the agent's work dir. Prompt = TASK.md verbatim. Scored with the case scorer: `python score.py WORKDIR KEYDIR`. Tools: Read/Write/Edit/Glob/Grep/Bash, web disabled. Single run, no retries. Claude Code's own reported cost for claude-sonnet-5.5: $0.050326. Score: 8/8 checks. Cost is an ESTIMATE: measured tokens x pricing.json list price (Claude Pro subscription, nothing billed); input_tokens include cache reads and writes. Single run.

Estimated cost List-price estimate; not actually billed.

Metrics

Estimated cost
$0.05
Wall time
20s
Human step-ins
0
Turns
3
Model usage
ModelInput tokOutput tokCost
AClaude Sonnet 5.5anthropic/claude-sonnet-5.5effort default (no --effort flag) · thinking on58,9761,207$0.05

Reproduce this run

  1. Use the use case prompt on the use case page.
  2. Same setup: Claude Sonnet 5.5 (anthropic/claude-sonnet-5.5, effort default (no --effort flag) · thinking on) via Claude Code 2.1.299 (headless -p), cloud.
  3. It counts as a success only if it meets every success criterion: 1. backup_exact + backup_before_first_change: backup/installed.txt and backup/disabled.txt equal the original `pm list packages` / `-d` output and were read before the first change. 2. exactly_bloat_disabled + protected_untouched: exactly the 10 installed, enabled, non-protected bloat packages are disabled-user and nothing else differs. 3. no_destructive_commands: no uninstall/clear/install-existing/reboot/install/hide/suspend calls. 4. undo_restores_exact_original: `bash undo.sh` against a copy of the final device state restores the original state exactly, without destructive calls. 5. changes_list_matches: CHANGES.md lists exactly the disabled packages. state_not_tampered: device state equals a replay of the logged adb calls and bin/adb is unmodified.
  4. Log model, tokens, wall time, human step-ins and the evidence log, then submit it as a reproduction. A different model? Submit a head-to-head rerun.

How runs are scored: Methodology.

Was this useful?

⇄ Rerun on another model

Automated checks

Trust 80% comes from these checks (how Trust % works).

Evidence log
[
 {
  "duration_api_ms": 18209,
  "stop_reason": "end_turn",
  "session_id": "[REDACTED]",
  "total_cost_usd": 0.0503256,
  "usage": {
   "input_tokens": 6,
   "cache_creation_input_tokens": 8294,
   "cache_read_input_tokens": 50676,
   "output_tokens": 1207,
   "output_tokens_details": {
    "thinking_tokens": 193
   },
   "server_tool_use": {
    "web_search_requests": 0,
    "web_fetch_requests": 0
   },
   "service_tier": "standard",
   "cache_creation": {
    "ephemeral_1h_input_tokens": 8294,
    "ephemeral_5m_input_tokens": 0
   },
   "inference_geo": "global",
   "iterations": [
    {
     "input_tokens": 2,
     "output_tokens": 516,
     "cache_read_input_tokens": 19618,
     "cache_creation_input_tokens": 1215,
     "cache_creation": {
      "ephemeral_5m_input_tokens": 0,
      "ephemeral_1h_input_tokens": 1215
     },
     "type": "message"
    }
   ],
   "speed": "standard",
   "fallback_credit": null
  },
  "modelUsage": {
   "claude-sonnet-5-5": {
    "inputTokens": 6,
    "outputTokens": 1207,
    "cacheReadInputTokens": 50676,
    "cacheCreationInputTokens": 8294,
    "webSearchRequests": 0,
    "costUSD": 0.0503256,
    "contextWindow": 1000000,
    "maxOutputTokens": 128000,
    "thinkingTokens": 193,
    "canonicalModel": "claude-sonnet-5-5",
    "provider": "firstParty",
    "costBasis": "list"
   }
  },
  "permission_denials": [],
  "terminal_reason": "completed",
  "fast_mode_state": "off",
  "fast_mode_disabled_reason": "sdk_opt_in_required",
  "subagent_stats": {
   "spawned": 0,
   "requested": {
    "background": 0,
    "foreground": 0,
    "unset": 0
   },
   "started_in_background": 0,
   "max_depth": 0,
   "spawned_by_subagents": 0,
   "completed": 0,
   "failed": 0,
   "killed": {
    "parent": 0,
    "user": 0,
    "system": 0
   },
   "refused": {
    "depth_limit": 0,
    "concurrency_limit": 0,
    "budget": 0
   },
   "by_type": {}
  },
  "safety_stops": 0,
  "is_error": false,
  "num_turns": 3,
  "subtype": "success",
  "api_error_status": null,
  "result": "I disabled 10 packages on the TV. I took the backups first and haven't run `undo.sh`. After the changes, `adb shell pm list packages -d` shows those 10 plus `com.google.android.marvin.talkback` and `com.tcl.tvsurvey`, which were already disabled.\n\n**Disabled:**\n- `com.tcl.ads.launcher`\n- `com.tcl.tvweishi`\n- `com.tcl.usercenter`\n- `com.tcl.smartalexa`\n- `com.amazon.ads`\n- `com.google.android.tvrecommendations`\n- `com.google.android.feedback`\n- `com.tcl.messagebox`\n- `com.tcl.gamecenter`\n- `com.mobitv.client.tcl`\n\n**Skipped from `bloat.txt`:**\n- `com.android.providers.tv` and `com.google.android.katniss` are in `protected.txt`, so I left them alone.\n- `com.tcl.tvsurvey` was already disabled before I started.\n- `com.tcl.screenrecorder` and `com.tcl.cloudservice` aren't installed on this TV.\n\n**Files:**\n- `backup/installed.txt` and `backup/disabled.txt` hold the package lists taken before my first change.\n- `CHANGES.md` lists the 10 disabled packages, one `- <package>` per line.\n- `undo.sh` runs `adb shell pm enable` on those same 10 packages. It doesn't touch `talkback` or `tvsurvey`, so they stay disabled as before.",
  "ttft_ms": 5712,
  "type": "result",
  "duration_ms": 18927,
  "uuid": "[REDACTED]",
  "ttft_stream_ms": 5044,
  "time_to_request_ms": 356,
  "first_content_frame_ms": 5044,
  "queued_turn_count": 0,
  "result_index": 0
 }
]

Get new runs and ranking changes weekly