The round's ballot sheet, revealed as one atomic record when signups close. Published by the round organizer. The candidate list itself lives in an at.atjam.playlist of at.eptss.track records — this record pins that playlist by CID and adds only what a playlist must never carry: round attribution and who nominated what. Ballots strong-ref this ledger, so the pin chain runs ballot → ledger → playlist → tracks, and a post-hoc edit anywhere is detectable. Attribution keys on the track's AT-URI, never on its position — a positional array desyncs silently on one reorder. The organizer honors un-naming requests by editing nominations in place.
any
Any valid record key
Properties
nominations
array
of
ref
#nomination
Required
Who put what in the hat. Empty when every candidate was organizer-carried. Tracks absent here are carried candidates, unattributed by design.
maxLength: 256 itemsplaylist
ref
com.atproto.repo.strongRef
Required
The at.atjam.playlist holding the candidates, in ballot order, CID-pinned.
publishedAt
string
datetime
Required
An RFC 3339 formatted timestamp.
round
ref
com.atproto.repo.strongRef
Required
The at.atjam.round this ledger belongs to.
View raw schema
{
"description": "The round's ballot sheet, revealed as one atomic record when signups close. Published by the round organizer. The candidate list itself lives in an at.atjam.playlist of at.eptss.track records — this record pins that playlist by CID and adds only what a playlist must never carry: round attribution and who nominated what. Ballots strong-ref this ledger, so the pin chain runs ballot → ledger → playlist → tracks, and a post-hoc edit anywhere is detectable. Attribution keys on the track's AT-URI, never on its position — a positional array desyncs silently on one reorder. The organizer honors un-naming requests by editing nominations in place.",
"key": "any",
"record": {
"properties": {
"nominations": {
"description": "Who put what in the hat. Empty when every candidate was organizer-carried. Tracks absent here are carried candidates, unattributed by design.",
"items": {
"ref": "#nomination",
"type": "ref"
},
"maxLength": 256,
"type": "array"
},
"playlist": {
"description": "The at.atjam.playlist holding the candidates, in ballot order, CID-pinned.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"publishedAt": {
"format": "datetime",
"type": "string"
},
"round": {
"description": "The at.atjam.round this ledger belongs to.",
"ref": "com.atproto.repo.strongRef",
"type": "ref"
}
},
"required": [
"round",
"playlist",
"nominations",
"publishedAt"
],
"type": "object"
},
"type": "record"
}