Empty string date values from the frontend were being passed directly to PostgreSQL, which cannot cast "" to DATE. Normalize empty strings to null for all date columns in the update method and the dedicated updatePlannedDate endpoint. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>