org.simocracy.gathering
Schema Diff
+31 -0
Compatibility Analysis
Backward Compatible
Backward compatible. 14 non-breaking changes.
Non-Breaking Changes (14)
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.context" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.contextFacets" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.contextFacets:items" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.simScope" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.suggestedInterviewTemplates" }
- AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.suggestedInterviewTemplates:items" }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.context", kind: "prop", name: Some("context") }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.contextFacets", kind: "prop", name: Some("contextFacets") }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.simScope", kind: "prop", name: Some("simScope") }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.suggestedInterviewTemplates", kind: "prop", name: Some("suggestedInterviewTemplates") }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body.contextFacets", tgt: "org.simocracy.gathering:body.contextFacets:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body.contextFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body.suggestedInterviewTemplates", tgt: "org.simocracy.gathering:body.suggestedInterviewTemplates:items", kind: "items", name: None }
- AddedEdge AddedEdge { src: "org.simocracy.gathering:body.suggestedInterviewTemplates:items", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
Migration Guidance
Added Elements
AddedVertex { vertex_id: "org.simocracy.gathering:body.context" }AddedVertex { vertex_id: "org.simocracy.gathering:body.contextFacets" }AddedVertex { vertex_id: "org.simocracy.gathering:body.contextFacets:items" }AddedVertex { vertex_id: "org.simocracy.gathering:body.simScope" }AddedVertex { vertex_id: "org.simocracy.gathering:body.suggestedInterviewTemplates" }AddedVertex { vertex_id: "org.simocracy.gathering:body.suggestedInterviewTemplates:items" }
Additional Notes
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.context", kind: "prop", name: Some("context") }
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.contextFacets", kind: "prop", name: Some("contextFacets") }
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.simScope", kind: "prop", name: Some("simScope") }
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.suggestedInterviewTemplates", kind: "prop", name: Some("suggestedInterviewTemplates") }
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body.contextFacets", tgt: "org.simocracy.gathering:body.contextFacets:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body.contextFacets:items", tgt: "app.bsky.richtext.facet", kind: "ref", name: None }
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body.suggestedInterviewTemplates", tgt: "org.simocracy.gathering:body.suggestedInterviewTemplates:items", kind: "items", name: None }
- Non-breaking: AddedEdge { src: "org.simocracy.gathering:body.suggestedInterviewTemplates:items", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
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
+
"context": {
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).",
35
+
"maxGraphemes": 5000,
36
+
"maxLength": 50000,
37
+
"type": "string"
38
+
},
39
+
"contextFacets": {
40
+
"description": "Rich text facets for context",
41
+
"items": {
42
+
"ref": "app.bsky.richtext.facet",
43
+
"type": "ref"
44
+
},
45
+
"type": "array"
46
+
},
33
47
"councilSims": {
34
48
"description": "Array of StrongRefs to sim records appointed to this gathering's council by the event creator.",
35
49
"items": {
36
50
"ref": "com.atproto.repo.strongRef",
37
51
"type": "ref"
38
52
},
39
53
"maxLength": 50,
40
54
"type": "array"
41
55
},
42
56
"createdAt": {
43
57
"description": "Timestamp when the record was created",
44
58
"format": "datetime",
45
59
"type": "string"
46
60
},
47
61
"dates": {
48
62
"description": "Human-readable date range (e.g. March 14-15, 2026)",
49
63
"maxGraphemes": 100,
50
64
"maxLength": 1000,
51
65
"type": "string"
52
66
},
53
67
"description": {
54
68
"description": "Full event description with details, agenda, etc.",
55
69
"maxGraphemes": 3000,
56
70
"maxLength": 30000,
57
71
"type": "string"
58
72
},
59
73
"descriptionFacets": {
60
74
"description": "Rich text facets for description",
61
75
"items": {
62
76
"ref": "app.bsky.richtext.facet",
63
77
"type": "ref"
64
78
},
65
79
"type": "array"
66
80
},
67
81
"gatheringType": {
68
82
"description": "Type of gathering",
69
83
"knownValues": [
70
84
"funding",
71
85
"governance",
72
86
"hybrid"
73
87
],
74
88
"type": "string"
75
89
},
76
90
"image": {
77
91
"accept": [
78
92
"image/png",
79
93
"image/jpeg",
80
94
"image/webp"
81
95
],
82
96
"description": "Cover image for the event (ATProto blob)",
83
97
"maxSize": 1000000,
84
98
"type": "blob"
85
99
},
86
100
"location": {
87
101
"description": "Physical or virtual location",
88
102
"maxGraphemes": 300,
89
103
"maxLength": 3000,
90
104
"type": "string"
91
105
},
92
106
"name": {
93
107
"description": "Display name of the event",
94
108
"maxGraphemes": 300,
95
109
"maxLength": 3000,
96
110
"type": "string"
97
111
},
98
112
"shortDescription": {
99
113
"description": "Brief summary for cards and previews",
100
114
"maxGraphemes": 300,
101
115
"maxLength": 3000,
102
116
"type": "string"
103
117
},
104
118
"shortDescriptionFacets": {
105
119
"description": "Rich text facets for shortDescription",
106
120
"items": {
107
121
"ref": "app.bsky.richtext.facet",
108
122
"type": "ref"
109
123
},
110
124
"type": "array"
111
125
},
126
+
"simScope": {
127
+
"description": "Which sims walk around in this gathering's world. council=only appointed council sims (default), all=every sim in Simocracy.",
128
+
"knownValues": [
129
+
"council",
130
+
"all"
131
+
],
132
+
"type": "string"
133
+
},
112
134
"simSize": {
113
135
"description": "Size of sim avatars in this gathering's world. large=48px, normal=32px (senate default), small=20px (ftc-sf default).",
114
136
"knownValues": [
115
137
"large",
116
138
"normal",
117
139
"small"
118
140
],
119
141
"type": "string"
120
142
},
121
143
"status": {
122
144
"description": "Current status of the gathering",
123
145
"knownValues": [
124
146
"application",
125
147
"upcoming",
126
148
"active",
127
149
"completed"
128
150
],
129
151
"type": "string"
130
152
},
153
+
"suggestedInterviewTemplates": {
154
+
"description": "Optional: interview templates this gathering suggests to prospective council members.",
155
+
"items": {
156
+
"ref": "com.atproto.repo.strongRef",
157
+
"type": "ref"
158
+
},
159
+
"maxLength": 5,
160
+
"type": "array"
161
+
},
131
162
"treasuryUsd": {
132
163
"description": "Optional agentic treasury amount in USD that the council governs.",
133
164
"minimum": 0,
134
165
"type": "integer"
135
166
},
136
167
"url": {
137
168
"description": "External link (e.g. Luma registration page)",
138
169
"maxLength": 5000,
139
170
"type": "string"
140
171
}
141
172
},
142
173
"required": [
143
174
"name",
144
175
"gatheringType",
145
176
"status",
146
177
"createdAt"
147
178
],
148
179
"type": "object"
149
180
},
150
181
"type": "record"
151
182
}
152
183
},
153
184
"id": "org.simocracy.gathering",
154
185
"lexicon": 1
155
186
}