cloud.substratum.passport.receipt
Schema Diff
+8 -4
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 1 non-breaking change.
Breaking Changes (2)
- RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "cloud.substratum.passport.receipt", src: "cloud.substratum.passport.receipt", tgt: "cloud.substratum.passport.receipt.manifestCid", kind: "prop", name: Some("manifestCid") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "cloud.substratum.passport.receipt", src: "cloud.substratum.passport.receipt", tgt: "cloud.substratum.passport.receipt.assetCid", kind: "prop", name: Some("assetCid") }
Non-Breaking Changes (1)
- AddedVertex AddedVertex { vertex_id: "cloud.substratum.passport.receipt.manifestCid" }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "cloud.substratum.passport.receipt.manifestCid" }
Additional Notes
- Breaking: RequiredEdgeAdded { vertex_id: "cloud.substratum.passport.receipt", src: "cloud.substratum.passport.receipt", tgt: "cloud.substratum.passport.receipt.manifestCid", kind: "prop", name: Some("manifestCid") }
- Breaking: RequiredEdgeRemoved { vertex_id: "cloud.substratum.passport.receipt", src: "cloud.substratum.passport.receipt", tgt: "cloud.substratum.passport.receipt.assetCid", kind: "prop", name: Some("assetCid") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
-
"description": "Cryptographic provenance binding between an asset CID and its owner. No grantee DIDs are stored here (ADR 91); the share ACL lives in the encrypted-at-rest metadata file on the private Swarm blockstore, referenced by aclCid.",
5
+
"description": "Cryptographic provenance binding between a metadata manifest CID and its owner. No grantee DIDs are stored here (ADR 91); the share ACL lives in the encrypted-at-rest metadata file on the private Swarm blockstore, referenced by aclCid.",
6
6
"properties": {
7
7
"aclCid": {
8
8
"description": "CID of the share-ACL block in the drive metadata file (ADR 91). Never the ACL itself.",
9
9
"type": "string"
10
10
},
11
11
"assetCid": {
12
-
"description": "The IPFS Content Identifier of the underlying asset",
12
+
"description": "File byte CID. Same meaning as driveEntry assetCid. Omitted for a drive or folder receipt.",
13
+
"type": "string"
14
+
},
15
+
"manifestCid": {
16
+
"description": "The metadata manifest CID this receipt governs: the drive index for a drive, or that entry's name leaf for a folder or file.",
13
17
"type": "string"
14
18
},
15
19
"metadata": {
16
20
"ref": "cloud.substratum.passport.assetMetadata#main",
17
21
"type": "ref"
18
22
},
19
23
"ownerDid": {
20
24
"description": "The DID of the user who owns the asset",
21
25
"format": "did",
22
26
"type": "string"
23
27
},
24
28
"timestamp": {
25
29
"description": "ISO 8601 timestamp of the upload",
26
30
"format": "datetime",
27
31
"type": "string"
28
32
},
29
33
"version": {
30
-
"description": "Schema version (e.g., '1.0.0')",
34
+
"description": "Schema version (e.g., '2.0.0')",
31
35
"type": "string"
32
36
}
33
37
},
34
38
"required": [
35
39
"version",
36
-
"assetCid",
40
+
"manifestCid",
37
41
"ownerDid",
38
42
"timestamp"
39
43
],
40
44
"type": "object"
41
45
}
42
46
},
43
47
"id": "cloud.substratum.passport.receipt",
44
48
"lexicon": 1
45
49
}