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)
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.location#string.string", sort: "maxGraphemes", value: "1000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.location#string.string", sort: "maxLength", value: "10000" }
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#string", tgt: "app.certified.location#string.string", kind: "prop", name: Some("string") }
  • AddedEdge AddedEdge { src: "app.certified.location:body.location", tgt: "app.certified.location:body.location:variant2", kind: "variant", name: Some("#string") }

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

  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.location#string.string", sort: "maxLength", value: "10000" }
  • ConstraintAdded ConstraintAdded { vertex_id: "app.certified.location#string.string", sort: "maxGraphemes", value: "1000" }

Additional Notes

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

Compare Other Versions

Lexicon Garden

@