Infrastructure · Data Structures
Jointscape
The options several parties' combined choices make available, with the contribution each option needs from each party
Definition
Mechanism
A record of the Options available to two or more parties acting together. Each option lists the contribution it needs from each party involved, and options that need every party are marked as joint, since no party could reach them alone.
Invariants
- Names at least two parties.
- Every option lists the contribution it needs from each party involved.
- Options that need every party are marked as joint.
Risks
Failure modes
Solo listing
each party lists only its own options, and the joint ones are never generated.
Phantom contribution
an option assumes a contribution its party has not offered.
Relationships
Builds on
References
A discrete, executable alternative
Nothing in this library builds on this pattern yet.
Reference
Data schema
{
"type": "object",
"required": [
"parties",
"options"
],
"properties": {
"parties": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 2
},
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"description",
"contributions",
"joint"
],
"properties": {
"description": {
"type": "string"
},
"contributions": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Party name to the contribution the option needs from it"
},
"joint": {
"type": "boolean",
"description": "True when the option needs every party"
}
}
}
}
}
}