at.eptss.voteResult

eptss.at

Documentation

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.

main record

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.

Record Key any Any valid record key

Properties

count integer Required

Number of ballots that scored this candidate.

minimum: 0
distribution array of integer Required

No description available.

minLength: 1 items
publishedAt string datetime Required

An RFC 3339 formatted timestamp.

scaleMax integer Required

No description available.

scaleMin integer Required

No description available.

minimum: 0
total integer Required

Sum of all scores for this candidate. Average = total / count.

minimum: 0
View raw schema
{
  "key": "any",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "round",
      "ledger",
      "track",
      "count",
      "total",
      "scaleMin",
      "scaleMax",
      "distribution",
      "publishedAt"
    ],
    "properties": {
      "count": {
        "type": "integer",
        "minimum": 0,
        "description": "Number of ballots that scored this candidate."
      },
      "round": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref"
      },
      "total": {
        "type": "integer",
        "minimum": 0,
        "description": "Sum of all scores for this candidate. Average = total / count."
      },
      "track": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "The at.eptss.track this result scores."
      },
      "ledger": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref"
      },
      "scaleMax": {
        "type": "integer"
      },
      "scaleMin": {
        "type": "integer",
        "minimum": 0
      },
      "publishedAt": {
        "type": "string",
        "format": "datetime"
      },
      "distribution": {
        "type": "array",
        "items": {
          "type": "integer",
          "minimum": 0
        },
        "minLength": 1
      }
    }
  },
  "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."
}

Lexicon Garden

@