Map<String, Object?> toJson() => { 'generatedAt': generatedAt.toIso8601String(), 'violationCount': violations.length, 'violations': [for (final v in violations) v.toJson()], };