org.simocracy.gathering
Schema Diff
+18 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 4 non-breaking changes.
Non-Breaking Changes (4)
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.logo" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.visibility" }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.logo", kind: "prop", name: Some("logo") }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.visibility", kind: "prop", name: Some("visibility") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "org.simocracy.gathering:body.logo" }AddedVertex { vertex_id: "org.simocracy.gathering:body.visibility" }
Additional Notes
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.logo", kind: "prop", name: Some("logo") }
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.visibility", kind: "prop", name: Some("visibility") }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A governance or funding event that users can create and participate in.",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"allocationMechanism": {
10
10
"description": "The mechanism used to allocate the treasury among proposals.",
11
11
"knownValues": [
12
12
"quadratic-funding",
13
13
"s-process",
14
14
"condorcet"
15
15
],
16
16
"type": "string"
17
17
},
18
18
"appRoute": {
19
19
"description": "Internal app route path (e.g. /senate, /ftc-sf) for built-in events",
20
20
"maxLength": 1000,
21
21
"type": "string"
22
22
},
23
23
"buildingImageUrl": {
24
24
"description": "URL of the building/venue image for this gathering. Can be an absolute URL or a path relative to the app (e.g. /senate.png, /frontiertower.webp).",
25
25
"maxLength": 5000,
26
26
"type": "string"
27
27
},
28
28
"collectionUri": {
29
29
"description": "AT-URI of an org.hypercerts.collection record for this gathering's proposals.",
30
30
"maxLength": 5000,
31
31
"type": "string"
32
32
},
33
33
"context": {
34
34
"description": "Background / briefing material for sims participating in this event. Shown to AI sims as event context so they can act efficiently (e.g. prior decisions, mission, constraints, data, links). Unbounded — length constrained only by ATProto's per-record size limit.",
35
35
"type": "string"
36
36
},
37
37
"contextFacets": {
38
38
"description": "Rich text facets for context",
39
39
"items": {
40
40
"ref": "app.bsky.richtext.facet",
41
41
"type": "ref"
42
42
},
43
43
"type": "array"
44
44
},
45
45
"councilSims": {
46
46
"description": "Array of StrongRefs to sim records appointed to this gathering's council by the event creator.",
47
47
"items": {
48
48
"ref": "com.atproto.repo.strongRef",
49
49
"type": "ref"
50
50
},
51
51
"maxLength": 50,
52
52
"type": "array"
53
53
},
54
54
"createdAt": {
55
55
"description": "Timestamp when the record was created",
56
56
"format": "datetime",
57
57
"type": "string"
58
58
},
59
59
"dates": {
60
60
"description": "Human-readable date range (e.g. March 14-15, 2026)",
61
61
"maxGraphemes": 100,
62
62
"maxLength": 1000,
63
63
"type": "string"
64
64
},
65
65
"description": {
66
66
"description": "Full event description with details, agenda, etc.",
67
67
"maxGraphemes": 3000,
68
68
"maxLength": 30000,
69
69
"type": "string"
70
70
},
71
71
"descriptionFacets": {
72
72
"description": "Rich text facets for description",
73
73
"items": {
74
74
"ref": "app.bsky.richtext.facet",
75
75
"type": "ref"
76
76
},
77
77
"type": "array"
78
78
},
79
79
"gatheringType": {
80
80
"description": "Type of gathering",
81
81
"knownValues": [
82
82
"funding",
83
83
"governance",
84
84
"hybrid"
85
85
],
86
86
"type": "string"
87
87
},
88
88
"image": {
89
89
"accept": [
90
90
"image/png",
91
91
"image/jpeg",
92
92
"image/webp"
93
93
],
94
94
"description": "Cover image for the event (ATProto blob)",
95
95
"maxSize": 1000000,
96
96
"type": "blob"
97
97
},
98
98
"location": {
99
99
"description": "Physical or virtual location",
100
100
"maxGraphemes": 300,
101
101
"maxLength": 3000,
102
102
"type": "string"
103
103
},
104
+
"logo": {
105
+
"accept": [
106
+
"image/png",
107
+
"image/jpeg",
108
+
"image/webp"
109
+
],
110
+
"description": "Square community logo displayed in navigation rails, pickers, and community cards.",
111
+
"maxSize": 1000000,
112
+
"type": "blob"
113
+
},
104
114
"name": {
105
115
"description": "Display name of the event",
106
116
"maxGraphemes": 300,
107
117
"maxLength": 3000,
108
118
"type": "string"
109
119
},
110
120
"proposalScope": {
111
121
"description": "Who can submit proposals to this gathering. council=only users who own at least one sim on the appointed council (event creator always allowed), all=anyone signed in (default).",
112
122
"knownValues": [
113
123
"council",
114
124
"all"
115
125
],
116
126
"type": "string"
117
127
},
118
128
"shortDescription": {
119
129
"description": "Brief summary for cards and previews",
120
130
"maxGraphemes": 300,
121
131
"maxLength": 3000,
122
132
"type": "string"
123
133
},
124
134
"shortDescriptionFacets": {
125
135
"description": "Rich text facets for shortDescription",
126
136
"items": {
127
137
"ref": "app.bsky.richtext.facet",
128
138
"type": "ref"
129
139
},
130
140
"type": "array"
131
141
},
132
142
"simScope": {
133
143
"description": "Which sims walk around in this gathering's world. council=only appointed council sims (default), all=every sim in Simocracy.",
134
144
"knownValues": [
135
145
"council",
136
146
"all"
137
147
],
138
148
"type": "string"
139
149
},
140
150
"simSize": {
141
151
"description": "Size of sim avatars in this gathering's world. large=48px, normal=32px (senate default), small=20px (ftc-sf default).",
142
152
"knownValues": [
143
153
"large",
144
154
"normal",
145
155
"small"
146
156
],
147
157
"type": "string"
148
158
},
149
159
"status": {
150
160
"description": "Current status of the gathering",
151
161
"knownValues": [
152
162
"application",
153
163
"upcoming",
154
164
"active",
155
165
"completed"
156
166
],
157
167
"type": "string"
158
168
},
159
169
"suggestedInterviewTemplates": {
160
170
"description": "Optional: interview templates this gathering suggests to prospective council members.",
161
171
"items": {
162
172
"ref": "com.atproto.repo.strongRef",
163
173
"type": "ref"
164
174
},
165
175
"maxLength": 5,
166
176
"type": "array"
167
177
},
168
178
"treasuryUsd": {
169
179
"description": "Optional agentic treasury amount in USD that the council governs.",
170
180
"minimum": 0,
171
181
"type": "integer"
172
182
},
173
183
"updatedAt": {
174
184
"description": "Timestamp when the gathering was last updated",
175
185
"format": "datetime",
176
186
"type": "string"
177
187
},
178
188
"url": {
179
189
"description": "External link (e.g. Luma registration page)",
180
190
"maxLength": 5000,
181
191
"type": "string"
192
+
},
193
+
"visibility": {
194
+
"description": "Whether this gathering is listed in public overviews. public=shown in the events gallery, profile pages, etc. (default). private=hidden from every overview list; only the creator sees it in their own listings, but anyone with the direct AT-URI / DID-PLC link or canonical slug URL can still load the detail page.",
195
+
"knownValues": [
196
+
"public",
197
+
"private"
198
+
],
199
+
"type": "string"
182
200
}
183
201
},
184
202
"required": [
185
203
"name",
186
204
"gatheringType",
187
205
"status",
188
206
"createdAt"
189
207
],
190
208
"type": "object"
191
209
},
192
210
"type": "record"
193
211
}
194
212
},
195
213
"id": "org.simocracy.gathering",
196
214
"lexicon": 1
197
215
}