# org.simocracy.decision

> Published by [gainforest.earth](https://lexicon.garden/identity/did:plc:qoti4acfmc5wg6zzmtix6hse)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:qoti4acfmc5wg6zzmtix6hse/org.simocracy.decision)
- [Documentation](https://lexicon.garden/lexicon/did:plc:qoti4acfmc5wg6zzmtix6hse/org.simocracy.decision/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:qoti4acfmc5wg6zzmtix6hse/org.simocracy.decision/examples)

## Definitions

### `org.simocracy.decision`

**Type**: `record`

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.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `notes` | `string` | No | Optional admin commentary published alongside the decision. |
| `runId` | `string` | Yes | Identifier of the source allocation run (e.g. an S-Process hearingId). |
| `title` | `string` | No | Short label for the decision (e.g. "Round 1", "Q1 2025"). |
| `budget` | `integer` | Yes | Total budget allocated, in whole USD. |
| `createdAt` | `string` (datetime) | Yes | Record creation timestamp. |
| `decidedAt` | `string` (datetime) | Yes | Timestamp when the admin published this decision. |
| `mechanism` | `string` | No | Name of the allocation mechanism that produced this decision (e.g. "s-process"). |
| `allocations` | `array` | Yes | Per-proposal allocation amounts. |
| `gatheringUri` | `string` | Yes | 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` | `integer` | No | Dollars kept for future rounds via the outside option, in whole USD. |

### `org.simocracy.decision#allocation`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `amount` | `integer` | Yes | Allocation amount in whole USD. |
| `requested` | `integer` | No | Amount the proposer originally asked for, in whole USD. Optional — omitted when the proposal had no itemised budget request. |
| `proposalUri` | `string` | No | Optional AT-URI of the proposal record (org.hypercerts.claim.activity). |
| `proposalTitle` | `string` | Yes | Display title of the proposal. |

## Raw Schema

```json
{
  "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
}
```
