Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We are updating the compatibility schema prototypes to be entirely graphs, meaning that every node must be represented in the graph, and there are several benefits to this:
For the last bullet, I considered V1 and V2 of JGF. While there are tools that are using V1, I reviewed the differences and think V2 is better in that we can lookup specific nodes in O(1) time (without needing to iterate over a list) and this seems to be the preference for the json graph maintainers, so we should go that route and (eventually) update underlying tools that might use this to support that. In addition, I am adding an example for a compatibility spec, or what would be an artifact that represents an application or container image, and uses one or more compatibility schemas. This spec still has a custom format that we provide a schema.json to validate against.
Thanks for the discussion today @milroy I think this is a good direction to take, and I'll be following up with changes to our lammps experiment / compspec-go implementation and the OCI working group proposal D to reflect the changes here. No need (for now) for a formal review - this is all a quickly moving prototype, and we will do more formal vetting of the details if/when this idea has feet upstream.
I'm excited! Looking forward to working on this in Go soon 🥳