com.publicdomainrelay.temp.market.bids.free
Schema Diff
+8 -6
Compatibility Analysis
Breaking Changes Detected
2 breaking changes, 2 non-breaking changes.
Breaking Changes (2)
- RemovedVertex RemovedVertex { vertex_id: "com.publicdomainrelay.temp.market.bids.free:body.url" }
- RemovedEdge RemovedEdge { src: "com.publicdomainrelay.temp.market.bids.free:body", tgt: "com.publicdomainrelay.temp.market.bids.free:body.url", kind: "prop", name: Some("url") }
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.bids.free:body.signatures" }
- AddedEdge AddedEdge { src: "com.publicdomainrelay.temp.market.bids.free:body", tgt: "com.publicdomainrelay.temp.market.bids.free:body.signatures", kind: "prop", name: Some("signatures") }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "com.publicdomainrelay.temp.market.bids.free:body.url" }
Added Elements
AddedVertex { vertex_id: "com.publicdomainrelay.temp.market.bids.free:body.signatures" }
Additional Notes
- Breaking: RemovedEdge { src: "com.publicdomainrelay.temp.market.bids.free:body", tgt: "com.publicdomainrelay.temp.market.bids.free:body.url", kind: "prop", name: Some("url") }
- Non-breaking: AddedEdge { src: "com.publicdomainrelay.temp.market.bids.free:body", tgt: "com.publicdomainrelay.temp.market.bids.free:body.signatures", kind: "prop", name: Some("signatures") }
1
1
{
2
2
"id": "com.publicdomainrelay.temp.market.bids.free",
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
-
"url"
10
+
"reason",
11
+
"signatures"
11
12
],
12
13
"properties": {
13
-
"url": {
14
-
"type": "string",
15
-
"description": "Grant endpoint URL. The requester GETs `{url}/{accepts.free AT-URI}/{accepts.free CID}` (no payment required) and the bidder returns a com.publicdomainrelay.temp.market.receipts.free proof-of-grant record."
16
-
},
17
14
"reason": {
18
15
"type": "string",
19
16
"description": "Optional human-readable reason the compute is offered for free, e.g. 'open-source CI' or 'promotional'."
17
+
},
18
+
"signatures": {
19
+
"ref": "network.attested.signature#signatures",
20
+
"type": "ref",
21
+
"description": "badge.blue attestations over these terms. Must include the bidder's inline signature, attached at creation."
20
22
}
21
23
}
22
24
},
23
-
"description": "Bid payload offering compute at no cost. The free counterpart of com.publicdomainrelay.temp.market.bids.x402: there is no payment, but settlement still flows through a receipt so the bidder retains a verifiable record that it granted the resource. To settle, the requester mints a com.publicdomainrelay.temp.market.accepts.free record, then issues a (non-payment-gated) GET to `{url}/{accepts.free AT-URI}/{accepts.free CID}`; the bidder mints and returns a com.publicdomainrelay.temp.market.receipts.free proof-of-grant record. That receipt is then used as the payload of the higher-level com.publicdomainrelay.temp.market.accept."
25
+
"description": "Bid payload offering compute at no cost"
24
26
}
25
27
},
26
28
"$type": "com.atproto.lexicon.schema",
27
29
"lexicon": 1
28
30
}