Skip to content

Commit fccc435

Browse files
committed
Implementations MUST NOT populate data arbitrarily
Also add a counterexample. Signed-off-by: Jon Johnson <[email protected]>
1 parent 2596ec0 commit fccc435

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

descriptor.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,8 +159,9 @@ For very small blobs, the fixed cost can be quite significant.
159159

160160
Implementations MAY choose to embed small pieces of content directly within a descriptor to avoid roundtrips.
161161

162-
Implementations SHOULD NOT populate the `data` field in situations where doing so would unexpectedly modify content identifiers.
163-
For example, a registry SHOULD NOT arbitrarily populate `data` fields within uploaded manifests, as that would modify the content address of those manifests.
162+
Implementations MUST NOT populate the `data` field in situations where doing so would modify existing content identifiers.
163+
For example, a registry MUST NOT arbitrarily populate `data` fields within uploaded manifests, as that would modify the content identifier of those manifests.
164+
In contrast, a client MAY populate the `data` field before uploading a manifest, because the manifest would not yet have a content identifier in the registry.
164165

165166
Implementations SHOULD consider limitations of storage systems when deciding whether or not to embed data.
166167
Many implementations will refuse to accept or parse manifests that violate the limitations of their storage systems, so descriptors concerned with portability SHOULD avoid embedding large amounts of data.

0 commit comments

Comments
 (0)