Skip to content

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

Open
@gerickson

Description

@gerickson

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
    };

    // ...
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    Parking LotWDLRelated to Weave and the Weave Data Language and the ability for ODM SDF to losslessly express WDL.duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions