me.byjp.pesos.sts2.run

byjp.me

Schema Diff

+14 -15

From

CID
bafyreiclmkl6y4g...
Indexed At
2026-04-15 22:03 UTC
View this version

To

CID
bafyreic35ix56xo...
Indexed At
2026-04-16 07:54 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

9 breaking changes, 9 non-breaking changes.

Breaking Changes (9)
  • RemovedVertex RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.createdAt" }
  • RemovedVertex RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct" }
  • RemovedVertex RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.finalFloor" }
  • RemovedEdge RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.createdAt", kind: "prop", name: Some("createdAt") }
  • RemovedEdge RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.finalAct", kind: "prop", name: Some("finalAct") }
  • RemovedEdge RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.finalFloor", kind: "prop", name: Some("finalFloor") }
  • ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.act", sort: "maximum", value: "4" }
  • ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.act", sort: "minimum", value: "1" }
  • ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.floor", sort: "minimum", value: "0" }
Non-Breaking Changes (9)
  • AddedVertex AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.act" }
  • AddedVertex AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.floor" }
  • AddedVertex AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.updatedAt" }
  • AddedEdge AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.act", kind: "prop", name: Some("act") }
  • AddedEdge AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.floor", kind: "prop", name: Some("floor") }
  • AddedEdge AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.updatedAt", kind: "prop", name: Some("updatedAt") }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct", sort: "maximum" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct", sort: "minimum" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalFloor", sort: "minimum" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.createdAt" }
  • RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct" }
  • RemovedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.finalFloor" }

Added Elements

  • AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.act" }
  • AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.floor" }
  • AddedVertex { vertex_id: "me.byjp.pesos.sts2.run:body.updatedAt" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.act", sort: "maximum", value: "4" }
  • ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.act", sort: "minimum", value: "1" }
  • ConstraintAdded ConstraintAdded { vertex_id: "me.byjp.pesos.sts2.run:body.floor", sort: "minimum", value: "0" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct", sort: "maximum" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalAct", sort: "minimum" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "me.byjp.pesos.sts2.run:body.finalFloor", sort: "minimum" }

Additional Notes

  • Breaking: RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.finalAct", kind: "prop", name: Some("finalAct") }
  • Breaking: RemovedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.finalFloor", kind: "prop", name: Some("finalFloor") }
  • Non-breaking: AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.act", kind: "prop", name: Some("act") }
  • Non-breaking: AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.floor", kind: "prop", name: Some("floor") }
  • Non-breaking: AddedEdge { src: "me.byjp.pesos.sts2.run:body", tgt: "me.byjp.pesos.sts2.run:body.updatedAt", kind: "prop", name: Some("updatedAt") }
1 1
{
2 2
  "id": "me.byjp.pesos.sts2.run",
3 3
  "defs": {
4 4
    "main": {
5 5
      "key": "tid",
6 6
      "type": "record",
7 7
      "record": {
8 8
        "type": "object",
9 9
        "required": [
10 10
          "outcome",
11 11
          "character",
12 12
          "ascension",
13 13
          "seed",
14 -
          "finalFloor",
15 14
          "startedAt",
16 -
          "endedAt",
17 -
          "createdAt"
15 +
          "updatedAt"
18 16
        ],
19 17
        "properties": {
18 +
          "act": {
19 +
            "type": "integer",
20 +
            "maximum": 4,
21 +
            "minimum": 1
22 +
          },
20 23
          "deck": {
21 24
            "type": "array",
22 25
            "items": {
23 26
              "type": "string"
24 27
            },
25 28
            "description": "Card ids in the final deck."
26 29
          },
27 30
          "game": {
28 31
            "type": "string",
29 32
            "format": "at-uri",
30 33
            "description": "Optional at-uri of the canonical games.gamesgamesgamesgames.actor.game record for StS2."
31 34
          },
32 35
          "seed": {
33 36
            "type": "string",
34 37
            "description": "Run seed as displayed in-game."
35 38
          },
39 +
          "floor": {
40 +
            "type": "integer",
41 +
            "minimum": 0
42 +
          },
36 43
          "score": {
37 44
            "type": "integer",
38 45
            "minimum": 0
39 46
          },
40 47
          "relics": {
41 48
            "type": "array",
42 49
            "items": {
43 50
              "type": "string"
44 51
            },
45 52
            "description": "Relic ids held at run end."
46 53
          },
47 54
          "endedAt": {
48 55
            "type": "string",
49 56
            "format": "datetime"
50 57
          },
51 58
          "outcome": {
52 59
            "type": "string",
53 60
            "description": "How the run ended.",
54 61
            "knownValues": [
62 +
              "in_progress",
55 63
              "victory",
56 64
              "death",
57 65
              "abandoned"
58 66
            ]
59 67
          },
60 -
          "finalAct": {
61 -
            "type": "integer",
62 -
            "maximum": 4,
63 -
            "minimum": 1
64 -
          },
65 68
          "killedBy": {
66 69
            "type": "string",
67 70
            "description": "Enemy / event that ended the run, if applicable."
68 71
          },
69 72
          "statsRef": {
70 73
            "type": "string",
71 74
            "format": "at-uri",
72 75
            "description": "at-uri of the user's games.gamesgamesgamesgames.actor.stats record for StS2, updated alongside this run."
73 76
          },
74 77
          "ascension": {
75 78
            "type": "integer",
76 79
            "maximum": 20,
77 80
            "minimum": 0
78 81
          },
79 82
          "character": {
80 83
            "type": "string",
81 84
            "description": "Character class id (e.g. 'ironclad', 'silent')."
82 85
          },
83 -
          "createdAt": {
86 +
          "startedAt": {
84 87
            "type": "string",
85 88
            "format": "datetime"
86 89
          },
87 -
          "startedAt": {
90 +
          "updatedAt": {
88 91
            "type": "string",
89 92
            "format": "datetime"
90 93
          },
91 -
          "finalFloor": {
92 -
            "type": "integer",
93 -
            "minimum": 0
94 -
          },
95 94
          "modVersion": {
96 95
            "type": "string"
97 96
          },
98 97
          "gameVersion": {
99 98
            "type": "string"
100 99
          },
101 100
          "durationSeconds": {
102 101
            "type": "integer",
103 102
            "minimum": 0
104 103
          }
105 104
        }
106 105
      },
107 -
      "description": "A single completed Slay the Spire 2 run."
106 +
      "description": "A single Slay the Spire 2 run."
108 107
    }
109 108
  },
110 109
  "$type": "com.atproto.lexicon.schema",
111 110
  "lexicon": 1
112 111
}

Compare Other Versions

Lexicon Garden

@