full diff

tech.manos.racecalls.call

manos.lol +21 −0
From
bafyreicnjojnfpgujhwer4l6dhw33wjqexvt3khuexstkvdufrvzmnwk6m indexed 2026-11-01 19:14 UTC View this version
To
bafyreic7gifikyiis6a65rkh6ukxubf4q6fy5kxuuezxx3i6ckyrxz6kbm indexed 2026-11-03 16:48 UTC View this version

Compatibility

backward compatible Backward compatible. 9 non-breaking changes.

Non-breaking changes (9)
  • AddedVertex AddedVertex { vertex_id: "tech.manos.racecalls.call:body.generation" }
  • AddedVertex AddedVertex { vertex_id: "tech.manos.racecalls.call:body.observation" }
  • AddedVertex AddedVertex { vertex_id: "tech.manos.racecalls.call:body.raceCallStatus" }
  • AddedVertex AddedVertex { vertex_id: "tech.manos.racecalls.call:body.retracts" }
  • AddedEdge AddedEdge { src: "tech.manos.racecalls.call:body", tgt: "tech.manos.racecalls.call:body.generation", kind: "prop", name: Some("generation") }
  • AddedEdge AddedEdge { src: "tech.manos.racecalls.call:body", tgt: "tech.manos.racecalls.call:body.observation", kind: "prop", name: Some("observation") }
  • AddedEdge AddedEdge { src: "tech.manos.racecalls.call:body", tgt: "tech.manos.racecalls.call:body.raceCallStatus", kind: "prop", name: Some("raceCallStatus") }
  • AddedEdge AddedEdge { src: "tech.manos.racecalls.call:body", tgt: "tech.manos.racecalls.call:body.retracts", kind: "prop", name: Some("retracts") }
  • AddedEdge AddedEdge { src: "tech.manos.racecalls.call:body.retracts", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }

Migration guidance

Added

  • AddedVertex { vertex_id: "tech.manos.racecalls.call:body.generation" }
  • AddedVertex { vertex_id: "tech.manos.racecalls.call:body.observation" }
  • AddedVertex { vertex_id: "tech.manos.racecalls.call:body.raceCallStatus" }
  • AddedVertex { vertex_id: "tech.manos.racecalls.call:body.retracts" }

Notes

  • Non-breaking: AddedEdge { src: "tech.manos.racecalls.call:body", tgt: "tech.manos.racecalls.call:body.generation", kind: "prop", name: Some("generation") }
  • Non-breaking: AddedEdge { src: "tech.manos.racecalls.call:body", tgt: "tech.manos.racecalls.call:body.observation", kind: "prop", name: Some("observation") }
  • Non-breaking: AddedEdge { src: "tech.manos.racecalls.call:body", tgt: "tech.manos.racecalls.call:body.raceCallStatus", kind: "prop", name: Some("raceCallStatus") }
  • Non-breaking: AddedEdge { src: "tech.manos.racecalls.call:body", tgt: "tech.manos.racecalls.call:body.retracts", kind: "prop", name: Some("retracts") }
  • Non-breaking: AddedEdge { src: "tech.manos.racecalls.call:body.retracts", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "Structured data for one race call posted by the unofficial racecalls bot. Stored at the same rkey as its post.",
66 "key": "tid",
77 "record": {
88 "properties": {
99 "apLastUpdated": {
1010 "format": "datetime",
1111 "type": "string"
1212 },
1313 "botVersion": {
1414 "type": "string"
1515 },
1616 "callKind": {
1717 "knownValues": [
1818 "win",
1919 "runoff_advancement",
2020 "general_advancement"
2121 ],
2222 "type": "string"
2323 },
2424 "calledAt": {
2525 "format": "datetime",
2626 "type": "string"
2727 },
2828 "candidateId": {
2929 "type": "string"
3030 },
3131 "createdAt": {
3232 "format": "datetime",
3333 "type": "string"
3434 },
3535 "electionDate": {
3636 "description": "YYYY-MM-DD. Lexicon has no date-only format.",
3737 "type": "string"
3838 },
3939 "fetchedAt": {
4040 "format": "datetime",
4141 "type": "string"
4242 },
43 "generation": {
44 "description": "The call's generation; absent means 0. Written on call records from generation 1 on, and on every retraction record.",
45 "minimum": 0,
46 "type": "integer"
47 },
4348 "idempotencyKey": {
4449 "type": "string"
4550 },
4651 "kind": {
4752 "knownValues": [
4853 "call",
4954 "retraction"
5055 ],
5156 "type": "string"
5257 },
5358 "metadataSha256": {
5459 "description": "Lowercase hex SHA-256 digest.",
5560 "maxLength": 64,
5661 "minLength": 64,
5762 "type": "string"
5863 },
64 "observation": {
65 "description": "On a retraction record: the observation that qualified it.",
66 "knownValues": [
67 "no_winner"
68 ],
69 "type": "string"
70 },
5971 "office": {
6072 "knownValues": [
6173 "H",
6274 "S",
6375 "G"
6476 ],
6577 "type": "string"
6678 },
6779 "post": {
6880 "description": "The post this record describes.",
6981 "ref": "com.atproto.repo.strongRef",
7082 "type": "ref"
7183 },
7284 "progressSha256": {
7385 "description": "Lowercase hex SHA-256 digest.",
7486 "maxLength": 64,
7587 "minLength": 64,
7688 "type": "string"
7789 },
90 "raceCallStatus": {
91 "description": "On a retraction record: the observed AP raceCallStatus.",
92 "type": "string"
93 },
7894 "raceClass": {
7995 "knownValues": [
8096 "general",
8197 "general_runoff",
8298 "special_general",
8399 "party_primary",
84100 "open_primary",
85101 "rcv_general",
86102 "nonpartisan",
87103 "nonpartisan_runoff",
88104 "all_party_primary"
89105 ],
90106 "type": "string"
91107 },
92108 "raceId": {
93109 "type": "string"
94110 },
111 "retracts": {
112 "description": "On a retraction record: the original call post.",
113 "ref": "com.atproto.repo.strongRef",
114 "type": "ref"
115 },
95116 "scope": {
96117 "type": "string"
97118 },
98119 "winner": {
99120 "knownValues": [
100121 "X",
101122 "R"
102123 ],
103124 "type": "string"
104125 }
105126 },
106127 "required": [
107128 "post",
108129 "kind",
109130 "idempotencyKey",
110131 "raceId",
111132 "candidateId",
112133 "winner",
113134 "callKind",
114135 "raceClass",
115136 "office",
116137 "calledAt",
117138 "apLastUpdated",
118139 "fetchedAt",
119140 "metadataSha256",
120141 "progressSha256",
121142 "electionDate",
122143 "scope",
123144 "botVersion",
124145 "createdAt"
125146 ],
126147 "type": "object"
127148 },
128149 "type": "record"
129150 }
130151 },
131152 "id": "tech.manos.racecalls.call",
132153 "lexicon": 1
133154}

Compare other versions