From ad3dc9e654e0b09fc4b244b4737aad8ec1be789e Mon Sep 17 00:00:00 2001 From: wievdndr Date: Wed, 17 Dec 2025 10:38:29 +0100 Subject: [PATCH 1/4] fix: add properties field to ModelCard xml and proto to resolve mismatch with json Signed-off-by: wievdndr --- schema/bom-1.5.proto | 2 ++ schema/bom-1.5.xsd | 12 +++++++++++- schema/bom-1.6.proto | 2 ++ schema/bom-1.6.xsd | 10 ++++++++++ schema/bom-1.7.proto | 2 ++ schema/bom-1.7.xsd | 10 ++++++++++ 6 files changed, 37 insertions(+), 1 deletion(-) diff --git a/schema/bom-1.5.proto b/schema/bom-1.5.proto index d99c1a9c..5e177a5d 100644 --- a/schema/bom-1.5.proto +++ b/schema/bom-1.5.proto @@ -1009,6 +1009,8 @@ message ModelCard { optional QuantitativeAnalysis quantitativeAnalysis = 3; // What considerations should be taken into account regarding the model's construction, training, and application? optional ModelCardConsiderations considerations = 4; + // Specifies optional, custom, properties + repeated Property properties = 5; message ModelParameters { // The overall approach to learning used by the model for problem solving. diff --git a/schema/bom-1.5.xsd b/schema/bom-1.5.xsd index 0651bcdd..628b774e 100644 --- a/schema/bom-1.5.xsd +++ b/schema/bom-1.5.xsd @@ -2998,7 +2998,7 @@ limitations under the License. describe any mitigation strategy implemented. - + @@ -3008,6 +3008,16 @@ limitations under the License. + + + Provides the ability to document properties in a name/value store. + This provides flexibility to include data not officially supported in the standard + without having to use additional namespaces or create extensions. Property names + of interest to the general public are encouraged to be registered in the + CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy. + Formal registration is OPTIONAL. + + diff --git a/schema/bom-1.6.proto b/schema/bom-1.6.proto index ddcfc3f7..23d48f3f 100644 --- a/schema/bom-1.6.proto +++ b/schema/bom-1.6.proto @@ -1152,6 +1152,8 @@ message ModelCard { optional QuantitativeAnalysis quantitativeAnalysis = 3; // What considerations should be taken into account regarding the model's construction, training, and application? optional ModelCardConsiderations considerations = 4; + // Specifies optional, custom, properties + repeated Property properties = 5; message ModelParameters { // The overall approach to learning used by the model for problem-solving. diff --git a/schema/bom-1.6.xsd b/schema/bom-1.6.xsd index 847c5261..4f803e95 100644 --- a/schema/bom-1.6.xsd +++ b/schema/bom-1.6.xsd @@ -3386,6 +3386,16 @@ limitations under the License. + + + Provides the ability to document properties in a name/value store. + This provides flexibility to include data not officially supported in the standard + without having to use additional namespaces or create extensions. Property names + of interest to the general public are encouraged to be registered in the + CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy. + Formal registration is OPTIONAL. + + diff --git a/schema/bom-1.7.proto b/schema/bom-1.7.proto index 6def360f..93b08538 100644 --- a/schema/bom-1.7.proto +++ b/schema/bom-1.7.proto @@ -1254,6 +1254,8 @@ message ModelCard { optional QuantitativeAnalysis quantitativeAnalysis = 3; // What considerations should be taken into account regarding the model's construction, training, and application? optional ModelCardConsiderations considerations = 4; + // Specifies optional, custom, properties + repeated Property properties = 5; message ModelParameters { // The overall approach to learning used by the model for problem-solving. diff --git a/schema/bom-1.7.xsd b/schema/bom-1.7.xsd index deba3de2..e035d07b 100644 --- a/schema/bom-1.7.xsd +++ b/schema/bom-1.7.xsd @@ -3629,6 +3629,16 @@ limitations under the License. + + + Provides the ability to document properties in a name/value store. + This provides flexibility to include data not officially supported in the standard + without having to use additional namespaces or create extensions. Property names + of interest to the general public are encouraged to be registered in the + CycloneDX Property Taxonomy - https://github.com/CycloneDX/cyclonedx-property-taxonomy. + Formal registration is OPTIONAL. + + From f5b3f903c4fa74e55f00b35dda20e6a05639e48c Mon Sep 17 00:00:00 2001 From: wievdndr Date: Wed, 17 Dec 2025 10:56:43 +0100 Subject: [PATCH 2/4] fix: removed some unnecessary whitespace Signed-off-by: wievdndr --- schema/bom-1.5.xsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/schema/bom-1.5.xsd b/schema/bom-1.5.xsd index 628b774e..4a02350d 100644 --- a/schema/bom-1.5.xsd +++ b/schema/bom-1.5.xsd @@ -2998,7 +2998,7 @@ limitations under the License. describe any mitigation strategy implemented. - + From f1b73013aec5e19c3db18f4b3414bbf55fd40c5d Mon Sep 17 00:00:00 2001 From: wievdndr Date: Thu, 15 Jan 2026 15:21:23 +0100 Subject: [PATCH 3/4] fix: bump version numbers in BOM schema files to 1.5.1, 1.6.2, and 1.7.1 Signed-off-by: wievdndr --- schema/bom-1.5.xsd | 2 +- schema/bom-1.6.xsd | 2 +- schema/bom-1.7.xsd | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/schema/bom-1.5.xsd b/schema/bom-1.5.xsd index 4a02350d..cf00327e 100644 --- a/schema/bom-1.5.xsd +++ b/schema/bom-1.5.xsd @@ -22,7 +22,7 @@ limitations under the License. targetNamespace="http://cyclonedx.org/schema/bom/1.5" vc:minVersion="1.0" vc:maxVersion="1.1" - version="1.5.0"> + version="1.5.1"> diff --git a/schema/bom-1.6.xsd b/schema/bom-1.6.xsd index 4f803e95..cda59559 100644 --- a/schema/bom-1.6.xsd +++ b/schema/bom-1.6.xsd @@ -22,7 +22,7 @@ limitations under the License. targetNamespace="http://cyclonedx.org/schema/bom/1.6" vc:minVersion="1.0" vc:maxVersion="1.1" - version="1.6.1"> + version="1.6.2"> diff --git a/schema/bom-1.7.xsd b/schema/bom-1.7.xsd index e035d07b..c84b2e08 100644 --- a/schema/bom-1.7.xsd +++ b/schema/bom-1.7.xsd @@ -22,7 +22,7 @@ limitations under the License. targetNamespace="http://cyclonedx.org/schema/bom/1.7" vc:minVersion="1.0" vc:maxVersion="1.1" - version="1.7.0"> + version="1.7.1"> From 98eb26fdca2d0ff9acea16a5bdb6c7a66c9da178 Mon Sep 17 00:00:00 2001 From: wievdndr Date: Fri, 16 Jan 2026 10:38:02 +0100 Subject: [PATCH 4/4] test: add tests for custom properties field in modelCard (json, xml, proto) Signed-off-by: wievdndr --- .../test/resources/1.5/valid-machine-learning-1.5.json | 8 +++++++- .../resources/1.5/valid-machine-learning-1.5.textproto | 4 ++++ .../src/test/resources/1.5/valid-machine-learning-1.5.xml | 3 +++ .../test/resources/1.6/valid-machine-learning-1.6.json | 8 +++++++- .../resources/1.6/valid-machine-learning-1.6.textproto | 4 ++++ .../src/test/resources/1.6/valid-machine-learning-1.6.xml | 3 +++ .../test/resources/1.7/valid-machine-learning-1.7.json | 8 +++++++- .../resources/1.7/valid-machine-learning-1.7.textproto | 4 ++++ .../src/test/resources/1.7/valid-machine-learning-1.7.xml | 3 +++ 9 files changed, 42 insertions(+), 3 deletions(-) diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.json b/tools/src/test/resources/1.5/valid-machine-learning-1.5.json index 59dc3cee..58f5572a 100644 --- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.json +++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.json @@ -85,7 +85,13 @@ "mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } ] - } + }, + "properties": [ + { + "name": "modelcard:custom-property", + "value": "custom-value" + } + ] } } ] diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto b/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto index 4e54321d..42887baa 100644 --- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto +++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.textproto @@ -62,5 +62,9 @@ components { mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } } + properties: { + name: "modelcard:custom-property" + value: "custom-value" + } } } diff --git a/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml b/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml index 7c541ecb..946d0c8f 100644 --- a/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml +++ b/tools/src/test/resources/1.5/valid-machine-learning-1.5.xml @@ -86,6 +86,9 @@ + + custom-value + diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.json b/tools/src/test/resources/1.6/valid-machine-learning-1.6.json index dbd0ea7b..df09c03c 100644 --- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.json +++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.json @@ -87,7 +87,13 @@ "mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } ] - } + }, + "properties": [ + { + "name": "modelcard:custom-property", + "value": "custom-value" + } + ] } } ] diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto b/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto index 54452d65..3a1456e6 100644 --- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto +++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.textproto @@ -77,5 +77,9 @@ components { mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } } + properties: { + name: "modelcard:custom-property" + value: "custom-value" + } } } diff --git a/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml b/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml index 6013b1c3..f44f6179 100644 --- a/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml +++ b/tools/src/test/resources/1.6/valid-machine-learning-1.6.xml @@ -86,6 +86,9 @@ + + custom-value + diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.json b/tools/src/test/resources/1.7/valid-machine-learning-1.7.json index cb64ee80..e7a26820 100644 --- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.json +++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.json @@ -95,7 +95,13 @@ "mitigationStrategy": "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } ] - } + }, + "properties": [ + { + "name": "modelcard:custom-property", + "value": "custom-value" + } + ] } } ] diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto b/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto index 25b78f5d..818de8f5 100644 --- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto +++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.textproto @@ -76,5 +76,9 @@ components: { mitigationStrategy: "With respect to the benefits and harms outlined, please describe any mitigation strategy implemented." } } + properties: { + name: "modelcard:custom-property" + value: "custom-value" + } } } diff --git a/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml b/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml index 38df43ff..34305ef9 100644 --- a/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml +++ b/tools/src/test/resources/1.7/valid-machine-learning-1.7.xml @@ -88,6 +88,9 @@ + + custom-value +