NCATSTranslator / ReasonerAPI

NCATS Biomedical Translator Reasoners Standard API
34 stars 28 forks source link

update-TRAPI-1.4.1-to-workflows-1.3.5 #443

Closed RichardBruskiewich closed 1 year ago

RichardBruskiewich commented 1 year ago

The latest TRAPI Response.workflow value is defined by the operations and workflows (W&O) schema at http://standards.ncats.io/workflow/.

TRAPI 1.3.0 pointed to the http://standards.ncats.io/workflow/1.3.2/schema, which was discovered to have validation issues.

An initial update to a 1.3.3 schemata release missed updating the internal $id fields (and the workflow item cross $ref field) to dereference 1.3.3. At the same time, it was noted that the 'operations' schema had significant internal duplication, suggesting systematic refactoring into additional (shared) sub-schemata. Both issues were essentially repaired in release 1.3.4.

However, the extracted sub-schemata for both the AllowedList and DenyList JSON properties was left too open ended, allowing for additional object keys - an undesirable loophole. To provide a tighter semantic constraint on those two sub-schemata, the

"additionalProperties": false

directive was added to each, and the schemata re-released as 1.3.5 - the current standard. However, although TRAPI was updated by 1.4.0-beta4 to point to the W&O schema 1.3.4, the latest 1.4.2 has not yet been updated to point to 1.3.5.

Thus, this PR updates the current TRAPI release 1.4.2 to point to the release 1.3.5 workflow schema (http://standards.ncats.io/workflow/1.3.5/schema).

edeutsch commented 1 year ago

Unlike previous fixes 1.4.1 and 1.4.2, which are just correcting the schema to reflect what we thought we had done, this potentially changes functionality. What is the story and rationale for this change?

edeutsch commented 1 year ago

Hi everyone, please see edited OP above. The plan is to update TRAPI 1.4.2 to TRAPI 1.4.3 where the change is to update the referenced workflow schema from 1.3.4 to 1.3.5.

The only changes from Operations&Workflow version 1.3.4 to 1.3.5 is that two elements have additional_properties: false and RunnerParameters gets a type of object. Here's the diff: https://github.com/NCATSTranslator/OperationsAndWorkflows/compare/1.3.4...1.3.5

Does anyone have any objects to merging this PR (O&W 1.3.4 --> 1.3.5) into TRAPI 1.4.3?

This is largely needed for validation, and probably will have little to no affect on existing agent implementations.

colleenXu commented 1 year ago

@edeutsch @RichardBruskiewich

Do the other references for workflow schema need updating as well?

edeutsch commented 1 year ago

yes, you're absolutely right. @RichardBruskiewich would you amend the PR?

RichardBruskiewich commented 1 year ago

@edeutsch @RichardBruskiewich

Do the other references for workflow schema need updating as well?

* https://github.com/NCATSTranslator/ReasonerAPI/blob/b6a8de72529687fc21e247e599ca4180c22b8089/TranslatorReasonerAPI.yaml#L329

* https://github.com/NCATSTranslator/ReasonerAPI/blob/b6a8de72529687fc21e247e599ca4180c22b8089/TranslatorReasonerAPI.yaml#L455

Ah yes... I was blissfully unaware of the multiple workflow specification contexts! Fixed now! Also changed all link protocols to https://

edeutsch commented 1 year ago

@brettasmi @cbizon @MarkDWilliams @colleenXu @Genomewide @vdancik and everyone else, please examine and review