Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Need ODM SDF Syntax to Cover Object / Trait Stability #58

Open
gerickson opened this issue Aug 14, 2019 · 1 comment
Open

Need ODM SDF Syntax to Cover Object / Trait Stability #58

gerickson opened this issue Aug 14, 2019 · 1 comment
Labels
duplicate This issue or pull request already exists Parking Lot WDL Related to Weave and the Weave Data Language and the ability for ODM SDF to losslessly express WDL.

Comments

@gerickson
Copy link

In Weave Data Language (WDL), objects / traits may be decorated to indicate their stability and to provide a hint to validation and policy enforcement tooling what rule sets and policies should or should not be enforced.

To be expressed in ODM SDF losslessly, a syntax construct for representing the stability of objects / traits is required.

Relevant Example Schema Input Files

Missing or Unmapped WDL-to-ODM SDF Syntax

  • stability
    • This is an enumerated key indicating the qualitative development stability of the trait / object whose values may be one of:
    • ALPHA
      • The object / trait is in development and there are no guarantees that anything on the object / trait will be stable. While best effort should be made to develop the object / trait incrementally towards the production version, there are no guarantees that anything in the object / trait will be stable.
      • For a new version of an existing trait, existing properties, events, commands, etc. from the previous version of the trait may only be modified based on the standard versioning rules. However within this restriction, any new content on the trait may be arbitrarily changed at any time. The version field will never be changed while the trait is in ALPHA stability.
      • All new objects / traits shall start with ALPHA stability, which allows for changes to that object / trait.
    • BETA
      • The object / trait is relatively stable and content may only be modified following the standard versioning rules. As with ALPHA stability, the version field will not be changed.
        If changes beyond the standard versioning rules are required, the trait would be reverted to ALPHA stability, indicating a less stable trait to the various consumers.
    • PRODUCTION
      • The object / trait is in production use and no changes are allowed to the trait in the present version. Any changes to the object / trait require incrementing the version.

Example Input WDL

message PowerSourcesTrait {
    option (wdl.message_type) = TRAIT;

    option (wdl.trait) = {
        stability: ALPHA,
        vendor_id: 0x0000,
        id:        0x001A,
        version:   1
    };

    // ...
};
@mjkoster
Copy link
Contributor

Duplicate of #66

@mjkoster mjkoster marked this as a duplicate of #66 Aug 28, 2019
@gerickson gerickson added the WDL Related to Weave and the Weave Data Language and the ability for ODM SDF to losslessly express WDL. label Sep 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate This issue or pull request already exists Parking Lot WDL Related to Weave and the Weave Data Language and the ability for ODM SDF to losslessly express WDL.
Projects
None yet
Development

No branches or pull requests

2 participants