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