org.hypercerts.collection

hypercerts.org

Schema Diff

+15 -1

From

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

To

CID
bafyreia3fmqscic...
Indexed At
2026-09-02 06:29 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 9 non-breaking changes.

Non-Breaking Changes (9)
  • AddedVertex AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.collection:body.signatures" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.collection:body.tags" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.collection:body.tags:items" }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body", tgt: "org.hypercerts.collection:body.signatures", kind: "prop", name: Some("signatures") }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body", tgt: "org.hypercerts.collection:body.tags", kind: "prop", name: Some("tags") }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.tags", tgt: "org.hypercerts.collection:body.tags:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.collection:body.tags:items", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex { vertex_id: "org.hypercerts.collection:body.signatures" }
  • AddedVertex { vertex_id: "org.hypercerts.collection:body.tags" }
  • AddedVertex { vertex_id: "org.hypercerts.collection:body.tags:items" }

Additional Notes

  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body", tgt: "org.hypercerts.collection:body.signatures", kind: "prop", name: Some("signatures") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body", tgt: "org.hypercerts.collection:body.tags", kind: "prop", name: Some("tags") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.tags", tgt: "org.hypercerts.collection:body.tags:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.collection:body.tags:items", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "item": {
5 5
      "description": "An item in a collection, with an identifier and optional weight.",
6 6
      "properties": {
7 7
        "itemIdentifier": {
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 +
          "description": "Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity), features (org.hypercerts.entity.feature), and/or other collections (org.hypercerts.collection).",
9 9
          "ref": "com.atproto.repo.strongRef",
10 10
          "type": "ref"
11 11
        },
12 12
        "itemWeight": {
13 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.",
14 14
          "maxLength": 100,
15 15
          "type": "string"
16 16
        }
17 17
      },
18 18
      "required": [
19 19
        "itemIdentifier"
20 20
      ],
21 21
      "type": "object"
22 22
    },
23 23
    "main": {
24 24
      "description": "A collection/group of items (activities and/or other collections). Collections support recursive nesting.",
25 25
      "key": "tid",
26 26
      "record": {
27 27
        "properties": {
28 28
          "avatar": {
29 29
            "description": "The collection's avatar/profile image as a URI or image blob.",
30 30
            "refs": [
31 31
              "org.hypercerts.defs#uri",
32 32
              "org.hypercerts.defs#smallImage"
33 33
            ],
34 34
            "type": "union"
35 35
          },
36 36
          "banner": {
37 37
            "description": "Larger horizontal image to display behind the collection view.",
38 38
            "refs": [
39 39
              "org.hypercerts.defs#uri",
40 40
              "org.hypercerts.defs#largeImage"
41 41
            ],
42 42
            "type": "union"
43 43
          },
44 44
          "createdAt": {
45 45
            "description": "Client-declared timestamp when this record was originally created",
46 46
            "format": "datetime",
47 47
            "type": "string"
48 48
          },
49 49
          "description": {
50 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 51
            "refs": [
52 52
              "org.hypercerts.defs#descriptionString",
53 53
              "pub.leaflet.pages.linearDocument",
54 54
              "com.atproto.repo.strongRef"
55 55
            ],
56 56
            "type": "union"
57 57
          },
58 58
          "items": {
59 59
            "description": "Array of items in this collection with optional weights.",
60 60
            "items": {
61 61
              "ref": "#item",
62 62
              "type": "ref"
63 63
            },
64 64
            "maxLength": 1000,
65 65
            "type": "array"
66 66
          },
67 67
          "location": {
68 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.",
69 69
            "ref": "com.atproto.repo.strongRef",
70 70
            "type": "ref"
71 71
          },
72 72
          "shortDescription": {
73 73
            "description": "Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.",
74 74
            "maxGraphemes": 300,
75 75
            "maxLength": 3000,
76 76
            "type": "string"
77 77
          },
78 78
          "shortDescriptionFacets": {
79 79
            "description": "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).",
80 80
            "items": {
81 81
              "ref": "app.bsky.richtext.facet",
82 82
              "type": "ref"
83 83
            },
84 84
            "type": "array"
85 85
          },
86 +
          "signatures": {
87 +
            "description": "Optional cryptographic signatures attesting to this record's content.",
88 +
            "ref": "app.certified.signature.defs#list",
89 +
            "type": "ref"
90 +
          },
91 +
          "tags": {
92 +
            "description": "References to org.hypercerts.vocab.tag records classifying this record. All listed tags apply simultaneously (logical AND); the array carries no ordering, weighting, negation, inheritance, or rule logic, and never will — any future expression logic must arrive as a new field and must never reinterpret this one.",
93 +
            "items": {
94 +
              "ref": "com.atproto.repo.strongRef",
95 +
              "type": "ref"
96 +
            },
97 +
            "maxLength": 20,
98 +
            "type": "array"
99 +
          },
86 100
          "title": {
87 101
            "description": "Display name for this collection (e.g. 'Q1 2025 Impact Projects')",
88 102
            "maxGraphemes": 80,
89 103
            "maxLength": 800,
90 104
            "type": "string"
91 105
          },
92 106
          "type": {
93 107
            "description": "The type of this collection. Values beyond the known set are permitted.",
94 108
            "knownValues": [
95 109
              "favorites",
96 110
              "project",
97 111
              "portfolio",
98 112
              "program"
99 113
            ],
100 114
            "maxLength": 64,
101 115
            "type": "string"
102 116
          }
103 117
        },
104 118
        "required": [
105 119
          "title",
106 120
          "createdAt"
107 121
        ],
108 122
        "type": "object"
109 123
      },
110 124
      "type": "record"
111 125
    }
112 126
  },
113 127
  "id": "org.hypercerts.collection",
114 128
  "lexicon": 1
115 129
}

Compare Other Versions

Lexicon Garden

@