ink.igav.galaxius.temp.period

galaxius-gm.igav.ink

Schema Diff

+5 -0

From

CID
bafyreihjyztqlju...
Indexed At
2026-10-06 07:24 UTC
View this version

To

CID
bafyreigfuxepelw...
Indexed At
2026-10-06 09:56 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 3 non-breaking changes.

Non-Breaking Changes (3)
  • AddedVertex AddedVertex { vertex_id: "ink.igav.galaxius.temp.period#keyChange.join" }
  • AddedEdge AddedEdge { src: "ink.igav.galaxius.temp.period#keyChange", tgt: "ink.igav.galaxius.temp.period#keyChange.join", kind: "prop", name: Some("join") }
  • AddedEdge AddedEdge { src: "ink.igav.galaxius.temp.period#keyChange.join", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "ink.igav.galaxius.temp.period#keyChange.join" }

Additional Notes

  • Non-breaking: AddedEdge { src: "ink.igav.galaxius.temp.period#keyChange", tgt: "ink.igav.galaxius.temp.period#keyChange.join", kind: "prop", name: Some("join") }
  • Non-breaking: AddedEdge { src: "ink.igav.galaxius.temp.period#keyChange.join", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "keyChange": {
5 5
      "properties": {
6 +
        "join": {
7 +
          "description": "The join record that brought the new key.",
8 +
          "ref": "com.atproto.repo.strongRef",
9 +
          "type": "ref"
10 +
        },
6 11
        "seat": {
7 12
          "description": "The seat whose key changed.",
8 13
          "minimum": 1,
9 14
          "type": "integer"
10 15
        },
11 16
        "sessionKey": {
12 17
          "description": "The seat's new Ed25519 public key as a did:key multikey.",
13 18
          "maxLength": 128,
14 19
          "type": "string"
15 20
        }
16 21
      },
17 22
      "required": [
18 23
        "seat",
19 24
        "sessionKey"
20 25
      ],
21 26
      "type": "object"
22 27
    },
23 28
    "main": {
24 29
      "description": "A period record, written by the game master; a link in a game's ledger.",
25 30
      "key": "any",
26 31
      "record": {
27 32
        "properties": {
28 33
          "batch": {
29 34
            "accept": [
30 35
              "application/gzip"
31 36
            ],
32 37
            "description": "The batch blob: the period's lines (envelopes, bot orders, refusals, key changes) as gzip-compressed JSON Lines.",
33 38
            "maxSize": 1000000,
34 39
            "type": "blob"
35 40
          },
36 41
          "encryption": {
37 42
            "description": "An encryption descriptor, absent in sandbox games until M4.",
38 43
            "type": "unknown"
39 44
          },
40 45
          "game": {
41 46
            "description": "A strongRef to the game this period belongs to.",
42 47
            "ref": "com.atproto.repo.strongRef",
43 48
            "type": "ref"
44 49
          },
45 50
          "index": {
46 51
            "description": "The period's index, from zero.",
47 52
            "minimum": 0,
48 53
            "type": "integer"
49 54
          },
50 55
          "keyChanges": {
51 56
            "description": "The session key changes that took effect during this period.",
52 57
            "items": {
53 58
              "ref": "#keyChange",
54 59
              "type": "ref"
55 60
            },
56 61
            "maxLength": 100,
57 62
            "type": "array"
58 63
          },
59 64
          "previous": {
60 65
            "description": "A strongRef to the previous period; absent for period zero.",
61 66
            "ref": "com.atproto.repo.strongRef",
62 67
            "type": "ref"
63 68
          },
64 69
          "secret": {
65 70
            "description": "The secret for this period, revealed here as 64 lowercase hex digits; hashing it gives the previous link's commitment.",
66 71
            "maxLength": 64,
67 72
            "type": "string"
68 73
          },
69 74
          "stateRoot": {
70 75
            "description": "The root of the state after the period's last tick, as 64 lowercase hex digits.",
71 76
            "maxLength": 64,
72 77
            "type": "string"
73 78
          },
74 79
          "ticks": {
75 80
            "description": "The tick range the period covers.",
76 81
            "ref": "#tickRange",
77 82
            "type": "ref"
78 83
          }
79 84
        },
80 85
        "required": [
81 86
          "game",
82 87
          "index",
83 88
          "ticks",
84 89
          "stateRoot",
85 90
          "batch",
86 91
          "secret",
87 92
          "keyChanges"
88 93
        ],
89 94
        "type": "object"
90 95
      },
91 96
      "type": "record"
92 97
    },
93 98
    "tickRange": {
94 99
      "properties": {
95 100
        "from": {
96 101
          "description": "The first tick the period covers.",
97 102
          "minimum": 0,
98 103
          "type": "integer"
99 104
        },
100 105
        "to": {
101 106
          "description": "The last tick the period covers.",
102 107
          "minimum": 0,
103 108
          "type": "integer"
104 109
        }
105 110
      },
106 111
      "required": [
107 112
        "from",
108 113
        "to"
109 114
      ],
110 115
      "type": "object"
111 116
    }
112 117
  },
113 118
  "description": "One published period of a Galaxius game: the orders batch, the revealed secret and the state it produced.",
114 119
  "id": "ink.igav.galaxius.temp.period",
115 120
  "lexicon": 1
116 121
}

Compare Other Versions

Lexicon Garden

@