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