org.latha.gathering
Schema Diff
+11 -195
Compatibility Analysis
Breaking Changes Detected
69 breaking changes, 0 non-breaking changes.
Breaking Changes (69)
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "org.latha.gathering#infraLayer", src: "org.latha.gathering#infraLayer", tgt: "org.latha.gathering#infraLayer.name", kind: "prop", name: Some("name") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "org.latha.gathering#convergenceAssessment", src: "org.latha.gathering#convergenceAssessment", tgt: "org.latha.gathering#convergenceAssessment.framework", kind: "prop", name: Some("framework") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "org.latha.gathering#connection", src: "org.latha.gathering#connection", tgt: "org.latha.gathering#connection.target", kind: "prop", name: Some("target") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "org.latha.gathering#connection", src: "org.latha.gathering#connection", tgt: "org.latha.gathering#connection.type", kind: "prop", name: Some("type") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "org.latha.gathering#connection", src: "org.latha.gathering#connection", tgt: "org.latha.gathering#connection.source", kind: "prop", name: Some("source") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "org.latha.gathering#alignment", src: "org.latha.gathering#alignment", tgt: "org.latha.gathering#alignment.principle", kind: "prop", name: Some("principle") }
- RequiredEdgeRemoved RequiredEdgeRemoved { vertex_id: "org.latha.gathering#alignment", src: "org.latha.gathering#alignment", tgt: "org.latha.gathering#alignment.feature", kind: "prop", name: Some("feature") }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#alignment" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#alignment.feature" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#alignment.principle" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#alignment.strength" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#connection" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#connection.description" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#connection.source" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#connection.target" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#connection.type" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.alignments" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.alignments:items" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.framework" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.gaps" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.overallAlignment" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#emerging" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#infraLayer" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#infraLayer.description" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#infraLayer.name" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#infraLayer.responsible" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#infraLayer.responsible:items" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#infrastructureMap" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#infrastructureMap.layers" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#infrastructureMap.layers:items" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#moderate" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis.connections" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis.connections:items" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis.keyInsights" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis.keyInsights:items" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#none" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering#strong" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering:body.sections:items:variant1" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering:body.sections:items:variant2" }
- RemovedVertex RemovedVertex { vertex_id: "org.latha.gathering:body.sections:items:variant3" }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#alignment", tgt: "org.latha.gathering#alignment.strength", kind: "prop", name: Some("strength") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#connection", tgt: "org.latha.gathering#connection.description", kind: "prop", name: Some("description") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#connection.source", tgt: "org.latha.gathering#actorRef", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#connection.target", tgt: "org.latha.gathering#actorRef", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#convergenceAssessment", tgt: "org.latha.gathering#convergenceAssessment.alignments", kind: "prop", name: Some("alignments") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#convergenceAssessment", tgt: "org.latha.gathering#convergenceAssessment.gaps", kind: "prop", name: Some("gaps") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#convergenceAssessment", tgt: "org.latha.gathering#convergenceAssessment.overallAlignment", kind: "prop", name: Some("overallAlignment") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#convergenceAssessment.alignments", tgt: "org.latha.gathering#convergenceAssessment.alignments:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#convergenceAssessment.alignments:items", tgt: "org.latha.gathering#alignment", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#infraLayer", tgt: "org.latha.gathering#infraLayer.description", kind: "prop", name: Some("description") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#infraLayer", tgt: "org.latha.gathering#infraLayer.responsible", kind: "prop", name: Some("responsible") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#infraLayer.responsible", tgt: "org.latha.gathering#infraLayer.responsible:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#infraLayer.responsible:items", tgt: "org.latha.gathering#actorRef", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#infrastructureMap", tgt: "org.latha.gathering#infrastructureMap.layers", kind: "prop", name: Some("layers") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#infrastructureMap.layers", tgt: "org.latha.gathering#infrastructureMap.layers:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#infrastructureMap.layers:items", tgt: "org.latha.gathering#infraLayer", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#networkAnalysis", tgt: "org.latha.gathering#networkAnalysis.connections", kind: "prop", name: Some("connections") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#networkAnalysis", tgt: "org.latha.gathering#networkAnalysis.keyInsights", kind: "prop", name: Some("keyInsights") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#networkAnalysis.connections", tgt: "org.latha.gathering#networkAnalysis.connections:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#networkAnalysis.connections:items", tgt: "org.latha.gathering#connection", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering#networkAnalysis.keyInsights", tgt: "org.latha.gathering#networkAnalysis.keyInsights:items", kind: "items", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering:body.sections:items", tgt: "org.latha.gathering:body.sections:items:variant1", kind: "variant", name: Some("org.latha.gathering#networkAnalysis") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering:body.sections:items", tgt: "org.latha.gathering:body.sections:items:variant2", kind: "variant", name: Some("org.latha.gathering#convergenceAssessment") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering:body.sections:items", tgt: "org.latha.gathering:body.sections:items:variant3", kind: "variant", name: Some("org.latha.gathering#infrastructureMap") }
- RemovedEdge RemovedEdge { src: "org.latha.gathering:body.sections:items:variant1", tgt: "org.latha.gathering#networkAnalysis", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering:body.sections:items:variant2", tgt: "org.latha.gathering#convergenceAssessment", kind: "ref", name: None }
- RemovedEdge RemovedEdge { src: "org.latha.gathering:body.sections:items:variant3", tgt: "org.latha.gathering#infrastructureMap", kind: "ref", name: None }
Migration Guidance
Removed Elements
RemovedVertex { vertex_id: "org.latha.gathering#alignment" }RemovedVertex { vertex_id: "org.latha.gathering#alignment.feature" }RemovedVertex { vertex_id: "org.latha.gathering#alignment.principle" }RemovedVertex { vertex_id: "org.latha.gathering#alignment.strength" }RemovedVertex { vertex_id: "org.latha.gathering#connection" }RemovedVertex { vertex_id: "org.latha.gathering#connection.description" }RemovedVertex { vertex_id: "org.latha.gathering#connection.source" }RemovedVertex { vertex_id: "org.latha.gathering#connection.target" }RemovedVertex { vertex_id: "org.latha.gathering#connection.type" }RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment" }RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.alignments" }RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.alignments:items" }RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.framework" }RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.gaps" }RemovedVertex { vertex_id: "org.latha.gathering#convergenceAssessment.overallAlignment" }RemovedVertex { vertex_id: "org.latha.gathering#emerging" }RemovedVertex { vertex_id: "org.latha.gathering#infraLayer" }RemovedVertex { vertex_id: "org.latha.gathering#infraLayer.description" }RemovedVertex { vertex_id: "org.latha.gathering#infraLayer.name" }RemovedVertex { vertex_id: "org.latha.gathering#infraLayer.responsible" }RemovedVertex { vertex_id: "org.latha.gathering#infraLayer.responsible:items" }RemovedVertex { vertex_id: "org.latha.gathering#infrastructureMap" }RemovedVertex { vertex_id: "org.latha.gathering#infrastructureMap.layers" }RemovedVertex { vertex_id: "org.latha.gathering#infrastructureMap.layers:items" }RemovedVertex { vertex_id: "org.latha.gathering#moderate" }RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis" }RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis.connections" }RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis.connections:items" }RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis.keyInsights" }RemovedVertex { vertex_id: "org.latha.gathering#networkAnalysis.keyInsights:items" }RemovedVertex { vertex_id: "org.latha.gathering#none" }RemovedVertex { vertex_id: "org.latha.gathering#strong" }RemovedVertex { vertex_id: "org.latha.gathering:body.sections:items:variant1" }RemovedVertex { vertex_id: "org.latha.gathering:body.sections:items:variant2" }RemovedVertex { vertex_id: "org.latha.gathering:body.sections:items:variant3" }
Additional Notes
- Breaking: RequiredEdgeRemoved { vertex_id: "org.latha.gathering#connection", src: "org.latha.gathering#connection", tgt: "org.latha.gathering#connection.target", kind: "prop", name: Some("target") }
- Breaking: RequiredEdgeRemoved { vertex_id: "org.latha.gathering#connection", src: "org.latha.gathering#connection", tgt: "org.latha.gathering#connection.type", kind: "prop", name: Some("type") }
- Breaking: RequiredEdgeRemoved { vertex_id: "org.latha.gathering#connection", src: "org.latha.gathering#connection", tgt: "org.latha.gathering#connection.source", kind: "prop", name: Some("source") }
- Breaking: RequiredEdgeRemoved { vertex_id: "org.latha.gathering#convergenceAssessment", src: "org.latha.gathering#convergenceAssessment", tgt: "org.latha.gathering#convergenceAssessment.framework", kind: "prop", name: Some("framework") }
- Breaking: RequiredEdgeRemoved { vertex_id: "org.latha.gathering#alignment", src: "org.latha.gathering#alignment", tgt: "org.latha.gathering#alignment.principle", kind: "prop", name: Some("principle") }
- Breaking: RequiredEdgeRemoved { vertex_id: "org.latha.gathering#alignment", src: "org.latha.gathering#alignment", tgt: "org.latha.gathering#alignment.feature", kind: "prop", name: Some("feature") }
- Breaking: RequiredEdgeRemoved { vertex_id: "org.latha.gathering#infraLayer", src: "org.latha.gathering#infraLayer", tgt: "org.latha.gathering#infraLayer.name", kind: "prop", name: Some("name") }
- Breaking: RemovedEdge { src: "org.latha.gathering#alignment", tgt: "org.latha.gathering#alignment.strength", kind: "prop", name: Some("strength") }
- Breaking: RemovedEdge { src: "org.latha.gathering#connection", tgt: "org.latha.gathering#connection.description", kind: "prop", name: Some("description") }
- Breaking: RemovedEdge { src: "org.latha.gathering#connection.source", tgt: "org.latha.gathering#actorRef", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#connection.target", tgt: "org.latha.gathering#actorRef", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#convergenceAssessment", tgt: "org.latha.gathering#convergenceAssessment.alignments", kind: "prop", name: Some("alignments") }
- Breaking: RemovedEdge { src: "org.latha.gathering#convergenceAssessment", tgt: "org.latha.gathering#convergenceAssessment.gaps", kind: "prop", name: Some("gaps") }
- Breaking: RemovedEdge { src: "org.latha.gathering#convergenceAssessment", tgt: "org.latha.gathering#convergenceAssessment.overallAlignment", kind: "prop", name: Some("overallAlignment") }
- Breaking: RemovedEdge { src: "org.latha.gathering#convergenceAssessment.alignments", tgt: "org.latha.gathering#convergenceAssessment.alignments:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#convergenceAssessment.alignments:items", tgt: "org.latha.gathering#alignment", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#infraLayer", tgt: "org.latha.gathering#infraLayer.description", kind: "prop", name: Some("description") }
- Breaking: RemovedEdge { src: "org.latha.gathering#infraLayer", tgt: "org.latha.gathering#infraLayer.responsible", kind: "prop", name: Some("responsible") }
- Breaking: RemovedEdge { src: "org.latha.gathering#infraLayer.responsible", tgt: "org.latha.gathering#infraLayer.responsible:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#infraLayer.responsible:items", tgt: "org.latha.gathering#actorRef", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#infrastructureMap", tgt: "org.latha.gathering#infrastructureMap.layers", kind: "prop", name: Some("layers") }
- Breaking: RemovedEdge { src: "org.latha.gathering#infrastructureMap.layers", tgt: "org.latha.gathering#infrastructureMap.layers:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#infrastructureMap.layers:items", tgt: "org.latha.gathering#infraLayer", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#networkAnalysis", tgt: "org.latha.gathering#networkAnalysis.connections", kind: "prop", name: Some("connections") }
- Breaking: RemovedEdge { src: "org.latha.gathering#networkAnalysis", tgt: "org.latha.gathering#networkAnalysis.keyInsights", kind: "prop", name: Some("keyInsights") }
- Breaking: RemovedEdge { src: "org.latha.gathering#networkAnalysis.connections", tgt: "org.latha.gathering#networkAnalysis.connections:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#networkAnalysis.connections:items", tgt: "org.latha.gathering#connection", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering#networkAnalysis.keyInsights", tgt: "org.latha.gathering#networkAnalysis.keyInsights:items", kind: "items", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering:body.sections:items", tgt: "org.latha.gathering:body.sections:items:variant1", kind: "variant", name: Some("org.latha.gathering#networkAnalysis") }
- Breaking: RemovedEdge { src: "org.latha.gathering:body.sections:items", tgt: "org.latha.gathering:body.sections:items:variant2", kind: "variant", name: Some("org.latha.gathering#convergenceAssessment") }
- Breaking: RemovedEdge { src: "org.latha.gathering:body.sections:items", tgt: "org.latha.gathering:body.sections:items:variant3", kind: "variant", name: Some("org.latha.gathering#infrastructureMap") }
- Breaking: RemovedEdge { src: "org.latha.gathering:body.sections:items:variant1", tgt: "org.latha.gathering#networkAnalysis", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering:body.sections:items:variant2", tgt: "org.latha.gathering#convergenceAssessment", kind: "ref", name: None }
- Breaking: RemovedEdge { src: "org.latha.gathering:body.sections:items:variant3", tgt: "org.latha.gathering#infrastructureMap", kind: "ref", name: None }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"actorRef": {
5
5
"description": "A lightweight reference to an ATProto identity.",
6
6
"properties": {
7
7
"did": {
8
8
"description": "ATProto DID.",
9
9
"format": "did",
10
10
"type": "string"
11
11
},
12
12
"handle": {
13
13
"description": "Current ATProto handle.",
14
14
"type": "string"
15
15
}
16
16
},
17
17
"required": [
18
18
"did"
19
19
],
20
20
"type": "object"
21
21
},
22
-
"alignment": {
23
-
"description": "A mapping between a framework principle and an observed feature, with strength rating.",
24
-
"properties": {
25
-
"feature": {
26
-
"description": "The observed feature (e.g., self-authenticating data, interoperable apps).",
27
-
"maxGraphemes": 200,
28
-
"maxLength": 2000,
29
-
"type": "string"
30
-
},
31
-
"principle": {
32
-
"description": "The framework principle (e.g., user sovereignty, anti-monopoly).",
33
-
"maxGraphemes": 100,
34
-
"maxLength": 1000,
35
-
"type": "string"
36
-
},
37
-
"strength": {
38
-
"description": "Alignment strength.",
39
-
"knownValues": [
40
-
"org.latha.gathering#strong",
41
-
"org.latha.gathering#moderate",
42
-
"org.latha.gathering#emerging",
43
-
"org.latha.gathering#none"
44
-
],
45
-
"type": "string"
46
-
}
47
-
},
48
-
"required": [
49
-
"principle",
50
-
"feature"
51
-
],
52
-
"type": "object"
53
-
},
54
22
"attendee": {
55
-
"description": "A rich attendee record with role, projects, and metadata. Fills the gap left by community.lexicon.calendar.rsvp (which has no role field).",
23
+
"description": "A rich attendee record with role, projects, and metadata. Extends community.lexicon.calendar.rsvp with role, bio, projects, and tags.",
56
24
"properties": {
57
25
"bio": {
58
26
"description": "Short bio or tagline.",
59
27
"maxGraphemes": 500,
60
28
"maxLength": 5000,
61
29
"type": "string"
62
30
},
63
31
"did": {
64
32
"description": "ATProto DID.",
65
33
"format": "did",
66
34
"type": "string"
67
35
},
68
36
"displayName": {
69
37
"description": "Display name.",
70
38
"maxGraphemes": 100,
71
39
"maxLength": 1000,
72
40
"type": "string"
73
41
},
74
42
"handle": {
75
43
"description": "ATProto handle.",
76
44
"type": "string"
77
45
},
78
46
"notes": {
79
47
"description": "Researcher notes about this attendee.",
80
48
"maxGraphemes": 1000,
81
49
"maxLength": 10000,
82
50
"type": "string"
83
51
},
84
52
"projects": {
85
53
"description": "Projects this person builds or maintains.",
86
54
"items": {
87
55
"ref": "org.latha.gathering#projectRef",
88
56
"type": "ref"
89
57
},
90
58
"type": "array"
91
59
},
92
60
"role": {
93
61
"description": "Role in the gathering: host, organizer, participant, speaker, volunteer.",
94
62
"ref": "org.latha.gathering#role",
95
63
"type": "ref"
96
64
},
97
65
"tags": {
98
66
"description": "Interest tags (a11y, privacy, transit, category-theory, etc.).",
99
67
"items": {
100
68
"maxLength": 640,
101
69
"type": "string"
102
70
},
103
71
"type": "array"
104
72
}
105
73
},
106
74
"required": [
107
75
"did"
108
76
],
109
77
"type": "object"
110
78
},
111
79
"cancelled": {
112
80
"description": "Gathering has been cancelled.",
113
81
"type": "token"
114
82
},
115
-
"connection": {
116
-
"description": "A typed relationship between two actors. DID-based, unlike network.cosmik.connection which is URL-based.",
117
-
"properties": {
118
-
"description": {
119
-
"description": "Why this connection matters.",
120
-
"maxGraphemes": 500,
121
-
"maxLength": 5000,
122
-
"type": "string"
123
-
},
124
-
"source": {
125
-
"description": "Source person.",
126
-
"ref": "org.latha.gathering#actorRef",
127
-
"type": "ref"
128
-
},
129
-
"target": {
130
-
"description": "Target person.",
131
-
"ref": "org.latha.gathering#actorRef",
132
-
"type": "ref"
133
-
},
134
-
"type": {
135
-
"description": "Relationship type (e.g., conviviality-alignment, civic-infrastructure, shared-practice).",
136
-
"maxLength": 500,
137
-
"type": "string"
138
-
}
139
-
},
140
-
"required": [
141
-
"source",
142
-
"target",
143
-
"type"
144
-
],
145
-
"type": "object"
146
-
},
147
-
"convergenceAssessment": {
148
-
"description": "Assessment of the gathering's alignment with a theoretical framework (degrowth, conviviality, commons, etc.).",
149
-
"properties": {
150
-
"alignments": {
151
-
"description": "Principle-to-feature alignment records.",
152
-
"items": {
153
-
"ref": "org.latha.gathering#alignment",
154
-
"type": "ref"
155
-
},
156
-
"type": "array"
157
-
},
158
-
"framework": {
159
-
"description": "The framework being assessed (e.g., degrowth, conviviality, commons, permacomputing).",
160
-
"maxGraphemes": 100,
161
-
"maxLength": 1000,
162
-
"type": "string"
163
-
},
164
-
"gaps": {
165
-
"description": "Where the gathering or network falls short of the framework.",
166
-
"maxGraphemes": 2000,
167
-
"maxLength": 20000,
168
-
"type": "string"
169
-
},
170
-
"overallAlignment": {
171
-
"description": "Summary assessment of overall alignment.",
172
-
"maxGraphemes": 500,
173
-
"maxLength": 5000,
174
-
"type": "string"
175
-
}
176
-
},
177
-
"required": [
178
-
"framework"
179
-
],
180
-
"type": "object"
181
-
},
182
-
"emerging": {
183
-
"description": "Emerging alignment.",
184
-
"type": "token"
185
-
},
186
83
"host": {
187
84
"description": "Host of the gathering.",
188
85
"type": "token"
189
86
},
190
87
"hybrid": {
191
88
"description": "Hybrid (in-person and virtual) gathering.",
192
89
"type": "token"
193
90
},
194
-
"infraLayer": {
195
-
"description": "A named infrastructure layer with responsible parties.",
196
-
"properties": {
197
-
"description": {
198
-
"description": "What this layer provides.",
199
-
"maxGraphemes": 500,
200
-
"maxLength": 5000,
201
-
"type": "string"
202
-
},
203
-
"name": {
204
-
"description": "Layer name (e.g., Physical infrastructure, Protocol infrastructure).",
205
-
"maxGraphemes": 100,
206
-
"maxLength": 1000,
207
-
"type": "string"
208
-
},
209
-
"responsible": {
210
-
"description": "People or identities responsible for this layer.",
211
-
"items": {
212
-
"ref": "org.latha.gathering#actorRef",
213
-
"type": "ref"
214
-
},
215
-
"type": "array"
216
-
}
217
-
},
218
-
"required": [
219
-
"name"
220
-
],
221
-
"type": "object"
222
-
},
223
-
"infrastructureMap": {
224
-
"description": "A map of social and technical infrastructure layers present at the gathering.",
225
-
"properties": {
226
-
"layers": {
227
-
"description": "Named infrastructure layers with responsible parties.",
228
-
"items": {
229
-
"ref": "org.latha.gathering#infraLayer",
230
-
"type": "ref"
231
-
},
232
-
"type": "array"
233
-
}
234
-
},
235
-
"type": "object"
236
-
},
237
91
"inperson": {
238
92
"description": "In-person gathering.",
239
93
"type": "token"
240
94
},
241
95
"location": {
242
-
"description": "A physical location. Mirrors community.lexicon.location.address fields.",
96
+
"description": "A physical location.",
243
97
"properties": {
244
98
"address": {
245
99
"description": "Street address.",
246
100
"maxGraphemes": 200,
247
101
"maxLength": 2000,
248
102
"type": "string"
249
103
},
250
104
"country": {
251
105
"description": "ISO 3166-1 alpha-2 country code.",
252
106
"maxLength": 2,
253
107
"type": "string"
254
108
},
255
109
"locality": {
256
110
"description": "City or locality.",
257
111
"maxGraphemes": 50,
258
112
"maxLength": 500,
259
113
"type": "string"
260
114
},
261
115
"name": {
262
116
"description": "Venue name.",
263
117
"maxGraphemes": 100,
264
118
"maxLength": 1000,
265
119
"type": "string"
266
120
},
267
121
"postalCode": {
268
122
"description": "Postal code.",
269
123
"maxLength": 20,
270
124
"type": "string"
271
125
},
272
126
"region": {
273
127
"description": "State or province.",
274
128
"maxGraphemes": 50,
275
129
"maxLength": 500,
276
130
"type": "string"
277
131
}
278
132
},
279
133
"type": "object"
280
134
},
281
135
"main": {
282
-
"description": "A community gathering or meetup with structured attendee data and extensible analysis sections.",
136
+
"description": "A community gathering or meetup with structured attendee data and extensible thematic sections.",
283
137
"key": "tid",
284
138
"record": {
285
139
"properties": {
286
140
"attendees": {
287
141
"description": "People who attended the gathering, with roles and metadata.",
288
142
"items": {
289
143
"ref": "org.latha.gathering#attendee",
290
144
"type": "ref"
291
145
},
292
146
"type": "array"
293
147
},
294
148
"createdAt": {
295
149
"description": "Client-declared timestamp when this record was created.",
296
150
"format": "datetime",
297
151
"type": "string"
298
152
},
299
153
"description": {
300
154
"description": "Brief description of the gathering.",
301
155
"maxGraphemes": 2000,
302
156
"maxLength": 20000,
303
157
"type": "string"
304
158
},
305
159
"endsAt": {
306
160
"description": "Client-declared timestamp when the gathering ends.",
307
161
"format": "datetime",
308
162
"type": "string"
309
163
},
310
164
"format": {
311
165
"description": "Gathering format (e.g., unconference, workshop, hackathon, panel).",
312
166
"maxGraphemes": 100,
313
167
"maxLength": 1000,
314
168
"type": "string"
315
169
},
316
170
"host": {
317
171
"description": "The primary host or organizing identity.",
318
172
"ref": "org.latha.gathering#actorRef",
319
173
"type": "ref"
320
174
},
321
175
"locations": {
322
176
"description": "Where the gathering takes place.",
323
177
"items": {
324
178
"ref": "org.latha.gathering#location",
325
179
"type": "ref"
326
180
},
327
181
"type": "array"
328
182
},
329
183
"mode": {
330
184
"description": "The attendance mode of the gathering.",
331
185
"ref": "org.latha.gathering#mode",
332
186
"type": "ref"
333
187
},
334
188
"name": {
335
189
"description": "Name of the gathering.",
336
190
"maxGraphemes": 200,
337
191
"maxLength": 2000,
338
192
"type": "string"
339
193
},
340
194
"sections": {
341
-
"description": "Open union of modular analysis sections. Each entry must specify a $type. Built-in section types: thematicCluster, networkAnalysis, convergenceAssessment, infrastructureMap. Other lexicons may add additional section types.",
195
+
"description": "Modular sections for grouping and analyzing the gathering. Each entry must specify a $type. Built-in: thematicCluster. Other lexicons may add more.",
342
196
"items": {
343
197
"closed": false,
344
198
"refs": [
345
-
"org.latha.gathering#thematicCluster",
346
-
"org.latha.gathering#networkAnalysis",
347
-
"org.latha.gathering#convergenceAssessment",
348
-
"org.latha.gathering#infrastructureMap"
199
+
"org.latha.gathering#thematicCluster"
349
200
],
350
201
"type": "union"
351
202
},
352
203
"type": "array"
353
204
},
354
205
"startsAt": {
355
206
"description": "Client-declared timestamp when the gathering starts.",
356
207
"format": "datetime",
357
208
"type": "string"
358
209
},
359
210
"status": {
360
211
"description": "The status of the gathering.",
361
212
"ref": "org.latha.gathering#status",
362
213
"type": "ref"
363
214
},
364
215
"uris": {
365
216
"description": "Platform links (OpenMeet, Meetup.com, etc.).",
366
217
"items": {
367
218
"ref": "org.latha.gathering#uri",
368
219
"type": "ref"
369
220
},
370
221
"type": "array"
371
222
}
372
223
},
373
224
"required": [
374
225
"name",
375
226
"createdAt"
376
227
],
377
228
"type": "object"
378
229
},
379
230
"type": "record"
380
231
},
381
232
"mode": {
382
233
"description": "Attendance mode of the gathering.",
383
234
"knownValues": [
384
235
"org.latha.gathering#inperson",
385
236
"org.latha.gathering#hybrid",
386
237
"org.latha.gathering#virtual"
387
238
],
388
239
"type": "string"
389
240
},
390
-
"moderate": {
391
-
"description": "Moderate alignment.",
392
-
"type": "token"
393
-
},
394
-
"networkAnalysis": {
395
-
"description": "Structured analysis of connections between attendees and projects.",
396
-
"properties": {
397
-
"connections": {
398
-
"description": "Typed relationships between attendees.",
399
-
"items": {
400
-
"ref": "org.latha.gathering#connection",
401
-
"type": "ref"
402
-
},
403
-
"type": "array"
404
-
},
405
-
"keyInsights": {
406
-
"description": "What the network structure reveals.",
407
-
"items": {
408
-
"maxGraphemes": 500,
409
-
"maxLength": 5000,
410
-
"type": "string"
411
-
},
412
-
"type": "array"
413
-
}
414
-
},
415
-
"type": "object"
416
-
},
417
-
"none": {
418
-
"description": "No alignment.",
419
-
"type": "token"
420
-
},
421
241
"organizer": {
422
242
"description": "Organizer of the gathering.",
423
243
"type": "token"
424
244
},
425
245
"participant": {
426
246
"description": "Participant in the gathering.",
427
247
"type": "token"
428
248
},
429
249
"planned": {
430
250
"description": "Gathering is planned.",
431
251
"type": "token"
432
252
},
433
253
"postponed": {
434
254
"description": "Gathering has been postponed.",
435
255
"type": "token"
436
256
},
437
257
"projectRef": {
438
258
"description": "A reference to a project or tool.",
439
259
"properties": {
440
260
"name": {
441
261
"description": "Project name.",
442
262
"maxGraphemes": 100,
443
263
"maxLength": 1000,
444
264
"type": "string"
445
265
},
446
266
"uri": {
447
267
"description": "Link to the project.",
448
268
"format": "uri",
449
269
"type": "string"
450
270
}
451
271
},
452
272
"required": [
453
273
"name"
454
274
],
455
275
"type": "object"
456
276
},
457
277
"rescheduled": {
458
278
"description": "Gathering has been rescheduled.",
459
279
"type": "token"
460
280
},
461
281
"role": {
462
282
"description": "Role of an attendee in the gathering.",
463
283
"knownValues": [
464
284
"org.latha.gathering#host",
465
285
"org.latha.gathering#organizer",
466
286
"org.latha.gathering#participant",
467
287
"org.latha.gathering#speaker",
468
288
"org.latha.gathering#volunteer"
469
289
],
470
290
"type": "string"
471
291
},
472
292
"scheduled": {
473
293
"description": "Gathering is scheduled.",
474
294
"type": "token"
475
295
},
476
296
"speaker": {
477
297
"description": "Speaker at the gathering.",
478
298
"type": "token"
479
299
},
480
300
"status": {
481
301
"description": "Status of the gathering.",
482
302
"knownValues": [
483
303
"org.latha.gathering#planned",
484
304
"org.latha.gathering#scheduled",
485
305
"org.latha.gathering#rescheduled",
486
306
"org.latha.gathering#postponed",
487
307
"org.latha.gathering#cancelled"
488
308
],
489
309
"type": "string"
490
-
},
491
-
"strong": {
492
-
"description": "Strong alignment.",
493
-
"type": "token"
494
310
},
495
311
"thematicCluster": {
496
-
"description": "A group of attendees united by a shared theme or practice.",
312
+
"description": "A group of attendees united by a shared theme, practice, or infrastructure role. Each cluster names a social or technical layer present at the gathering.",
497
313
"properties": {
498
314
"description": {
499
-
"description": "What unites this cluster.",
315
+
"description": "What brings this group together or what they provide.",
500
316
"maxGraphemes": 1000,
501
317
"maxLength": 10000,
502
318
"type": "string"
503
319
},
504
320
"members": {
505
-
"description": "DIDs and handles of cluster members.",
321
+
"description": "People in this cluster.",
506
322
"items": {
507
323
"ref": "org.latha.gathering#actorRef",
508
324
"type": "ref"
509
325
},
510
326
"type": "array"
511
327
},
512
328
"name": {
513
-
"description": "Cluster name (e.g., Organizer Core, Technologist-Philosophers).",
329
+
"description": "Cluster name (e.g., Organizer Core, Protocol Infrastructure, Technologist-Philosophers).",
514
330
"maxGraphemes": 100,
515
331
"maxLength": 1000,
516
332
"type": "string"
517
333
}
518
334
},
519
335
"required": [
520
336
"name"
521
337
],
522
338
"type": "object"
523
339
},
524
340
"uri": {
525
-
"description": "A named URI. Mirrors community.lexicon.calendar.event#uri.",
341
+
"description": "A named link.",
526
342
"properties": {
527
343
"name": {
528
344
"description": "Label for the URI.",
529
345
"maxGraphemes": 50,
530
346
"maxLength": 500,
531
347
"type": "string"
532
348
},
533
349
"uri": {
534
350
"description": "The URI.",
535
351
"format": "uri",
536
352
"type": "string"
537
353
}
538
354
},
539
355
"required": [
540
356
"uri"
541
357
],
542
358
"type": "object"
543
359
},
544
360
"virtual": {
545
361
"description": "Virtual gathering.",
546
362
"type": "token"
547
363
},
548
364
"volunteer": {
549
365
"description": "Volunteer at the gathering.",
550
366
"type": "token"
551
367
}
552
368
},
553
-
"description": "A community gathering or meetup record with attendees, analysis sections, and framework convergence assessments. Self-contained record covering event metadata, rich attendee data, and extensible modular analysis.",
369
+
"description": "A community gathering or meetup record with attendees and extensible thematic sections. Covers event metadata, rich attendee data, and modular grouping of people by theme or infrastructure role. Schema: https://gathering.latha.org/#at://did:plc:ngokl2gnmpbvuvrfckja3g7p/org.latha.gathering/3mkdvt6ljja2e",
554
370
"id": "org.latha.gathering",
555
371
"lexicon": 1
556
372
}