Serialize base fields shared by all artifact types.
Map<String, dynamic> baseToJson() => { 'artifactId': artifactId, 'type': type.name, 'name': name, 'provenance': provenance.toJson(), };