{
"id": "org.simocracy.decision",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"gatheringUri",
"runId",
"budget",
"allocations",
"decidedAt",
"createdAt"
],
"properties": {
"notes": {
"type": "string",
"maxLength": 1000,
"description": "Optional admin commentary published alongside the decision."
},
"runId": {
"type": "string",
"maxLength": 64,
"description": "Identifier of the source allocation run (e.g. an S-Process hearingId)."
},
"title": {
"type": "string",
"maxLength": 200,
"description": "Short label for the decision (e.g. \"Round 1\", \"Q1 2025\")."
},
"budget": {
"type": "integer",
"description": "Total budget allocated, in whole USD."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "Record creation timestamp."
},
"decidedAt": {
"type": "string",
"format": "datetime",
"description": "Timestamp when the admin published this decision."
},
"mechanism": {
"type": "string",
"maxLength": 64,
"description": "Name of the allocation mechanism that produced this decision (e.g. \"s-process\")."
},
"allocations": {
"type": "array",
"items": {
"ref": "#allocation",
"type": "ref"
},
"maxLength": 200,
"description": "Per-proposal allocation amounts."
},
"gatheringUri": {
"type": "string",
"description": "Scope identifier this decision belongs to. Usually the AT-URI of an org.simocracy.gathering record (e.g. at://did:plc:.../org.simocracy.gathering/...). For built-in scopes that are not gatherings, a sentinel string is used instead (e.g. \"ftc-sf:tower\" for the Frontier Tower SF event)."
},
"outsideOptionKept": {
"type": "integer",
"description": "Dollars kept for future rounds via the outside option, in whole USD."
}
}
},
"description": "A published allocation decision for a gathering. Written by the gathering admin to publish the results of an S-Process run (or any allocation mechanism) as the official outcome for a round. Visible to all viewers of the gathering."
},
"allocation": {
"type": "object",
"required": [
"proposalTitle",
"amount"
],
"properties": {
"amount": {
"type": "integer",
"description": "Allocation amount in whole USD."
},
"requested": {
"type": "integer",
"description": "Amount the proposer originally asked for, in whole USD. Optional — omitted when the proposal had no itemised budget request."
},
"proposalUri": {
"type": "string",
"description": "Optional AT-URI of the proposal record (org.hypercerts.claim.activity)."
},
"proposalTitle": {
"type": "string",
"maxLength": 500,
"description": "Display title of the proposal."
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}