dev.gitosphere.repository.issueMutation

gitosphere-lex.bsky.social

Schema Diff

+91 -2

From

CID
bafyreidebzoo7fb...
Indexed At
2026-09-19 00:27 UTC
View this version

To

CID
bafyreigbakcjdgd...
Indexed At
2026-10-01 01:11 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

8 breaking changes, 29 non-breaking changes.

Breaking Changes (8)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.createdAt", kind: "prop", name: Some("createdAt") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.number", kind: "prop", name: Some("number") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.repositoryId", kind: "prop", name: Some("repositoryId") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.title", kind: "prop", name: Some("title") }
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.issueId", kind: "prop", name: Some("issueId") }
  • RemovedVertex RemovedVertex { vertex_id: "dev.gitosphere.repository.issue" }
  • RemovedEdge RemovedEdge { src: "dev.gitosphere.repository.issueMutation:body.initialIssue", tgt: "dev.gitosphere.repository.issue", kind: "ref", name: None }
  • ConstraintTightened ConstraintTightened { vertex_id: "dev.gitosphere.repository.issueMutation:body.initialIssue", sort: "ref", old_value: "dev.gitosphere.repository.issue", new_value: "#historicalIssue" }
Non-Breaking Changes (29)
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs:items" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.body" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.bodyDocument" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.bodyDocumentFormat" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.createdAt" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.issueId" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions:items" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.number" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.references" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.references:items" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.repositoryId" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.title" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#intent.bodyDocument" }
  • AddedVertex AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#intent.bodyDocumentFormat" }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs", kind: "prop", name: Some("blobs") }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.body", kind: "prop", name: Some("body") }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.bodyDocument", kind: "prop", name: Some("bodyDocument") }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.bodyDocumentFormat", kind: "prop", name: Some("bodyDocumentFormat") }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions", kind: "prop", name: Some("mentions") }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.references", kind: "prop", name: Some("references") }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue.references", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.references:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#intent", tgt: "dev.gitosphere.repository.issueMutation#intent.bodyDocument", kind: "prop", name: Some("bodyDocument") }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation#intent", tgt: "dev.gitosphere.repository.issueMutation#intent.bodyDocumentFormat", kind: "prop", name: Some("bodyDocumentFormat") }
  • AddedEdge AddedEdge { src: "dev.gitosphere.repository.issueMutation:body.initialIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue", kind: "ref", name: None }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "dev.gitosphere.repository.issue" }

Added Elements

  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs:items" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.body" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.bodyDocument" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.bodyDocumentFormat" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.createdAt" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.issueId" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions:items" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.number" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.references" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.references:items" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.repositoryId" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue.title" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#intent.bodyDocument" }
  • AddedVertex { vertex_id: "dev.gitosphere.repository.issueMutation#intent.bodyDocumentFormat" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "dev.gitosphere.repository.issueMutation:body.initialIssue", sort: "ref", old_value: "dev.gitosphere.repository.issue", new_value: "#historicalIssue" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.createdAt", kind: "prop", name: Some("createdAt") }
  • Breaking: RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.number", kind: "prop", name: Some("number") }
  • Breaking: RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.repositoryId", kind: "prop", name: Some("repositoryId") }
  • Breaking: RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.title", kind: "prop", name: Some("title") }
  • Breaking: RequiredEdgeAdded { vertex_id: "dev.gitosphere.repository.issueMutation#historicalIssue", src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.issueId", kind: "prop", name: Some("issueId") }
  • Breaking: RemovedEdge { src: "dev.gitosphere.repository.issueMutation:body.initialIssue", tgt: "dev.gitosphere.repository.issue", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs", kind: "prop", name: Some("blobs") }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.body", kind: "prop", name: Some("body") }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.bodyDocument", kind: "prop", name: Some("bodyDocument") }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.bodyDocumentFormat", kind: "prop", name: Some("bodyDocumentFormat") }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions", kind: "prop", name: Some("mentions") }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.references", kind: "prop", name: Some("references") }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.blobs:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.mentions:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#historicalIssue.references", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue.references:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#intent", tgt: "dev.gitosphere.repository.issueMutation#intent.bodyDocument", kind: "prop", name: Some("bodyDocument") }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation#intent", tgt: "dev.gitosphere.repository.issueMutation#intent.bodyDocumentFormat", kind: "prop", name: Some("bodyDocumentFormat") }
  • Non-breaking: AddedEdge { src: "dev.gitosphere.repository.issueMutation:body.initialIssue", tgt: "dev.gitosphere.repository.issueMutation#historicalIssue", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 +
    "historicalIssue": {
5 +
      "properties": {
6 +
        "blobs": {
7 +
          "items": {
8 +
            "accept": [
9 +
              "image/*"
10 +
            ],
11 +
            "maxSize": 1000000,
12 +
            "type": "blob"
13 +
          },
14 +
          "maxLength": 10,
15 +
          "type": "array"
16 +
        },
17 +
        "body": {
18 +
          "maxGraphemes": 10000,
19 +
          "maxLength": 100000,
20 +
          "type": "string"
21 +
        },
22 +
        "bodyDocument": {
23 +
          "maxLength": 262144,
24 +
          "type": "bytes"
25 +
        },
26 +
        "bodyDocumentFormat": {
27 +
          "knownValues": [
28 +
            "gsp-xml-zip-v1"
29 +
          ],
30 +
          "type": "string"
31 +
        },
32 +
        "createdAt": {
33 +
          "format": "datetime",
34 +
          "type": "string"
35 +
        },
36 +
        "issueId": {
37 +
          "maxLength": 36,
38 +
          "minLength": 36,
39 +
          "type": "string"
40 +
        },
41 +
        "mentions": {
42 +
          "items": {
43 +
            "format": "did",
44 +
            "type": "string"
45 +
          },
46 +
          "maxLength": 50,
47 +
          "type": "array"
48 +
        },
49 +
        "number": {
50 +
          "maximum": 9007199254740991,
51 +
          "minimum": 1,
52 +
          "type": "integer"
53 +
        },
54 +
        "references": {
55 +
          "items": {
56 +
            "format": "at-uri",
57 +
            "type": "string"
58 +
          },
59 +
          "maxLength": 50,
60 +
          "type": "array"
61 +
        },
62 +
        "repositoryId": {
63 +
          "maxLength": 36,
64 +
          "minLength": 36,
65 +
          "type": "string"
66 +
        },
67 +
        "title": {
68 +
          "maxGraphemes": 256,
69 +
          "maxLength": 2560,
70 +
          "minLength": 1,
71 +
          "type": "string"
72 +
        }
73 +
      },
74 +
      "required": [
75 +
        "issueId",
76 +
        "number",
77 +
        "title",
78 +
        "repositoryId",
79 +
        "createdAt"
80 +
      ],
81 +
      "type": "object"
82 +
    },
4 83
    "intent": {
5 84
      "properties": {
6 85
        "body": {
7 86
          "maxLength": 100000,
8 87
          "type": "string"
9 88
        },
89 +
        "bodyDocument": {
90 +
          "maxLength": 262144,
91 +
          "type": "bytes"
92 +
        },
93 +
        "bodyDocumentFormat": {
94 +
          "knownValues": [
95 +
            "gsp-xml-zip-v1"
96 +
          ],
97 +
          "type": "string"
98 +
        },
10 99
        "number": {
11 100
          "minimum": 1,
12 101
          "type": "integer"
13 102
        },
14 103
        "operation": {
15 104
          "enum": [
16 105
            "create",
17 106
            "edit",
18 107
            "state",
19 108
            "relation"
20 109
          ],
21 110
          "type": "string"
22 111
        },
23 112
        "relation": {
24 113
          "type": "string"
25 114
        },
26 115
        "relationRevision": {
27 116
          "type": "string"
28 117
        },
29 118
        "state": {
30 119
          "enum": [
31 120
            "open",
32 121
            "closed"
33 122
          ],
34 123
          "type": "string"
35 124
        },
36 125
        "target": {
37 126
          "format": "at-uri",
38 127
          "type": "string"
39 128
        },
40 129
        "title": {
41 130
          "maxLength": 2560,
42 131
          "type": "string"
43 132
        }
44 133
      },
45 134
      "required": [
46 135
        "operation"
47 136
      ],
48 137
      "type": "object"
49 138
    },
50 139
    "main": {
51 140
      "key": "any",
52 141
      "record": {
53 142
        "properties": {
54 143
          "acceptedBy": {
55 144
            "format": "did",
56 145
            "type": "string"
57 146
          },
58 147
          "actor": {
59 148
            "format": "did",
60 149
            "type": "string"
61 150
          },
62 151
          "authorizationRevision": {
63 152
            "type": "string"
64 153
          },
65 154
          "baseRevision": {
66 155
            "type": "string"
67 156
          },
68 157
          "createdAt": {
69 158
            "format": "datetime",
70 159
            "type": "string"
71 160
          },
72 161
          "initialIssue": {
73 -
            "ref": "dev.gitosphere.repository.issue",
162 +
            "ref": "#historicalIssue",
74 163
            "type": "ref"
75 164
          },
76 165
          "intent": {
77 166
            "ref": "dev.gitosphere.repository.issueMutation#intent",
78 167
            "type": "ref"
79 168
          },
80 169
          "issue": {
81 170
            "format": "at-uri",
82 171
            "type": "string"
83 172
          },
84 173
          "keyId": {
85 174
            "type": "string"
86 175
          },
87 176
          "operationId": {
88 177
            "type": "string"
89 178
          },
90 179
          "realmId": {
91 180
            "type": "string"
92 181
          },
93 182
          "receipt": {
94 183
            "type": "string"
95 184
          },
96 185
          "relationRecord": {
97 186
            "ref": "dev.gitosphere.repository.issueRelation",
98 187
            "type": "ref"
99 188
          },
100 189
          "relationRecordKey": {
101 190
            "type": "string"
102 191
          },
103 192
          "repositoryId": {
104 193
            "type": "string"
105 194
          }
106 195
        },
107 196
        "required": [
108 197
          "realmId",
109 198
          "repositoryId",
110 199
          "operationId",
111 200
          "actor",
112 201
          "authorizationRevision",
113 202
          "baseRevision",
114 203
          "issue",
115 204
          "intent",
116 205
          "createdAt",
117 206
          "keyId",
118 207
          "acceptedBy",
119 208
          "receipt"
120 209
        ],
121 210
        "type": "object"
122 211
      },
123 212
      "type": "record"
124 213
    }
125 214
  },
126 -
  "description": "Repository認可を受けたIssue変更の追記レコード。serverが受理したものだけを反映する。",
215 +
  "description": "Append-only record of an authorized Issue change. Only changes accepted by the server take effect.",
127 216
  "id": "dev.gitosphere.repository.issueMutation",
128 217
  "lexicon": 1
129 218
}

Compare Other Versions

Lexicon Garden

@