From bfabc6d69ded682dbe9689a9605299c7993dca5a Mon Sep 17 00:00:00 2001 From: Anna Krystalli Date: Fri, 25 Oct 2024 10:51:40 +0300 Subject: [PATCH] Encode point estimate output type IDs with null. Resolves #109 --- NEWS.md | 3 ++- v4.0.0/tasks-schema.json | 28 ++++++++-------------------- 2 files changed, 10 insertions(+), 21 deletions(-) diff --git a/NEWS.md b/NEWS.md index 87d8900..1b014b0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,7 +1,8 @@ # v4.0.0 * BREAKING CHANGE: Introduction of `is_required` boolean property at the `output_type` level to configure whether the output type is required for submissions to be considered valid (#99). -* BREAKING CHANGE: Disallowed `optional` property in `output_type_id` objects. As such, when a given output type is submitted, values for all output type IDs much be submitted (#100,#101, #102). +* BREAKING CHANGE: Disallowed `optional` property in `output_type_id` objects. As such, when a given output type is submitted, values for all output type IDs much be submitted (#100,#101, #102). +* BREAKING CHANGE: To improve cross-platform interoperability, expectation of missing values in point estimate `output_type_id` `required` properties now encoded with `null` instead of `["NA"]` (#109). * Introduction of optional `derived_task_ids` properties to enable hub administrators to define derived task IDs (i.e. task IDs whose values depend on the values of other task IDs). The higher level `derived_task_ids` property sets the property globally at the hub level but can be overriden by the round level `derived_task_ids` property. The property allows for primarily validation functionality to ignore such task IDs when appropriate which can significantly improve validation efficency (#96). For more information see [`hubValidations` documentation on ignoring derived task IDs](https://hubverse-org.github.io/hubValidations/articles/validate-pr.html#ignoring-derived-task-ids-to-improve-performance). * Added more specific schema for `target_keys` to ensure only `string` properties are allowed (#97) diff --git a/v4.0.0/tasks-schema.json b/v4.0.0/tasks-schema.json index 663e35a..8ecd981 100644 --- a/v4.0.0/tasks-schema.json +++ b/v4.0.0/tasks-schema.json @@ -652,23 +652,17 @@ "description": "Object defining the mean of the predictive distribution output type.", "properties": { "output_type_id": { - "description": "output_type_id is not meaningful for a point estimate output_type.", + "description": "output_type_id is not meaningful for a point estimate output_type. Must be null", "examples": [ { - "required": [ - "NA" - ] + "required": null } ], "type": "object", "properties": { "required": { - "description": "Not relevant for point estimate output types. Must be single element 'NA' array.", - "type": "array", - "items": { - "const": "NA", - "maxItems": 1 - } + "description": "Not relevant for point estimate output types. Must be null.", + "type": "null" } }, "required": [ @@ -736,23 +730,17 @@ "description": "Object defining the median of the predictive distribution output type", "properties": { "output_type_id": { - "description": "output_type_id is not meaningful for a point estimate output_type.", + "description": "output_type_id is not meaningful for a point estimate output_type. Must be null", "examples": [ { - "required": [ - "NA" - ] + "required": null } ], "type": "object", "properties": { "required": { - "description": "Not relevant for point estimate output types. Must be single element 'NA' array.", - "type": "array", - "items": { - "const": "NA", - "maxItems": 1 - } + "description": "Not relevant for point estimate output types. Must be null.", + "type": "null" } }, "required": [