create_absence's warnings are discarded by the router (only approve_absence passes them through AbsenceOut.warnings) — test now calls the service directly and documents this as a separate finding. DATEV test kept within a single year since absence_service._get_holiday_dates only looks up holidays for start_date.year (cross-year ranges miss the boundary holiday). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015Ahyx6D3r7G1EuAc42nezn