The following things still need attending to. Even once they all have checkmarks, the work is not done: I am also documenting this in order to write unit tests to make sure they're actually working as expected. I'll do so when I have the time (famous last words).
Deduplication of tools
[x] No two unit tools may refer to the same URL. (68a0fafd3424f648a416b8031ecf9bf9efd6e5c0)
[x] No two multitools may be isomorphic to another (even disregarding IDs). (7aeba7d)
[x] Any pair of abstractions must have at least a differing CCT signature or an independent CCD signature (ie a CCD type that neither subsumes nor is subsumed by the other). Figure out something for permutations of inputs (see #8). (66ae86414692e71b741e6074cfe9fd9c6f2f7595)
[x] Implementations (ie unit tools, multitools and the artefacts in multitool's actions) must not have CCD or CCT signatures. (This one we get for free by virtue of not saving such information in the first place.)
[ ] Any artefact in a multitool that is not both an input and an output of one of its actions must be an input or an output of the multitool itself. All such inputs must have an ID, and any others must not.
[ ] Multitools must not contain cycles.
[x] The IDs of any abstraction that is implemented by a multitool must correspond exactly to the IDs of said multitool. (2509f59f6fe5e6941448f5162c4d8c6d0e3cb62b)
Processing workflows
[ ] Workflows must not contain cycles.
[ ] Check that all inputs of the abstractions are accounted for in any application of that abstraction. (see #10)
[ ] When processing an abstract workflow, check that the full CCT graph (not just the expression) can be combined.
The following things still need attending to. Even once they all have checkmarks, the work is not done: I am also documenting this in order to write unit tests to make sure they're actually working as expected. I'll do so when I have the time (famous last words).
Deduplication of tools
Tool description sanity
rdf:type
s must be part of at least one CCD dimension. (https://github.com/quangis/quangis-workflow/commit/4810bef243fac81f84f139c5ba3aaebcb34f2baf)Processing workflows