org.hypercerts.collection

hypercerts.org

Schema Diff

+24 -5

From

CID
bafyreigxp6ciklu...
Indexed At
2026-03-19 20:27 UTC
View this version

To

CID
bafyreig67sglwt6...
Indexed At
2026-04-07 22:42 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

4 breaking changes, 18 non-breaking changes.

Breaking Changes (4)
  • RemovedVertex RemovedVertex { vertex_id: "pub.leaflet.pages.linearDocument#main" }
  • RemovedEdge RemovedEdge { src: "org.hypercerts.collection:body.description", tgt: "pub.leaflet.pages.linearDocument#main", kind: "ref", name: None }
  • KindChanged KindChanged { vertex_id: "org.hypercerts.collection:body.description", old_kind: "ref", new_kind: "union" }
  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.collection:body.type", sort: "knownValues", value: "[\"favorites\",\"project\",\"portfolio\",\"program\"]" }
Non-Breaking Changes (18)
  • AddedVertex AddedVertex { vertex_id: "app.bsky.richtext.facet" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.collection:body.description:variant0" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.collection:body.description:variant1" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.collection:body.description:variant2" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.collection:body.shortDescriptionFacets" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.collection:body.shortDescriptionFacets:items" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString" }
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.pages.linearDocument" }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body", tgt: "org.hypercerts.collection:body.shortDescriptionFacets", kind: "prop", name: Some("shortDescriptionFacets") }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.description", tgt: "org.hypercerts.collection:body.description:variant0", kind: "variant", name: Some("org.hypercerts.defs#descriptionString") }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.description", tgt: "org.hypercerts.collection:body.description:variant1", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.description", tgt: "org.hypercerts.collection:body.description:variant2", kind: "variant", name: Some("com.atproto.repo.strongRef") }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.description:variant0", tgt: "org.hypercerts.defs#descriptionString", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.description:variant1", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.description:variant2", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.shortDescriptionFacets", tgt: "org.hypercerts.collection:body.shortDescriptionFacets:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.shortDescriptionFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "org.hypercerts.collection:body.description", sort: "ref" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "pub.leaflet.pages.linearDocument#main" }

Added Elements

  • AddedVertex { vertex_id: "app.bsky.richtext.facet" }
  • AddedVertex { vertex_id: "org.hypercerts.collection:body.description:variant0" }
  • AddedVertex { vertex_id: "org.hypercerts.collection:body.description:variant1" }
  • AddedVertex { vertex_id: "org.hypercerts.collection:body.description:variant2" }
  • AddedVertex { vertex_id: "org.hypercerts.collection:body.shortDescriptionFacets" }
  • AddedVertex { vertex_id: "org.hypercerts.collection:body.shortDescriptionFacets:items" }
  • AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString" }
  • AddedVertex { vertex_id: "pub.leaflet.pages.linearDocument" }

Constraint Changes

  • ConstraintAdded ConstraintAdded { vertex_id: "org.hypercerts.collection:body.type", sort: "knownValues", value: "[\"favorites\",\"project\",\"portfolio\",\"program\"]" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "org.hypercerts.collection:body.description", sort: "ref" }

Additional Notes

  • Breaking: RemovedEdge { src: "org.hypercerts.collection:body.description", tgt: "pub.leaflet.pages.linearDocument#main", kind: "ref", name: None }
  • Breaking: KindChanged { vertex_id: "org.hypercerts.collection:body.description", old_kind: "ref", new_kind: "union" }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body", tgt: "org.hypercerts.collection:body.shortDescriptionFacets", kind: "prop", name: Some("shortDescriptionFacets") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.description", tgt: "org.hypercerts.collection:body.description:variant0", kind: "variant", name: Some("org.hypercerts.defs#descriptionString") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.description", tgt: "org.hypercerts.collection:body.description:variant1", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.description", tgt: "org.hypercerts.collection:body.description:variant2", kind: "variant", name: Some("com.atproto.repo.strongRef") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.description:variant0", tgt: "org.hypercerts.defs#descriptionString", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.description:variant1", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.description:variant2", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.shortDescriptionFacets", tgt: "org.hypercerts.collection:body.shortDescriptionFacets:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.shortDescriptionFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "item": {
5 +
      "description": "An item in a collection, with an identifier and optional weight.",
5 6
      "properties": {
6 7
        "itemIdentifier": {
7 8
          "description": "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection).",
8 9
          "ref": "com.atproto.repo.strongRef",
9 10
          "type": "ref"
10 11
        },
11 12
        "itemWeight": {
12 13
          "description": "Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.",
13 14
          "maxLength": 100,
14 15
          "type": "string"
15 16
        }
16 17
      },
17 18
      "required": [
18 19
        "itemIdentifier"
19 20
      ],
20 21
      "type": "object"
21 22
    },
22 23
    "main": {
23 24
      "description": "A collection/group of items (activities and/or other collections). Collections support recursive nesting.",
24 25
      "key": "tid",
25 26
      "record": {
26 27
        "properties": {
27 28
          "avatar": {
28 29
            "description": "The collection's avatar/profile image as a URI or image blob.",
29 30
            "refs": [
30 31
              "org.hypercerts.defs#uri",
31 32
              "org.hypercerts.defs#smallImage"
32 33
            ],
33 34
            "type": "union"
34 35
          },
35 36
          "banner": {
36 37
            "description": "Larger horizontal image to display behind the collection view.",
37 38
            "refs": [
38 39
              "org.hypercerts.defs#uri",
39 40
              "org.hypercerts.defs#largeImage"
40 41
            ],
41 42
            "type": "union"
42 43
          },
43 44
          "createdAt": {
44 45
            "description": "Client-declared timestamp when this record was originally created",
45 46
            "format": "datetime",
46 47
            "type": "string"
47 48
          },
48 49
          "description": {
49 -
            "description": "Rich-text description, represented as a Leaflet linear document.",
50 -
            "ref": "pub.leaflet.pages.linearDocument#main",
51 -
            "type": "ref"
50 +
            "description": "Long-form description of the collection. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record.",
51 +
            "refs": [
52 +
              "org.hypercerts.defs#descriptionString",
53 +
              "pub.leaflet.pages.linearDocument",
54 +
              "com.atproto.repo.strongRef"
55 +
            ],
56 +
            "type": "union"
52 57
          },
53 58
          "items": {
54 59
            "description": "Array of items in this collection with optional weights.",
55 60
            "items": {
56 61
              "ref": "#item",
57 62
              "type": "ref"
58 63
            },
59 64
            "maxLength": 1000,
60 65
            "type": "array"
61 66
          },
62 67
          "location": {
63 68
            "description": "A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location.",
64 69
            "ref": "com.atproto.repo.strongRef",
65 70
            "type": "ref"
66 71
          },
67 72
          "shortDescription": {
68 -
            "description": "Short summary of this collection, suitable for previews and list views",
73 +
            "description": "Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.",
69 74
            "maxGraphemes": 300,
70 75
            "maxLength": 3000,
71 76
            "type": "string"
72 77
          },
78 +
          "shortDescriptionFacets": {
79 +
            "description": "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).",
80 +
            "items": {
81 +
              "ref": "app.bsky.richtext.facet",
82 +
              "type": "ref"
83 +
            },
84 +
            "type": "array"
85 +
          },
73 86
          "title": {
74 87
            "description": "Display name for this collection (e.g. 'Q1 2025 Impact Projects')",
75 88
            "maxGraphemes": 80,
76 89
            "maxLength": 800,
77 90
            "type": "string"
78 91
          },
79 92
          "type": {
80 -
            "description": "The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection.",
93 +
            "description": "The type of this collection. Values beyond the known set are permitted.",
94 +
            "knownValues": [
95 +
              "favorites",
96 +
              "project",
97 +
              "portfolio",
98 +
              "program"
99 +
            ],
81 100
            "maxLength": 64,
82 101
            "type": "string"
83 102
          }
84 103
        },
85 104
        "required": [
86 105
          "title",
87 106
          "createdAt"
88 107
        ],
89 108
        "type": "object"
90 109
      },
91 110
      "type": "record"
92 111
    }
93 112
  },
94 113
  "id": "org.hypercerts.collection",
95 114
  "lexicon": 1
96 115
}

Compare Other Versions

Lexicon Garden

@