com.publicdomainrelay.temp.market.receipt

johnandersen777.bsky.social

Schema Diff

+19 -4

From

CID
bafyreihk2bait6i...
Indexed At
2026-05-17 19:45 UTC
View this version

To

CID
bafyreiddn2yrpxl...
Indexed At
2026-06-11 14:13 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.cid" }
  • AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.signatures" }
  • AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.submitEvent" }
  • 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") }
  • AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.receipt:body", tgt: "com.publicdomainrelay.temp.market.receipt:body.submitEvent", kind: "prop", name: Some("submitEvent") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.cid" }
  • AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.signatures" }
  • AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.receipt:body.submitEvent" }

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") }
  • Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.receipt:body", tgt: "com.publicdomainrelay.temp.market.receipt:body.submitEvent", kind: "prop", name: Some("submitEvent") }
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 12
          "accept",
13 -
          "payload"
13 +
          "cid",
14 +
          "signatures"
14 15
        ],
15 16
        "properties": {
16 17
          "bid": {
17 18
            "ref": "com.atproto.repo.strongRef",
18 19
            "type": "ref",
19 -
            "description": "Strong reference to the bid record (for example a com.publicdomainrelay.temp.bid.x402)."
20 +
            "description": "Strong reference to the bid record (for example a com.publicdomainrelay.temp.market.bid.x402)."
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."
20 26
          },
21 27
          "rfp": {
22 28
            "ref": "com.atproto.repo.strongRef",
23 29
            "type": "ref",
24 30
            "description": "Strong reference to the rfp record (for example a com.publicdomainrelay.temp.market.rfp)."
25 31
          },
26 32
          "accept": {
27 33
            "ref": "com.atproto.repo.strongRef",
28 34
            "type": "ref",
29 -
            "description": "Strong reference to the accept record (for example a com.publicdomainrelay.temp.accept.x402)."
35 +
            "description": "Strong reference to the accept record (for example a com.publicdomainrelay.temp.market.accept.x402)."
30 36
          },
31 37
          "payload": {
32 38
            "ref": "com.atproto.repo.strongRef",
33 39
            "type": "ref",
34 -
            "description": "Strong reference to the receipt record (for example a com.publicdomainrelay.temp.receipt.x402)."
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)."
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 +
          },
47 +
          "submitEvent": {
48 +
            "type": "string",
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."
35 50
          }
36 51
        }
37 52
      },
38 53
      "description": "Receipt for acceptance of a bid on an RFP"
39 54
    }
40 55
  },
41 56
  "$type": "com.atproto.lexicon.schema",
42 57
  "lexicon": 1
43 58
}

Compare Other Versions

Lexicon Garden

@