com.publicdomainrelay.temp.market.receipt
Schema Diff
+13 -1
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.cid" }
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.signatures" }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.receipt:body", tgt: "com.publicdomainrelay.temp.market.receipt:body.cid", kind: "prop", name: Some("cid") }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.receipt:body", tgt: "com.publicdomainrelay.temp.market.receipt:body.signatures", kind: "prop", name: Some("signatures") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.cid" }AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.signatures" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.receipt:body", tgt: "com.publicdomainrelay.temp.market.receipt:body.cid", kind: "prop", name: Some("cid") }
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.receipt:body", tgt: "com.publicdomainrelay.temp.market.receipt:body.signatures", kind: "prop", name: Some("signatures") }
1
1
{
2
2
"id": "com.publicdomainrelay.temp.market.receipt",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"rfp",
11
11
"bid",
12
-
"accept"
12
+
"accept",
13
+
"cid",
14
+
"signatures"
13
15
],
14
16
"properties": {
15
17
"bid": {
16
18
"ref": "com.atproto.repo.strongRef",
17
19
"type": "ref",
18
20
"description": "Strong reference to the bid record (for example a com.publicdomainrelay.temp.market.bid.x402)."
19
21
},
22
+
"cid": {
23
+
"type": "string",
24
+
"format": "cid",
25
+
"description": "badge.blue attestation CID over the referenced accept record, making this receipt a remote attestation proof: computed from the accept record (signatures stripped), this receipt's metadata (cid/signatures stripped, repository = accept's repo DID added) as $sig, via DAG-CBOR + SHA-256 + CIDv1. Binds the receipt to the accept's exact content in the requester's repository."
26
+
},
20
27
"rfp": {
21
28
"ref": "com.atproto.repo.strongRef",
22
29
"type": "ref",
23
30
"description": "Strong reference to the rfp record (for example a com.publicdomainrelay.temp.market.rfp)."
24
31
},
25
32
"accept": {
26
33
"ref": "com.atproto.repo.strongRef",
27
34
"type": "ref",
28
35
"description": "Strong reference to the accept record (for example a com.publicdomainrelay.temp.market.accept.x402)."
29
36
},
30
37
"payload": {
31
38
"ref": "com.atproto.repo.strongRef",
32
39
"type": "ref",
33
40
"description": "Strong reference to the receipt record if there is anything to note about the receipt (for example a com.publicdomainrelay.temp.market.receipt.x402)."
34
41
},
42
+
"signatures": {
43
+
"ref": "network.attested.signature#signatures",
44
+
"type": "ref",
45
+
"description": "badge.blue attestations over this receipt. Must include the provider's inline signature, attached at creation."
46
+
},
35
47
"submitEvent": {
36
48
"type": "string",
37
49
"description": "Service DID reference (did:web:HOST#compute_event) of the provider's compute-event service, scoped to this receipt's strongRef. The requester calls com.publicdomainrelay.temp.market.submitEvent via PDS service-proxying using this value as the atproto-proxy target, to report lifecycle events the provider cannot observe itself (e.g. compute.events.vm.delete when a workflow finishes or its policy engine never comes up), since the provider treats provisioned resources as a black box."
38
50
}
39
51
}
40
52
},
41
53
"description": "Receipt for acceptance of a bid on an RFP"
42
54
}
43
55
},
44
56
"$type": "com.atproto.lexicon.schema",
45
57
"lexicon": 1
46
58
}