at.eptss.voteResult

eptss.at

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Aggregate (anonymous) vote result for one candidate in one round, published by the organizer after voting closes. Individual scores are never published. The candidate is a strongRef to its at.eptss.track — one shape for a song across the whole system, not an embedded copy that goes stale. Integers only (count + total; clients divide) because DAG-CBOR forbids floats. The scale is self-describing: distribution has (scaleMax - scaleMin + 1) buckets, distribution[0] = count of scaleMin scores.",
      "key": "any",
      "record": {
        "properties": {
          "count": {
            "description": "Number of ballots that scored this candidate.",
            "minimum": 0,
            "type": "integer"
          },
          "distribution": {
            "items": {
              "minimum": 0,
              "type": "integer"
            },
            "minLength": 1,
            "type": "array"
          },
          "ledger": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "publishedAt": {
            "format": "datetime",
            "type": "string"
          },
          "round": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "scaleMax": {
            "type": "integer"
          },
          "scaleMin": {
            "minimum": 0,
            "type": "integer"
          },
          "total": {
            "description": "Sum of all scores for this candidate. Average = total / count.",
            "minimum": 0,
            "type": "integer"
          },
          "track": {
            "description": "The at.eptss.track this result scores.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          }
        },
        "required": [
          "round",
          "ledger",
          "track",
          "count",
          "total",
          "scaleMin",
          "scaleMax",
          "distribution",
          "publishedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "at.eptss.voteResult",
  "lexicon": 1
}

Validate Record

Validate a record against at.eptss.voteResult

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:pf6izdjdonyd46isl3txwu4g
CID
bafyreic5d66pvqi62wvyh7gpfyzwfxrmoxpeyz2csyqidtrm3likp4sryi
Indexed At
2026-08-10 04:16 UTC
AT-URI
at://did:plc:pf6izdjdonyd46isl3txwu4g/com.atproto.lexicon.schema/at.eptss.voteResult

Version History (2 versions)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A voter's public attestation: 'I voted on this ballot sheet.' Written to the voter's own repo. The ledger strongRef pins the exact candidateLedger (URI and CID) the vote was cast against, making post-hoc ledger edits de…

  • 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 p…

  • support.supper.poll.vote recordnot from the namespace authority

    A public vote authored by the repository owner on an exact Supper poll revision. Consumers count one valid vote per actor and subject URI/CID, choosing the greatest TID record key (URI breaks ties). A changed choice cre…

Lexicon Garden

@