Infrastructure · Data Structures
Ballot
Immutable record of one agent's cast choice
Definition
Mechanism
The immutable record of one agent's cast choice in a decision. Carries which proposal, which voter, and which option was chosen. The question, the options and the decision rule belong to the `Vote` that called for it; a Ballot is the response, and `Quorum` counts these. Immutable once cast — a revision is a new Ballot carrying a fresh MonotonicCounter sequence, so revocation and amendment surface as distinct later decisions rather than retroactive edits.
Invariants
- Immutable once cast: a revision is a new Ballot, not an edit.
- Names one voter and one choice drawn from the options of the decision it answers.
- Choice is expressed as a Select over those options, not free text.
Risks
Failure modes
Spoiled ballot
ambiguous or invalid Select format.
Double voting
a single agent submits multiple ballots for one proposal (Sybil risk).
Relationships
Builds on
References
Society
Value that never decreases
Generic selection of items from a set based on criteria
Used by
Reference
Data schema
{
"type": "object",
"required": [
"ballot_id",
"proposal_id",
"voter_id",
"choice"
],
"properties": {
"ballot_id": {
"type": "string"
},
"proposal_id": {
"type": "string"
},
"voter_id": {
"type": "string"
},
"choice": {
"type": "string",
"description": "The selected option"
},
"weight": {
"type": "number",
"default": 1
},
"signature": {
"type": "string",
"description": "Cryptographic proof of vote"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
}