# SimpleCalendarAddOneEventRelativeDay

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

## Goal

In Simple Calendar Pro, create a calendar event for this Saturday at 0h with the title 'Appointment for Campaign' and the description 'We will understand upcoming project milestones.'. The event should last for 45 mins.

## Result
- Mobilerun's grader: pass
- Google's grader: pass
- Lusor time: 78.2 s; Mobilerun published time: 435.5 s (5.6x faster)
- Lusor model cost: $0.0298; Mobilerun estimated cost: ~$1.69
- Lusor tool calls: 31; Mobilerun published actions: 22
- App skills: read simple-calendar; has rules for this task: simple-calendar

## Final report

Created the event "Appointment for Campaign" in Simple Calendar Pro for Saturday, October 21, 2023, from 00:00 to 00:45 (45 minutes), with the description "We will understand upcoming project milestones." I read it back on the Oct 21 day view and all details match.

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

| # | Start | End | Tool | OK | Note |
|---|---|---|---|---|---|
| 1 | 31.10 | 31.10 | read | yes | Read simple-calendar skill, then get_ui_state |
| 2 | 32.26 | 32.28 | get_ui_state | yes | Observe current screen |
| 3 | 33.58 | 36.21 | launch | yes | Calendar app launched; observe screen |
| 4 | 37.73 | 38.64 | tap_element | yes | New event editor opened; observe fields |
| 5 | 39.64 | 40.74 | tap_element | yes | Event editor opened; read fields |
| 6 | 41.79 | 43.99 | type | yes | Type title and description |
| 7 | 44.89 | 49.10 | type | yes | Type description, then set start date to Oct 21 |
| 8 | 50.17 | 50.73 | tap_element | yes | Date picker opened for start date |
| 9 | 51.84 | 51.93 | get_ui_state | yes | Read date picker dialog |
| 10 | 52.88 | 53.19 | tap_element | yes | Tap 21 in date picker then OK |
| 11 | 54.55 | 55.21 | tap_element | yes | Start date set to Oct 21; set end date to Oct 21 |
| 12 | 56.46 | 57.91 | tap_element | yes | Time picker opened for start time |
| 13 | 58.77 | 59.92 | tap_element | yes | Text input mode; type hour 00 |
| 14 | 60.87 | 61.96 | type | yes | Hour set to 00; set minute 00 and read fields |
| 15 | 62.96 | 63.52 | tap_element | yes | Start time 00:00 set; set end time 00:45 |
| 16 | 64.46 | 65.61 | tap_element | yes | Time picker opened for end time |
| 17 | 66.38 | 67.42 | tap_element | yes | Text mode; set minute to 45 |
| 18 | 68.62 | 69.84 | tap | yes | Minute field focused; type 45 |
| 19 | 71.17 | 72.16 | type | yes | Minute 45 typed; verify both fields then OK |
| 20 | 73.87 | 73.93 | get_ui_state | yes | Read time picker state after odd minute entry |
| 21 | 75.93 | 77.02 | type | yes | Hour fixed to 00; then set minute 45 |
| 22 | 78.80 | 78.81 | get_ui_state | yes | Re-read time picker text fields after typing |
| 23 | 81.57 | 84.06 | type | yes | Type 45 into minute field, then verify |
| 24 | 85.33 | 86.21 | tap_element | yes | Read editor to confirm end time 00:45 |
| 25 | 87.56 | 88.79 | tap_element | yes | Event saved; read it back from the calendar |
| 26 | 89.78 | 91.48 | tap_element | yes | Dismiss disclaimer; view saved event in calendar |
| 27 | 92.81 | 94.44 | tap | yes | Open Oct 21 day view to read saved event |
| 28 | 95.72 | 96.28 | tap_element | yes | Read Oct 21 day view events |
| 29 | 99.92 | 100.24 | key | yes | Return to month view and tap Oct 21 cell (row 4, col 7) |
| 30 | 103.17 | 103.82 | tap | yes | Check which date the tapped cell opened |
| 31 | 106.25 | 106.26 | done | yes | Task complete |

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