com.tomplanche.atkuzu.stats

tomplanche.com

Schema Diff

+4 -0

From

CID
bafyreiclse3pivh...
Indexed At
2026-09-04 14:48 UTC
View this version

To

CID
bafyreieucg5qmni...
Indexed At
2026-09-04 15:13 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@