johnandersen777.bsky.social/atlibs-socialweb-computer-requester
socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons
0
0
{
"lexicon": 1,
"id": "com.publicdomainrelay.temp.market.rfp",
"defs": {
"main": {
"type": "record",
"description": "Top-level Request For Proposal (RFP). Envelope that strongRefs a domain-specific payload (e.g. compute.vm).",
"key": "tid",
"record": {
"type": "object",
"required": [
"payload",
"signatures"
],
"properties": {
"payload": {
"type": "ref",
"ref": "com.atproto.repo.strongRef",
"description": "Strong reference to the domain-specific payload record (for example a com.publicdomainrelay.temp.compute.vm)."
},
"submitBid": {
"type": "string",
"description": "Service DID reference (did:web:HOST#temp_market) of the RFP issuer's market service. Optional; bypasses the need for bids to be seen in the firehose. The bidder calls com.publicdomainrelay.temp.market.submitBid via PDS service-proxying using this value as the atproto-proxy target."
},
"policies": {
"type": "array",
"items": {
"type": "ref",
"ref": "com.atproto.repo.strongRef"
},
"description": "Strong references to fulfillment policy records (for example com.publicdomainrelay.temp.market.policies.builtin). Declares admission criteria: who may bid on and fulfill this RFP. Empty/absent means no policy restriction — open to all bidders, backward compatible. Carries downstream through subcontracting chains."
},
"signatures": {
"type": "ref",
"ref": "network.attested.signature#signatures",
"description": "badge.blue attestations over this RFP. Must include the issuer's inline signature, attached at creation (before any bid strongRefs this record); post-hoc third-party attestations use remote network.attested.signature proof records instead, so the RFP's CID stays stable."
},
"onBehalfOf": {
"type": "ref",
"ref": "com.atproto.repo.strongRef",
"description": "Set when the issuer is acting for someone else, naming the record that authorizes it (for a gateway, the session it opened). A fulfillment policy can then evaluate the original party instead of the issuer."
}
}
}
}
}
}