From 64a2e76a7a502db317a9b1aa3148cf3b24bbbedb Mon Sep 17 00:00:00 2001 From: Dominique Guinard Date: Wed, 30 Sep 2026 11:10:24 +0200 Subject: [PATCH 1/5] Add benchmarking information to schema --- softbinding-algorithm-list.schema.json | 52 +++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/softbinding-algorithm-list.schema.json b/softbinding-algorithm-list.schema.json index 2528b61..0f3d77b 100644 --- a/softbinding-algorithm-list.schema.json +++ b/softbinding-algorithm-list.schema.json @@ -19,7 +19,16 @@ ], "dateEntered": "2025-01-01T00:00:00Z", "contact": "contact@example.com", - "informationalUrl": "https://example.com/softbinding/alg1" + "informationalUrl": "https://example.com/softbinding/alg1", + "benchmarkingInformation": [ + { + "methodology": "https://github.com/writerslogic/c2pa-text-binding/blob/main/ROBUSTNESS.md", + "corpus": "PAN'26 text-watermarking (Zenodo 18620130)", + "harness": "https://github.com/writerslogic/c2pa-text-binding/blob/main/examples/robustness_bench.rs", + "date": "2026-07-10", + "results": "https://example.com/softbinding/alg1/benchmark-results" + } + ] }, "softBindingResolutionApis": [ "https://resolver.example.com/alg1" @@ -106,6 +115,47 @@ "type": "string", "format": "uri", "description": "A web page containing more details about the algorithm" + }, + "benchmarkingInformation": { + "type": "array", + "minItems": 1, + "description": "A list of benchmarking records that help explain the algorithm's measured capabilities", + "items": { + "type": "object", + "properties": { + "methodology": { + "type": "string", + "format": "uri", + "description": "A URL describing the benchmarking methodology" + }, + "corpus": { + "type": "string", + "description": "A description of the corpus or dataset used for benchmarking" + }, + "harness": { + "type": "string", + "format": "uri", + "description": "A URL to the benchmarking harness" + }, + "date": { + "type": "string", + "format": "date", + "description": "The date the benchmark was performed" + }, + "results": { + "type": "string", + "format": "uri", + "description": "A URL containing the benchmark results" + } + }, + "required": [ + "methodology", + "corpus", + "harness", + "date", + "results" + ] + } } }, "required": [ From e76f963676f394ac9b4ca37e1be9c34f3ec450e6 Mon Sep 17 00:00:00 2001 From: Dominique Guinard Date: Wed, 30 Sep 2026 11:37:15 +0200 Subject: [PATCH 2/5] Adding benchmarking info, adding a sample entry --- softbinding-algorithm-list.schema.json | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/softbinding-algorithm-list.schema.json b/softbinding-algorithm-list.schema.json index 0f3d77b..2195cea 100644 --- a/softbinding-algorithm-list.schema.json +++ b/softbinding-algorithm-list.schema.json @@ -137,21 +137,19 @@ "format": "uri", "description": "A URL to the benchmarking harness" }, - "date": { - "type": "string", - "format": "date", - "description": "The date the benchmark was performed" - }, "results": { "type": "string", "format": "uri", "description": "A URL containing the benchmark results" + }, + "date": { + "type": "string", + "format": "date", + "description": "The date the benchmark was performed" } }, "required": [ "methodology", - "corpus", - "harness", "date", "results" ] @@ -193,4 +191,4 @@ } ] } -} +} \ No newline at end of file From abb3782ae4c53fa58eca89b8f41ad986564af1ce Mon Sep 17 00:00:00 2001 From: Dominique Guinard Date: Tue, 6 Oct 2026 11:35:08 +0200 Subject: [PATCH 3/5] Adding suggested improvements --- softbinding-algorithm-list.schema.json | 71 ++++++++++++++++---------- 1 file changed, 45 insertions(+), 26 deletions(-) diff --git a/softbinding-algorithm-list.schema.json b/softbinding-algorithm-list.schema.json index 2195cea..db98326 100644 --- a/softbinding-algorithm-list.schema.json +++ b/softbinding-algorithm-list.schema.json @@ -22,11 +22,14 @@ "informationalUrl": "https://example.com/softbinding/alg1", "benchmarkingInformation": [ { - "methodology": "https://github.com/writerslogic/c2pa-text-binding/blob/main/ROBUSTNESS.md", - "corpus": "PAN'26 text-watermarking (Zenodo 18620130)", - "harness": "https://github.com/writerslogic/c2pa-text-binding/blob/main/examples/robustness_bench.rs", - "date": "2026-07-10", - "results": "https://example.com/softbinding/alg1/benchmark-results" + "coveredMediaTypes": [ + "image" + ], + "benchmarkDate": "2026-07-10", + "results": { + "url": "https://example.com/softbinding/alg1/benchmark-results.json", + "sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" + } } ] }, @@ -123,34 +126,50 @@ "items": { "type": "object", "properties": { - "methodology": { - "type": "string", - "format": "uri", - "description": "A URL describing the benchmarking methodology" - }, - "corpus": { - "type": "string", - "description": "A description of the corpus or dataset used for benchmarking" - }, - "harness": { - "type": "string", - "format": "uri", - "description": "A URL to the benchmarking harness" + "coveredMediaTypes": { + "type": "array", + "minItems": 1, + "items": { + "enum": [ + "application", + "audio", + "image", + "model", + "text", + "video" + ], + "description": "IANA top level media type addressed by this benchmark" + } }, - "results": { - "type": "string", - "format": "uri", - "description": "A URL containing the benchmark results" - }, - "date": { + "benchmarkDate": { "type": "string", "format": "date", "description": "The date the benchmark was performed" + }, + "results": { + "type": "object", + "description": "A link to the benchmark results and its SHA-256 content digest", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "A URL containing the benchmark results" + }, + "sha256": { + "type": "string", + "pattern": "^[A-Fa-f0-9]{64}$", + "description": "SHA-256 digest of the benchmark results content, encoded as 64 hexadecimal characters" + } + }, + "required": [ + "url", + "sha256" + ] } }, "required": [ - "methodology", - "date", + "coveredMediaTypes", + "benchmarkDate", "results" ] } From 01f4a7993479e52244a44e956d151875ef2daf07 Mon Sep 17 00:00:00 2001 From: Dominique Guinard Date: Tue, 6 Oct 2026 11:43:12 +0200 Subject: [PATCH 4/5] Adding description for benchmarks --- softbinding-algorithm-list.schema.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/softbinding-algorithm-list.schema.json b/softbinding-algorithm-list.schema.json index db98326..e80b842 100644 --- a/softbinding-algorithm-list.schema.json +++ b/softbinding-algorithm-list.schema.json @@ -22,6 +22,7 @@ "informationalUrl": "https://example.com/softbinding/alg1", "benchmarkingInformation": [ { + "description": "Robustness benchmark covering common image transformations", "coveredMediaTypes": [ "image" ], @@ -126,6 +127,10 @@ "items": { "type": "object", "properties": { + "description": { + "type": "string", + "description": "Human readable description of the algorithm" + }, "coveredMediaTypes": { "type": "array", "minItems": 1, @@ -168,6 +173,7 @@ } }, "required": [ + "description", "coveredMediaTypes", "benchmarkDate", "results" @@ -210,4 +216,4 @@ } ] } -} \ No newline at end of file +} From 35b4f2fc792359edcb1f56ca5406fad6baeb6741 Mon Sep 17 00:00:00 2001 From: Dominique Guinard Date: Wed, 14 Oct 2026 17:43:26 +0200 Subject: [PATCH 5/5] Apply suggestion from @domguinard --- softbinding-algorithm-list.schema.json | 1 - 1 file changed, 1 deletion(-) diff --git a/softbinding-algorithm-list.schema.json b/softbinding-algorithm-list.schema.json index e80b842..2176493 100644 --- a/softbinding-algorithm-list.schema.json +++ b/softbinding-algorithm-list.schema.json @@ -168,7 +168,6 @@ }, "required": [ "url", - "sha256" ] } },