open-feature / spec

OpenFeature specification
https://openfeature.dev
Apache License 2.0
639 stars 34 forks source link

Add flag-evaluation spec, Makefile, initial spec structure #35

Closed toddbaert closed 2 years ago

toddbaert commented 2 years ago

First pass at a partial spec, based on cumulative findings from our research repo. Only the Evaluation API is proposed (specification/flag-evaluation/flag-evaluation.md, also note the associated assertion JSON file: specification/flag-evaluation/flag-evaluation.json). The best way to view the actual spec is probably to view the branch directly, since it's mostly markdown: https://github.com/open-feature/spec/tree/spec/flag-evaluation-api/specification

One of the goals was to design the structure of the spec, so I've included stubs for some of the other parts.

Please also checkout the specification/README.md, which contains an overview, conformance clause, and document statuses.

For ease of generating the JSON assertion files, I've also added a very simple Makefile. If you're interested in looking at spec only, please make use of the Github's file-type filter: image

UPDATE:

I believe I've addressed all the concerns. I've also opened: https://github.com/open-feature/spec/issues/36 in response to comments about CI and various helpful automation suggestions. Please remember, everything in the spec at the moment is still status: experimental, so don't think that anything here is final!

toddbaert commented 2 years ago

We also may want a section that specifically mentions that we encourage idiomatic use of language features, and that prescriptions that imply certain unavailable language features should be tolerated.

toddbaert commented 2 years ago

Rebased, squashed, added co-authors.