org.latha.gathering

nandi.latha.org

Schema Diff

+11 -195

From

CID
bafyreibmlbvifme...
Indexed At
2026-04-25 20:35 UTC
View this version

To

CID
bafyreigskbtu55t...
Indexed At
2026-04-25 22:34 UTC
View this version

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
}

Compare Other Versions

Lexicon Garden

@