The version is the [...] and is required to uniquely identify the artifact.
Does that mean that the field is REQUIRED, and the "to uniquely identify the artifact" is explaining why it's required? Or is it only required if you want to uniquely identify the artifact?
To clarify, I suggest either:
The version is REQUIRED and is the [...]. This is needed to uniquely identify the artifact.
The version is the [...]. It SHOULD be specified to uniquely identify the artifact.
If it is actually the first version, I strongly suggest making it optional. oci is the only type where version is required, and the spec even says "version: the version of the package. Optional". In some cases it is necessary to describe a package with a floating label where the hash is not yet resolved.
The text currently says:
Does that mean that the field is REQUIRED, and the "to uniquely identify the artifact" is explaining why it's required? Or is it only required if you want to uniquely identify the artifact?
To clarify, I suggest either:
version
is REQUIRED and is the [...]. This is needed to uniquely identify the artifact.version
is the [...]. It SHOULD be specified to uniquely identify the artifact.If it is actually the first version, I strongly suggest making it optional.
oci
is the only type whereversion
is required, and the spec even says "version: the version of the package. Optional". In some cases it is necessary to describe a package with a floating label where the hash is not yet resolved.