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
"id": "org.simocracy.gathering",
3
3
"defs": {
4
4
"main": {
5
5
"key": "tid",
6
6
"type": "record",
7
7
"record": {
8
8
"type": "object",
9
9
"required": [
10
10
"name",
11
11
"gatheringType",
12
12
"status",
13
13
"createdAt"
14
14
],
15
15
"properties": {
16
16
"url": {
17
17
"type": "string",
18
18
"maxLength": 5000,
19
19
"description": "External link (e.g. Luma registration page)"
20
20
},
21
21
"name": {
22
22
"type": "string",
23
23
"maxLength": 3000,
24
24
"description": "Display name of the event",
25
25
"maxGraphemes": 300
26
26
},
27
27
"dates": {
28
28
"type": "string",
29
29
"maxLength": 1000,
30
30
"description": "Human-readable date range (e.g. March 14-15, 2026)",
31
31
"maxGraphemes": 100
32
32
},
33
33
"image": {
34
34
"type": "blob",
35
35
"accept": [
36
36
"image/png",
37
37
"image/jpeg",
38
38
"image/webp"
39
39
],
40
40
"maxSize": 1000000,
41
41
"description": "Cover image for the event (ATProto blob)"
42
42
},
43
43
"status": {
44
44
"type": "string",
45
45
"description": "Current status of the gathering",
46
46
"knownValues": [
47
47
"application",
48
48
"upcoming",
49
49
"active",
50
50
"completed"
51
51
]
52
52
},
53
53
"context": {
54
54
"type": "string",
55
55
"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."
56
56
},
57
57
"simSize": {
58
58
"type": "string",
59
59
"description": "Size of sim avatars in this gathering's world. large=48px, normal=32px (senate default), small=20px (ftc-sf default).",
60
60
"knownValues": [
61
61
"large",
62
62
"normal",
63
63
"small"
64
64
]
65
65
},
66
66
"appRoute": {
67
67
"type": "string",
68
68
"maxLength": 1000,
69
69
"description": "Internal app route path (e.g. /senate, /ftc-sf) for built-in events"
70
70
},
71
71
"location": {
72
72
"type": "string",
73
73
"maxLength": 3000,
74
74
"description": "Physical or virtual location",
75
75
"maxGraphemes": 300
76
76
},
77
77
"simScope": {
78
78
"type": "string",
79
79
"description": "Which sims walk around in this gathering's world. council=only appointed council sims (default), all=every sim in Simocracy.",
80
80
"knownValues": [
81
81
"council",
82
82
"all"
83
83
]
84
84
},
85
85
"createdAt": {
86
86
"type": "string",
87
87
"format": "datetime",
88
88
"description": "Timestamp when the record was created"
89
89
},
90
+
"updatedAt": {
91
+
"type": "string",
92
+
"format": "datetime",
93
+
"description": "Timestamp when the gathering was last updated"
94
+
},
90
95
"councilSims": {
91
96
"type": "array",
92
97
"items": {
93
98
"ref": "com.atproto.repo.strongRef",
94
99
"type": "ref"
95
100
},
96
101
"maxLength": 50,
97
102
"description": "Array of StrongRefs to sim records appointed to this gathering's council by the event creator."
98
103
},
99
104
"description": {
100
105
"type": "string",
101
106
"maxLength": 30000,
102
107
"description": "Full event description with details, agenda, etc.",
103
108
"maxGraphemes": 3000
104
109
},
105
110
"treasuryUsd": {
106
111
"type": "integer",
107
112
"minimum": 0,
108
113
"description": "Optional agentic treasury amount in USD that the council governs."
109
114
},
110
115
"collectionUri": {
111
116
"type": "string",
112
117
"maxLength": 5000,
113
118
"description": "AT-URI of an org.hypercerts.collection record for this gathering's proposals."
114
119
},
115
120
"contextFacets": {
116
121
"type": "array",
117
122
"items": {
118
123
"ref": "app.bsky.richtext.facet",
119
124
"type": "ref"
120
125
},
121
126
"description": "Rich text facets for context"
122
127
},
123
128
"gatheringType": {
124
129
"type": "string",
125
130
"description": "Type of gathering",
126
131
"knownValues": [
127
132
"funding",
128
133
"governance",
129
134
"hybrid"
130
135
]
131
136
},
132
137
"proposalScope": {
133
138
"type": "string",
134
139
"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).",
135
140
"knownValues": [
136
141
"council",
137
142
"all"
138
143
]
139
144
},
140
145
"buildingImageUrl": {
141
146
"type": "string",
142
147
"maxLength": 5000,
143
148
"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)."
144
149
},
145
150
"shortDescription": {
146
151
"type": "string",
147
152
"maxLength": 3000,
148
153
"description": "Brief summary for cards and previews",
149
154
"maxGraphemes": 300
150
155
},
151
156
"descriptionFacets": {
152
157
"type": "array",
153
158
"items": {
154
159
"ref": "app.bsky.richtext.facet",
155
160
"type": "ref"
156
161
},
157
162
"description": "Rich text facets for description"
158
163
},
159
164
"allocationMechanism": {
160
165
"type": "string",
161
166
"description": "The mechanism used to allocate the treasury among proposals.",
162
167
"knownValues": [
163
168
"quadratic-funding",
164
169
"s-process",
165
170
"condorcet"
166
171
]
167
172
},
168
173
"shortDescriptionFacets": {
169
174
"type": "array",
170
175
"items": {
171
176
"ref": "app.bsky.richtext.facet",
172
177
"type": "ref"
173
178
},
174
179
"description": "Rich text facets for shortDescription"
175
180
},
176
181
"suggestedInterviewTemplates": {
177
182
"type": "array",
178
183
"items": {
179
184
"ref": "com.atproto.repo.strongRef",
180
185
"type": "ref"
181
186
},
182
187
"maxLength": 5,
183
188
"description": "Optional: interview templates this gathering suggests to prospective council members."
184
189
}
185
190
}
186
191
},
187
192
"description": "A governance or funding event that users can create and participate in."
188
193
}
189
194
},
190
195
"$type": "com.atproto.lexicon.schema",
191
196
"lexicon": 1
192
197
}