zara-calendar: validate provider free/busy interval evidence #62

Closed
opened 2026-09-08 02:02:53 +00:00 by nsaspy · 0 comments
Owner

Problem

CalendarDomain.free_busy() only requires the backend result to be a list and then trusts each element. Malformed provider entries can therefore become conflict evidence and suppress otherwise-valid scheduling suggestions.

Required behavior

  • every busy interval must be an object with bounded calendar_id, start, end, and optional bounded event_id
  • start/end must be timezone-aware and end > start
  • interval calendar IDs must belong to the requested calendar set
  • malformed provider entries fail structurally instead of being counted as conflicts
  • returned intervals remain bounded by max_results
  • deterministic regressions and full registry/install/Nix gate

No Zara Core changes.

## Problem `CalendarDomain.free_busy()` only requires the backend result to be a list and then trusts each element. Malformed provider entries can therefore become conflict evidence and suppress otherwise-valid scheduling suggestions. ## Required behavior - every busy interval must be an object with bounded `calendar_id`, `start`, `end`, and optional bounded `event_id` - start/end must be timezone-aware and `end > start` - interval calendar IDs must belong to the requested calendar set - malformed provider entries fail structurally instead of being counted as conflicts - returned intervals remain bounded by `max_results` - deterministic regressions and full registry/install/Nix gate No Zara Core changes.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nsaspy/zara-plugins#62
No description provided.