GET /api/v1/apps/{app_id}/deploys returns started_at/ended_at without a UTC offset (e.g. "2026-07-04T05:43:00"), while the spec declares format: date-time with RFC 3339 examples. The generated Deploy model types these fields as chrono::DateTime, so deserialization fails with "premature end of input".
Scope: add a normalize_spec.py pass that drops format: date-time from deploy.started_at/ended_at (plain String survives both shapes) and regenerate the affected model.
GET /api/v1/apps/{app_id}/deploys returns started_at/ended_at without a UTC offset (e.g. "2026-07-04T05:43:00"), while the spec declares format: date-time with RFC 3339 examples. The generated Deploy model types these fields as chrono::DateTime, so deserialization fails with "premature end of input".
Scope: add a normalize_spec.py pass that drops format: date-time from deploy.started_at/ended_at (plain String survives both shapes) and regenerate the affected model.