app.certified.location

certified.app

Schema Diff

+28 -6

From

CID
bafyreiamjvk2vvl...
Indexed At
2026-02-18 18:02 UTC
View this version

To

CID
bafyreidnzohbhlx...
Indexed At
2026-03-19 20:24 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

2 breaking changes, 5 non-breaking changes.

Breaking Changes (2)
  • RequiredEdgeAdded RequiredEdgeAdded { vertex_id: "app.certified.location#string", src: "app.certified.location#string", tgt: "app.certified.location#string.string", kind: "prop", name: Some("string") }
  • ConstraintTightened ConstraintTightened { vertex_id: "app.certified.location:body.locationType", sort: "knownValues", old_value: "[\"coordinate-decimal\",\"geojson-point\"]", new_value: "[\"coordinate-decimal\",\"geojson-point\",\"geojson\",\"h3\",\"geohash\",\"wkt\",\"address\",\"scaledCoordinates\"]" }
Non-Breaking Changes (5)
  • AddedVertex AddedVertex { vertex_id: "app.certified.location#string" }
  • AddedVertex AddedVertex { vertex_id: "app.certified.location#string.string" }
  • AddedVertex AddedVertex { vertex_id: "app.certified.location:body.location:variant2" }
  • AddedEdge AddedEdge { src: "app.certified.location:body.location", tgt: "app.certified.location:body.location:variant2", kind: "variant", name: Some("#string") }
  • AddedEdge AddedEdge { src: "app.certified.location:body.location:variant2", tgt: "app.certified.location#string", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.certified.location#string" }
  • AddedVertex { vertex_id: "app.certified.location#string.string" }
  • AddedVertex { vertex_id: "app.certified.location:body.location:variant2" }

Constraint Changes

  • ConstraintTightened ConstraintTightened { vertex_id: "app.certified.location:body.locationType", sort: "knownValues", old_value: "[\"coordinate-decimal\",\"geojson-point\"]", new_value: "[\"coordinate-decimal\",\"geojson-point\",\"geojson\",\"h3\",\"geohash\",\"wkt\",\"address\",\"scaledCoordinates\"]" }

Additional Notes

  • Breaking: RequiredEdgeAdded { vertex_id: "app.certified.location#string", src: "app.certified.location#string", tgt: "app.certified.location#string.string", kind: "prop", name: Some("string") }
  • Non-breaking: AddedEdge { src: "app.certified.location:body.location", tgt: "app.certified.location:body.location:variant2", kind: "variant", name: Some("#string") }
  • Non-breaking: AddedEdge { src: "app.certified.location:body.location:variant2", tgt: "app.certified.location#string", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "main": {
5 5
      "description": "A location reference",
6 6
      "key": "tid",
7 7
      "record": {
8 8
        "properties": {
9 9
          "createdAt": {
10 10
            "description": "Client-declared timestamp when this record was originally created",
11 11
            "format": "datetime",
12 12
            "type": "string"
13 13
          },
14 14
          "description": {
15 -
            "description": "Optional description for this location",
15 +
            "description": "Additional context about this location, such as its significance to the work or specific boundaries",
16 16
            "maxGraphemes": 500,
17 17
            "maxLength": 2000,
18 18
            "type": "string"
19 19
          },
20 20
          "location": {
21 -
            "description": "The location of where the work was performed as a URI or blob.",
21 +
            "description": "The location of where the work was performed as a URI, blob, or inline string.",
22 22
            "refs": [
23 23
              "org.hypercerts.defs#uri",
24 -
              "org.hypercerts.defs#smallBlob"
24 +
              "org.hypercerts.defs#smallBlob",
25 +
              "#string"
25 26
            ],
26 27
            "type": "union"
27 28
          },
28 29
          "locationType": {
29 -
            "description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)",
30 +
            "description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry",
30 31
            "knownValues": [
31 32
              "coordinate-decimal",
32 -
              "geojson-point"
33 +
              "geojson-point",
34 +
              "geojson",
35 +
              "h3",
36 +
              "geohash",
37 +
              "wkt",
38 +
              "address",
39 +
              "scaledCoordinates"
33 40
            ],
34 41
            "maxLength": 20,
35 42
            "type": "string"
36 43
          },
37 44
          "lpVersion": {
38 45
            "description": "The version of the Location Protocol",
39 46
            "maxLength": 10,
40 47
            "type": "string"
41 48
          },
42 49
          "name": {
43 -
            "description": "Optional name for this location",
50 +
            "description": "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')",
44 51
            "maxGraphemes": 100,
45 52
            "maxLength": 1000,
46 53
            "type": "string"
47 54
          },
48 55
          "srs": {
49 56
            "description": "The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system.",
50 57
            "format": "uri",
51 58
            "maxLength": 100,
52 59
            "type": "string"
53 60
          }
54 61
        },
55 62
        "required": [
56 63
          "lpVersion",
57 64
          "srs",
58 65
          "locationType",
59 66
          "location",
60 67
          "createdAt"
61 68
        ],
62 69
        "type": "object"
63 70
      },
64 71
      "type": "record"
72 +
    },
73 +
    "string": {
74 +
      "description": "A location represented as a string, e.g. coordinates or a small GeoJSON string.",
75 +
      "properties": {
76 +
        "string": {
77 +
          "description": "The location string value",
78 +
          "maxGraphemes": 1000,
79 +
          "maxLength": 10000,
80 +
          "type": "string"
81 +
        }
82 +
      },
83 +
      "required": [
84 +
        "string"
85 +
      ],
86 +
      "type": "object"
65 87
    }
66 88
  },
67 89
  "id": "app.certified.location",
68 90
  "lexicon": 1
69 91
}

Compare Other Versions

Lexicon Garden

@