org.simocracy.gathering

gainforest.earth

Schema Diff

+8 -0

From

CID
bafyreib7r27jarj...
Indexed At
2026-04-24 19:04 UTC
View this version

To

CID
bafyreic24cmsray...
Indexed At
2026-04-29 23:56 UTC
View this version

Compatibility Analysis

Backward Compatible

Backward compatible. 2 non-breaking changes.

Non-Breaking Changes (2)
  • AddedVertex AddedVertex { vertex_id: "org.simocracy.gathering:body.proposalScope" }
  • AddedEdge AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.proposalScope", kind: "prop", name: Some("proposalScope") }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "org.simocracy.gathering:body.proposalScope" }

Additional Notes

  • Non-breaking: AddedEdge { src: "org.simocracy.gathering:body", tgt: "org.simocracy.gathering:body.proposalScope", kind: "prop", name: Some("proposalScope") }
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 90
          "councilSims": {
91 91
            "type": "array",
92 92
            "items": {
93 93
              "ref": "com.atproto.repo.strongRef",
94 94
              "type": "ref"
95 95
            },
96 96
            "maxLength": 50,
97 97
            "description": "Array of StrongRefs to sim records appointed to this gathering's council by the event creator."
98 98
          },
99 99
          "description": {
100 100
            "type": "string",
101 101
            "maxLength": 30000,
102 102
            "description": "Full event description with details, agenda, etc.",
103 103
            "maxGraphemes": 3000
104 104
          },
105 105
          "treasuryUsd": {
106 106
            "type": "integer",
107 107
            "minimum": 0,
108 108
            "description": "Optional agentic treasury amount in USD that the council governs."
109 109
          },
110 110
          "collectionUri": {
111 111
            "type": "string",
112 112
            "maxLength": 5000,
113 113
            "description": "AT-URI of an org.hypercerts.collection record for this gathering's proposals."
114 114
          },
115 115
          "contextFacets": {
116 116
            "type": "array",
117 117
            "items": {
118 118
              "ref": "app.bsky.richtext.facet",
119 119
              "type": "ref"
120 120
            },
121 121
            "description": "Rich text facets for context"
122 122
          },
123 123
          "gatheringType": {
124 124
            "type": "string",
125 125
            "description": "Type of gathering",
126 126
            "knownValues": [
127 127
              "funding",
128 128
              "governance",
129 129
              "hybrid"
130 130
            ]
131 131
          },
132 +
          "proposalScope": {
133 +
            "type": "string",
134 +
            "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 +
            "knownValues": [
136 +
              "council",
137 +
              "all"
138 +
            ]
139 +
          },
132 140
          "buildingImageUrl": {
133 141
            "type": "string",
134 142
            "maxLength": 5000,
135 143
            "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)."
136 144
          },
137 145
          "shortDescription": {
138 146
            "type": "string",
139 147
            "maxLength": 3000,
140 148
            "description": "Brief summary for cards and previews",
141 149
            "maxGraphemes": 300
142 150
          },
143 151
          "descriptionFacets": {
144 152
            "type": "array",
145 153
            "items": {
146 154
              "ref": "app.bsky.richtext.facet",
147 155
              "type": "ref"
148 156
            },
149 157
            "description": "Rich text facets for description"
150 158
          },
151 159
          "allocationMechanism": {
152 160
            "type": "string",
153 161
            "description": "The mechanism used to allocate the treasury among proposals.",
154 162
            "knownValues": [
155 163
              "quadratic-funding",
156 164
              "s-process",
157 165
              "condorcet"
158 166
            ]
159 167
          },
160 168
          "shortDescriptionFacets": {
161 169
            "type": "array",
162 170
            "items": {
163 171
              "ref": "app.bsky.richtext.facet",
164 172
              "type": "ref"
165 173
            },
166 174
            "description": "Rich text facets for shortDescription"
167 175
          },
168 176
          "suggestedInterviewTemplates": {
169 177
            "type": "array",
170 178
            "items": {
171 179
              "ref": "com.atproto.repo.strongRef",
172 180
              "type": "ref"
173 181
            },
174 182
            "maxLength": 5,
175 183
            "description": "Optional: interview templates this gathering suggests to prospective council members."
176 184
          }
177 185
        }
178 186
      },
179 187
      "description": "A governance or funding event that users can create and participate in."
180 188
    }
181 189
  },
182 190
  "$type": "com.atproto.lexicon.schema",
183 191
  "lexicon": 1
184 192
}

Compare Other Versions

Lexicon Garden

@