-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Milestone
Description
By moving to a modeling language, we are introducing potential breaking changes. For example, the type field in the context, and the reason for that is that the type field in many languages, like java, utilizes the type field for polymorphism.
In this file, we start from spec 0.4 but try to be more like the documentation spec
and to translate it into doc & sdk with some changes:
- one type per subject
- one type per predicate
- remove of the subject.content, replace by subject.predicate
- the list of predicates per subject
examplesfollow the format of https://json-schema.org/draft/2020-12/draft-bhutton-json-schema-validation-00#rfc.section.9.5 (that is different from openapi's operation)x-stageis used to indicate the stage of the subject (and the predicates):
core, source-code-version-control, continuous-integration, testing,
continuous-deployment, continuous-operations- rename
typetokindbecausetypeis a reserved word in lot of languages?
(on an other side iftypeis used only as discriminator (too tag enum)
maybe it could be removed from the generated structures) - for name of subject'subtype, only the first letter is capitalized (not a PascalCase)
- for name of predicate, concatenate the subject'subtype and the predicate'subtype with predicate subtype capitalized, then
- predicate & subject could extracted without ambiguity (to snake_case + split on '_')
- no conflict between predicate that could have the same name (eg. started, finished) but different subject'subtype
- rename
urltouri(to be consistent in every place and with the type'name) $idshould be the same as the type name (liketitlein openapi, buy it is not used here)
Metadata
Metadata
Assignees
Labels
No labels