# RecipeDeleteDuplicateRecipes2

AndroidWorld, 2026-11-09. Agent: Lusor, model: DeepSeek V4.1 Flash (low).

## Goal

Delete all but one of any recipes in the Broccoli app that are exact duplicates, ensuring at least one instance of each unique recipe remains

## Result
- Mobilerun's grader: pass
- Google's grader: pass
- Lusor time: 96.2 s; Mobilerun published time: 327.1 s (3.4x faster)
- Lusor model cost: $0.0353; Mobilerun estimated cost: ~$1.38
- Lusor tool calls: 27; Mobilerun published actions: 18
- App skills: read broccoli; none has rules for this task

## Final report

I found only one exact duplicate pair in Broccoli and deleted the extra copy, so at least one instance of every unique recipe remains. The six Veggie and Hummus Sandwich entries looked alike as list rows, but opening each one showed they differ in servings, time, ingredients and directions, except two that matched on every field (3-4 servings, 2 hrs, "per individual taste", and the same direction text). I deleted one of those two; the recipe list now holds 11 recipes, with the other five sandwich entries each unique and the remaining five recipes distinct.

## Steps (27; times are seconds into the video)

| # | Start | End | Tool | OK | Note |
|---|---|---|---|---|---|
| 1 | 29.67 | 29.69 | read | yes | Load broccoli skill guidance |
| 2 | 29.67 | 29.69 | get_ui_state | yes | Observe current screen |
| 3 | 31.01 | 34.95 | launch | yes | Launch Broccoli app |
| 4 | 35.76 | 48.69 | map_app | yes | Map all recipe titles |
| 5 | 50.54 | 50.56 | get_ui_state | yes | Open first Veggie and Hummus Sandwich to read its full details |
| 6 | 52.97 | 54.33 | tap_element | yes | Read sandwich #1 (delicious) details |
| 7 | 56.03 | 56.46 | key | yes | Open sandwich #2 (delicious) at pos 9 |
| 8 | 60.16 | 62.31 | swipe | yes | Scroll to top of recipe list and count rows |
| 9 | 65.89 | 67.07 | tap_element | yes | Open pos9 (veggie delicious #2) and read details |
| 10 | 68.71 | 69.15 | key | yes | Open pos10 (veggie ideal #1) and read details |
| 11 | 70.53 | 72.65 | swipe | yes | Scroll down to reveal pos10 veggie ideal #1 |
| 12 | 74.67 | 74.68 | tap_element | yes | Read pos10 (veggie ideal #1) details |
| 13 | 75.52 | 76.83 | tap_element | yes | Read pos10 (veggie ideal #1) details |
| 14 | 78.50 | 79.13 | key | yes | Open pos11 (veggie ideal #2) and read details |
| 15 | 80.21 | 81.55 | tap_element | yes | Read pos11 (veggie ideal #2) details |
| 16 | 83.36 | 83.94 | key | yes | Scroll up and open pos6 (veggie quick #1) |
| 17 | 85.48 | 86.74 | tap_element | yes | Read veggie quick #2 details (currently on screen as quick row 2) |
| 18 | 88.57 | 89.14 | key | yes | Open veggie quick #1 (partial top row) details |
| 19 | 90.26 | 91.53 | tap_element | yes | Read veggie quick #1 details |
| 20 | 95.14 | 95.77 | key | yes | Open the duplicate ideal #2 recipe and delete it via More options |
| 21 | 96.76 | 98.16 | tap_element | yes | Open ideal #2 duplicate, then More options > Delete |
| 22 | 99.31 | 100.35 | tap_element | yes | Open More options menu on the duplicate recipe |
| 23 | 101.61 | 102.48 | tap_element | yes | Tap Delete and confirm |
| 24 | 103.48 | 104.99 | tap_element | yes | Confirm delete of the duplicate recipe |
| 25 | 106.61 | 117.49 | map_app | yes | Recount list with map_app levels 1 |
| 26 | 119.26 | 119.28 | get_ui_state | yes | Final screen read before done |
| 27 | 123.39 | 123.40 | done | yes | Task complete |

## Files
- Video: video.mp4 (H.264), video.webm (VP9); poster: poster.webp
- Data: task.json, steps.json
