# SimpleCalendarAddOneEvent

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

## Goal

In Simple Calendar Pro, create a calendar event on 2023-10-20 at 18h with the title 'Call with Alice' and the description 'We will prepare for upcoming project milestones.'. The event should last for 30 mins.

## Result
- Mobilerun's grader: pass
- Google's grader: pass
- Lusor time: 69.2 s; Mobilerun published time: 420.8 s (6.1x faster)
- Lusor model cost: $0.0276; Mobilerun estimated cost: ~$1.61
- Lusor tool calls: 30; Mobilerun published actions: 21
- App skills: read simple-calendar; has rules for this task: simple-calendar

## Final report

Created the event "Call with Alice" in Simple Calendar Pro on Friday, October 20, 2023, from 18:00 to 18:30 (30 minutes), with the description "We will prepare for upcoming project milestones." I verified it by searching the title in the app, which returned the single event with the correct date, time and description, then cleared the search.

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

| # | Start | End | Tool | OK | Note |
|---|---|---|---|---|---|
| 1 | 30.76 | 30.77 | read | yes | Load Simple Calendar skill, then observe screen |
| 2 | 31.73 | 31.75 | get_ui_state | yes | Observe current screen |
| 3 | 32.53 | 34.94 | launch | yes | Launch Simple Calendar Pro and observe |
| 4 | 36.76 | 37.83 | tap_element | yes | Open new event form via FAB |
| 5 | 39.00 | 40.24 | tap_element | yes | Tap Event label to open event form |
| 6 | 41.16 | 42.96 | type | yes | Type title, then description |
| 7 | 43.77 | 47.99 | type | yes | Type description, then set start date |
| 8 | 49.09 | 49.84 | tap_element | yes | Open start date picker |
| 9 | 50.63 | 50.93 | get_ui_state | yes | Read date picker dialog |
| 10 | 52.03 | 52.37 | tap_element | yes | Select 20 Oct 2023 in date picker and tap OK |
| 11 | 53.18 | 53.63 | tap_element | yes | Confirm date; then set end date to Oct 20 |
| 12 | 54.60 | 56.03 | tap_element | yes | Open start time picker and set 18:00 |
| 13 | 56.81 | 58.02 | tap_element | yes | Switch to text input mode in time picker |
| 14 | 59.49 | 61.69 | type | yes | Type hour 18, verify hour and minute, then OK |
| 15 | 62.42 | 62.43 | get_ui_state | yes | Read time picker text fields state after typing |
| 16 | 63.26 | 63.76 | tap_element | yes | Confirm start time 18:00, then set end time |
| 17 | 65.04 | 66.35 | tap_element | yes | Open end time picker and set 18:30 |
| 18 | 67.13 | 67.94 | tap_element | yes | Switch to text input mode for end time |
| 19 | 68.91 | 69.54 | tap | yes | Tap minute field and type 30 |
| 20 | 70.61 | 71.64 | type | yes | Type minute 30 and read fields |
| 21 | 72.92 | 73.02 | get_ui_state | yes | Read minute field value |
| 22 | 74.07 | 75.33 | type | yes | Restore hour to 18 |
| 23 | 76.23 | 76.24 | get_ui_state | yes | Read hour/minute fields after typing 18 |
| 24 | 77.45 | 78.89 | type | yes | Type minute 30 and verify |
| 25 | 79.87 | 80.54 | tap_element | yes | Confirm end time 18:30 and read the event form |
| 26 | 82.03 | 83.12 | tap_element | yes | Tap Save and verify the event appears |
| 27 | 84.30 | 85.45 | tap_element | yes | Dismiss disclaimer and verify event saved |
| 28 | 87.87 | 91.74 | type | yes | Search for the saved event to verify |
| 29 | 93.21 | 94.07 | clear | yes | Clear search and re-read final screen; then done |
| 30 | 96.75 | 96.75 | done | yes | Task complete |

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