You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
all-day events can gain a day when the model passes an exclusive end date #279
ask the assistant to schedule a multi-day all-day event, e.g. "schedule X in my calendar tomorrow and the day after, all day"
the model calls schedule_event with start_date and end_date
the all-day branch converts to RFC 5545 with DTEND = end_date + 1, per the inclusive contract in the docstring
Not deterministic, depends on what the model sends: most of the time it sends inclusive dates, but sometimes it emits DTEND-style (exclusive) values, likely after seeing calendar data elsewhere (search results, exports), which is exclusive.
Expected behaviour
a two-day request produces a two-day event regardless of which convention the model uses
Actual behaviour
In manual e2e on my instance (PR #257 review rounds): one-day requests consistently sent end_date == start_date and stored correctly. One two-day run sent end_date = start_date + 2, which stored a three-day event. So the inclusive convention holds most of the time but not always.
Came up in the #257 review (the end_date + 1 delta discussion) and in #277's "other findings" list. Dropping the +1 is not the answer, that breaks the majority inclusive case. Options worth discussing:
normalize prompt-side: make the tool description carry a concrete two-day example, e.g. "for an event on October 15 and 16, pass start_date 2026-10-15 and end_date 2026-10-16", models follow examples much better than contract wording
or have the agent prompt state the convention explicitly when calendar tools are enabled
Activity
marcelklehr commentedon Oct 20, 2026
We can refien the tool description with that example (that's the reason that we have this whole project in the first place :) )