com.tomplanche.atkuzu.stats
Schema Diff
+4 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "com.tomplanche.atkuzu.stats:body.test" }
- AddedEdge AddedEdge { src: "com.tomplanche.atkuzu.stats:body", tgt: "com.tomplanche.atkuzu.stats:body.test", kind: "prop", name: Some("test") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "com.tomplanche.atkuzu.stats:body.test" }
Additional Notes
- Non-breaking: AddedEdge { src: "com.tomplanche.atkuzu.stats:body", tgt: "com.tomplanche.atkuzu.stats:body.test", kind: "prop", name: Some("test") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A single, mutable per-account streak/stats record, edited in place like a profile. It also doubles as atkuzu's declaration / signaling record: its presence signals that an account plays atkuzu, and its deletion signals opt-out. Created on first play, even before any stats accrue.",
6
6
"key": "literal:self",
7
7
"record": {
8
8
"properties": {
9
9
"currentStreak": {
10
10
"description": "Consecutive solved puzzles up to the most recent played puzzle.",
11
11
"minimum": 0,
12
12
"type": "integer"
13
13
},
14
14
"gamesPlayed": {
15
15
"description": "Total puzzles completed (solved or not).",
16
16
"minimum": 0,
17
17
"type": "integer"
18
18
},
19
19
"gamesWon": {
20
20
"description": "Total puzzles solved.",
21
21
"minimum": 0,
22
22
"type": "integer"
23
23
},
24
24
"lastPuzzleNumber": {
25
25
"description": "Puzzle number of the most recent completed puzzle, used to detect streak breaks.",
26
26
"minimum": 1,
27
27
"type": "integer"
28
28
},
29
29
"maxStreak": {
30
30
"description": "Longest streak ever achieved.",
31
31
"minimum": 0,
32
32
"type": "integer"
33
33
},
34
+
"test": {
35
+
"description": "True if the current values reflect test writes only, not real completions. Since this record is a singleton (`self`), a real write always overwrites a test one and omits this field.",
36
+
"type": "boolean"
37
+
},
34
38
"updatedAt": {
35
39
"description": "When this record was last updated.",
36
40
"format": "datetime",
37
41
"type": "string"
38
42
}
39
43
},
40
44
"required": [
41
45
"updatedAt"
42
46
],
43
47
"type": "object"
44
48
},
45
49
"type": "record"
46
50
}
47
51
},
48
52
"id": "com.tomplanche.atkuzu.stats",
49
53
"lexicon": 1
50
54
}