org.simocracy.gathering
Schema Diff
+5 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 2 non-breaking changes.
Non-Breaking Changes (2)
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.updatedAt" }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.updatedAt", kind: "prop", name: Some("updatedAt") }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "org.simocracy.gathering:body.updatedAt" }
Additional Notes
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.updatedAt", kind: "prop", name: Some("updatedAt") }
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
104
"name": {
105
105
"description": "Display name of the event",
106
106
"maxGraphemes": 300,
107
107
"maxLength": 3000,
108
108
"type": "string"
109
109
},
110
110
"proposalScope": {
111
111
"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
112
"knownValues": [
113
113
"council",
114
114
"all"
115
115
],
116
116
"type": "string"
117
117
},
118
118
"shortDescription": {
119
119
"description": "Brief summary for cards and previews",
120
120
"maxGraphemes": 300,
121
121
"maxLength": 3000,
122
122
"type": "string"
123
123
},
124
124
"shortDescriptionFacets": {
125
125
"description": "Rich text facets for shortDescription",
126
126
"items": {
127
127
"ref": "app.bsky.richtext.facet",
128
128
"type": "ref"
129
129
},
130
130
"type": "array"
131
131
},
132
132
"simScope": {
133
133
"description": "Which sims walk around in this gathering's world. council=only appointed council sims (default), all=every sim in Simocracy.",
134
134
"knownValues": [
135
135
"council",
136
136
"all"
137
137
],
138
138
"type": "string"
139
139
},
140
140
"simSize": {
141
141
"description": "Size of sim avatars in this gathering's world. large=48px, normal=32px (senate default), small=20px (ftc-sf default).",
142
142
"knownValues": [
143
143
"large",
144
144
"normal",
145
145
"small"
146
146
],
147
147
"type": "string"
148
148
},
149
149
"status": {
150
150
"description": "Current status of the gathering",
151
151
"knownValues": [
152
152
"application",
153
153
"upcoming",
154
154
"active",
155
155
"completed"
156
156
],
157
157
"type": "string"
158
158
},
159
159
"suggestedInterviewTemplates": {
160
160
"description": "Optional: interview templates this gathering suggests to prospective council members.",
161
161
"items": {
162
162
"ref": "com.atproto.repo.strongRef",
163
163
"type": "ref"
164
164
},
165
165
"maxLength": 5,
166
166
"type": "array"
167
167
},
168
168
"treasuryUsd": {
169
169
"description": "Optional agentic treasury amount in USD that the council governs.",
170
170
"minimum": 0,
171
171
"type": "integer"
172
172
},
173
+
"updatedAt": {
174
+
"description": "Timestamp when the gathering was last updated",
175
+
"format": "datetime",
176
+
"type": "string"
177
+
},
173
178
"url": {
174
179
"description": "External link (e.g. Luma registration page)",
175
180
"maxLength": 5000,
176
181
"type": "string"
177
182
}
178
183
},
179
184
"required": [
180
185
"name",
181
186
"gatheringType",
182
187
"status",
183
188
"createdAt"
184
189
],
185
190
"type": "object"
186
191
},
187
192
"type": "record"
188
193
}
189
194
},
190
195
"id": "org.simocracy.gathering",
191
196
"lexicon": 1
192
197
}