town.muni.arbiter.defs

zicklag.dev

Schema Diff

+70 -7

From

CID
bafyreicsnlvp7jo...
Indexed At
2026-05-19 19:41 UTC
View this version

To

CID
bafyreielo46hn7m...
Indexed At
2026-05-28 16:28 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 18 non-breaking changes.

Breaking Changes (2)
  • ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.defs#memberRemoteSpace.spaceKey", sort: "maxLength", value: "1024" }
  • ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.defs#memberLocalSpace.spaceKey", sort: "maxLength", value: "1024" }
Non-Breaking Changes (18)
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs:items" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.rotationKeys" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.rotationKeys:items" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.services" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.verificationMethods" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint.endpoint" }
  • AddedVertex AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint.type" }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs", kind: "prop", name: Some("alsoKnownAs") }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.rotationKeys", kind: "prop", name: Some("rotationKeys") }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.services", kind: "prop", name: Some("services") }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.verificationMethods", kind: "prop", name: Some("verificationMethods") }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs", tgt: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.defs#didDocConfig.rotationKeys", tgt: "town.muni.arbiter.defs#didDocConfig.rotationKeys:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.defs#serviceEndpoint", tgt: "town.muni.arbiter.defs#serviceEndpoint.endpoint", kind: "prop", name: Some("endpoint") }
  • AddedEdge AddedEdge { src: "town.muni.arbiter.defs#serviceEndpoint", tgt: "town.muni.arbiter.defs#serviceEndpoint.type", kind: "prop", name: Some("type") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs:items" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.rotationKeys" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.rotationKeys:items" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.services" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#didDocConfig.verificationMethods" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint.endpoint" }
  • AddedVertex { vertex_id: "town.muni.arbiter.defs#serviceEndpoint.type" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.defs#memberLocalSpace.spaceKey", sort: "maxLength", value: "1024" }
  • ConstraintAdded ConstraintAdded { vertex_id: "town.muni.arbiter.defs#memberRemoteSpace.spaceKey", sort: "maxLength", value: "1024" }

Additional Notes

  • Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs", kind: "prop", name: Some("alsoKnownAs") }
  • Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.rotationKeys", kind: "prop", name: Some("rotationKeys") }
  • Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.services", kind: "prop", name: Some("services") }
  • Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig", tgt: "town.muni.arbiter.defs#didDocConfig.verificationMethods", kind: "prop", name: Some("verificationMethods") }
  • Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs", tgt: "town.muni.arbiter.defs#didDocConfig.alsoKnownAs:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#didDocConfig.rotationKeys", tgt: "town.muni.arbiter.defs#didDocConfig.rotationKeys:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#serviceEndpoint", tgt: "town.muni.arbiter.defs#serviceEndpoint.endpoint", kind: "prop", name: Some("endpoint") }
  • Non-breaking: AddedEdge { src: "town.muni.arbiter.defs#serviceEndpoint", tgt: "town.muni.arbiter.defs#serviceEndpoint.type", kind: "prop", name: Some("type") }
1 1
{
2 2
  "id": "town.muni.arbiter.defs",
3 3
  "defs": {
4 4
    "memberDid": {
5 5
      "type": "object",
6 6
      "required": [
7 7
        "did"
8 8
      ],
9 9
      "properties": {
10 10
        "did": {
11 11
          "type": "string",
12 -
          "format": "did"
12 +
          "format": "did",
13 +
          "description": "The DID of the member."
13 14
        }
14 -
      }
15 +
      },
16 +
      "description": "A member specified directly by their DID."
15 17
    },
18 +
    "didDocConfig": {
19 +
      "type": "object",
20 +
      "required": [
21 +
        "rotationKeys",
22 +
        "verificationMethods",
23 +
        "alsoKnownAs",
24 +
        "services"
25 +
      ],
26 +
      "properties": {
27 +
        "services": {
28 +
          "type": "object",
29 +
          "properties": {},
30 +
          "description": "Map from service ID to service endpoint configuration.\nThe ID should not include a `#` prefix; it will be added when rendering\nthe DID document."
31 +
        },
32 +
        "alsoKnownAs": {
33 +
          "type": "array",
34 +
          "items": {
35 +
            "type": "string"
36 +
          },
37 +
          "description": "Priority-ordered list of URIs indicating other names or aliases\nassociated with the DID. For atproto, this should include an `at://`\nURI for the account's handle."
38 +
        },
39 +
        "rotationKeys": {
40 +
          "type": "array",
41 +
          "items": {
42 +
            "type": "string"
43 +
          },
44 +
          "description": "Priority-ordered list of public keys in `did:key` encoding.\nAt least 1 and at most 5 keys, with no duplication.\nThese keys control the DID identifier (can sign rotation operations)."
45 +
        },
46 +
        "verificationMethods": {
47 +
          "type": "object",
48 +
          "properties": {},
49 +
          "description": "Map from verification method ID to public key in `did:key` encoding.\nThe ID should not include a `#` prefix; it will be added when rendering\nthe DID document. These keys do **not** have control over the DID."
50 +
        }
51 +
      },
52 +
      "description": "Configurable fields for a DID PLC document."
53 +
    },
54 +
    "serviceEndpoint": {
55 +
      "type": "object",
56 +
      "required": [
57 +
        "type",
58 +
        "endpoint"
59 +
      ],
60 +
      "properties": {
61 +
        "type": {
62 +
          "type": "string",
63 +
          "description": "The type of the service (e.g. `AtprotoPersonalDataServer`)."
64 +
        },
65 +
        "endpoint": {
66 +
          "type": "string",
67 +
          "description": "The endpoint URL (e.g. `https://pds.example.com`)."
68 +
        }
69 +
      },
70 +
      "description": "A service endpoint entry within a DID document's `services` field.\n\nMaps a service ID (e.g. `atproto_pds`) to its type and URL.\nPer the DID PLC spec, the service ID should not include a `#` prefix;\nthe `#` will be added when rendering the DID document."
71 +
    },
16 72
    "memberLocalSpace": {
17 73
      "type": "object",
18 74
      "required": [
19 75
        "spaceKey"
20 76
      ],
21 77
      "properties": {
22 78
        "spaceKey": {
23 -
          "type": "string"
79 +
          "type": "string",
80 +
          "maxLength": 1024,
81 +
          "description": "The key of the space on this arbiter."
24 82
        }
25 -
      }
83 +
      },
84 +
      "description": "A member representing all of the members of another space that is on this arbiter."
26 85
    },
27 86
    "memberRemoteSpace": {
28 87
      "type": "object",
29 88
      "required": [
30 89
        "arbiterDid",
31 90
        "spaceKey"
32 91
      ],
33 92
      "properties": {
34 93
        "spaceKey": {
35 -
          "type": "string"
94 +
          "type": "string",
95 +
          "maxLength": 1024,
96 +
          "description": "The key of the space on the remote arbiter."
36 97
        },
37 98
        "arbiterDid": {
38 99
          "type": "string",
39 -
          "format": "did"
100 +
          "format": "did",
101 +
          "description": "The DID of the remote arbiter."
40 102
        }
41 -
      }
103 +
      },
104 +
      "description": "A member representing all of the members of another space on another arbiter."
42 105
    }
43 106
  },
44 107
  "$type": "com.atproto.lexicon.schema",
45 108
  "lexicon": 1
46 109
}

Compare Other Versions

Lexicon Garden

@