org.hypercerts.claim.activity

hypercerts.org

Schema Diff

+15 -6

From

CID
bafyreibrobw7qwn...
Indexed At
2026-03-19 20:27 UTC
View this version

To

CID
bafyreiavdo7b5xz...
Indexed At
2026-07-26 20:13 UTC
View this version

Compatibility Analysis

Breaking Changes Detected

3 breaking changes, 18 non-breaking changes.

Breaking Changes (3)
  • RemovedVertex RemovedVertex { vertex_id: "pub.leaflet.pages.linearDocument#main" }
  • RemovedEdge RemovedEdge { src: "org.hypercerts.claim.activity:body.description", tgt: "pub.leaflet.pages.linearDocument#main", kind: "ref", name: None }
  • KindChanged KindChanged { vertex_id: "org.hypercerts.claim.activity:body.description", old_kind: "ref", new_kind: "union" }
Non-Breaking Changes (18)
  • AddedVertex AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.description:variant0" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.description:variant1" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.description:variant2" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.signatures" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString" }
  • AddedVertex AddedVertex { vertex_id: "pub.leaflet.pages.linearDocument" }
  • AddedEdge AddedEdge { src: "org.hypercerts.claim.activity:body", tgt: "org.hypercerts.claim.activity:body.signatures", kind: "prop", name: Some("signatures") }
  • AddedEdge AddedEdge { src: "org.hypercerts.claim.activity:body.description", tgt: "org.hypercerts.claim.activity:body.description:variant0", kind: "variant", name: Some("org.hypercerts.defs#descriptionString") }
  • AddedEdge AddedEdge { src: "org.hypercerts.claim.activity:body.description", tgt: "org.hypercerts.claim.activity:body.description:variant1", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
  • AddedEdge AddedEdge { src: "org.hypercerts.claim.activity:body.description", tgt: "org.hypercerts.claim.activity:body.description:variant2", kind: "variant", name: Some("com.atproto.repo.strongRef") }
  • AddedEdge AddedEdge { src: "org.hypercerts.claim.activity:body.description:variant0", tgt: "org.hypercerts.defs#descriptionString", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.claim.activity:body.description:variant1", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.claim.activity:body.description:variant2", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • AddedEdge AddedEdge { src: "org.hypercerts.claim.activity:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.hypercerts.claim.activity#workScopeString.scope", sort: "maxGraphemes", old_value: "100", new_value: "1000" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.hypercerts.claim.activity#workScopeString.scope", sort: "maxLength", old_value: "1000", new_value: "10000" }
  • ConstraintRemoved ConstraintRemoved { vertex_id: "org.hypercerts.claim.activity:body.description", sort: "ref" }

Migration Guidance

Removed Elements

  • RemovedVertex { vertex_id: "pub.leaflet.pages.linearDocument#main" }

Added Elements

  • AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.description:variant0" }
  • AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.description:variant1" }
  • AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.description:variant2" }
  • AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.signatures" }
  • AddedVertex { vertex_id: "org.hypercerts.defs#descriptionString" }
  • AddedVertex { vertex_id: "pub.leaflet.pages.linearDocument" }

Constraint Changes

  • ConstraintRemoved ConstraintRemoved { vertex_id: "org.hypercerts.claim.activity:body.description", sort: "ref" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.hypercerts.claim.activity#workScopeString.scope", sort: "maxLength", old_value: "1000", new_value: "10000" }
  • ConstraintRelaxed ConstraintRelaxed { vertex_id: "org.hypercerts.claim.activity#workScopeString.scope", sort: "maxGraphemes", old_value: "100", new_value: "1000" }

Additional Notes

  • Breaking: RemovedEdge { src: "org.hypercerts.claim.activity:body.description", tgt: "pub.leaflet.pages.linearDocument#main", kind: "ref", name: None }
  • Breaking: KindChanged { vertex_id: "org.hypercerts.claim.activity:body.description", old_kind: "ref", new_kind: "union" }
  • Non-breaking: AddedEdge { src: "org.hypercerts.claim.activity:body", tgt: "org.hypercerts.claim.activity:body.signatures", kind: "prop", name: Some("signatures") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.claim.activity:body.description", tgt: "org.hypercerts.claim.activity:body.description:variant0", kind: "variant", name: Some("org.hypercerts.defs#descriptionString") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.claim.activity:body.description", tgt: "org.hypercerts.claim.activity:body.description:variant1", kind: "variant", name: Some("pub.leaflet.pages.linearDocument") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.claim.activity:body.description", tgt: "org.hypercerts.claim.activity:body.description:variant2", kind: "variant", name: Some("com.atproto.repo.strongRef") }
  • Non-breaking: AddedEdge { src: "org.hypercerts.claim.activity:body.description:variant0", tgt: "org.hypercerts.defs#descriptionString", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.claim.activity:body.description:variant1", tgt: "pub.leaflet.pages.linearDocument", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.claim.activity:body.description:variant2", tgt: "com.atproto.repo.strongRef", kind: "ref", name: None }
  • Non-breaking: AddedEdge { src: "org.hypercerts.claim.activity:body.signatures", tgt: "app.certified.signature.defs#list", kind: "ref", name: None }
1 1
{
2 2
  "$type": "com.atproto.lexicon.schema",
3 3
  "defs": {
4 4
    "contributor": {
5 +
      "description": "A contributor to the activity, with identity, weight, and contribution details.",
5 6
      "properties": {
6 7
        "contributionDetails": {
7 8
          "description": "Inline contribution role object with a role string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record. The record referenced must conform with the lexicon org.hypercerts.claim.contribution.",
8 9
          "refs": [
9 10
            "#contributorRole",
10 11
            "com.atproto.repo.strongRef"
11 12
          ],
12 13
          "type": "union"
13 14
        },
14 15
        "contributionWeight": {
15 16
          "description": "The relative weight/importance of this contribution (stored as a string to avoid float precision issues). Must be a positive numeric value. Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.",
16 17
          "maxLength": 100,
17 18
          "type": "string"
18 19
        },
19 20
        "contributorIdentity": {
20 21
          "description": "Inline contributor identity object with an identity string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record. The record referenced must conform with the lexicon org.hypercerts.claim.contributorInformation.",
21 22
          "refs": [
22 23
            "#contributorIdentity",
23 24
            "com.atproto.repo.strongRef"
24 25
          ],
25 26
          "type": "union"
26 27
        }
27 28
      },
28 29
      "required": [
29 30
        "contributorIdentity"
30 31
      ],
31 32
      "type": "object"
32 33
    },
33 34
    "contributorIdentity": {
34 35
      "description": "Contributor information as a string (DID or identifier).",
35 36
      "properties": {
36 37
        "identity": {
37 38
          "description": "The contributor identity string (DID or identifier).",
38 39
          "maxGraphemes": 100,
39 40
          "maxLength": 1000,
40 41
          "type": "string"
41 42
        }
42 43
      },
43 44
      "required": [
44 45
        "identity"
45 46
      ],
46 47
      "type": "object"
47 48
    },
48 49
    "contributorRole": {
49 50
      "description": "Contribution details as a string.",
50 51
      "properties": {
51 52
        "role": {
52 53
          "description": "The contribution role or details.",
53 54
          "maxGraphemes": 100,
54 55
          "maxLength": 1000,
55 56
          "type": "string"
56 57
        }
57 58
      },
58 59
      "required": [
59 60
        "role"
60 61
      ],
61 62
      "type": "object"
62 63
    },
63 64
    "main": {
64 65
      "description": "A hypercert record tracking impact work.",
65 66
      "key": "any",
66 67
      "record": {
67 68
        "properties": {
68 69
          "contributors": {
69 70
            "description": "An array of contributor objects, each containing contributor information, weight, and contribution details.",
70 71
            "items": {
71 72
              "ref": "#contributor",
72 73
              "type": "ref"
73 74
            },
74 -
            "maxLength": 1000,
75 75
            "type": "array"
76 76
          },
77 77
          "createdAt": {
78 78
            "description": "Client-declared timestamp when this record was originally created",
79 79
            "format": "datetime",
80 80
            "type": "string"
81 81
          },
82 82
          "description": {
83 -
            "description": "Rich-text description, represented as a Leaflet linear document.",
84 -
            "ref": "pub.leaflet.pages.linearDocument#main",
85 -
            "type": "ref"
83 +
            "description": "Long-form description of the activity. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record.",
84 +
            "refs": [
85 +
              "org.hypercerts.defs#descriptionString",
86 +
              "pub.leaflet.pages.linearDocument",
87 +
              "com.atproto.repo.strongRef"
88 +
            ],
89 +
            "type": "union"
86 90
          },
87 91
          "endDate": {
88 92
            "description": "When the work ended",
89 93
            "format": "datetime",
90 94
            "type": "string"
91 95
          },
92 96
          "image": {
93 97
            "description": "The hypercert visual representation as a URI or image blob.",
94 98
            "refs": [
95 99
              "org.hypercerts.defs#uri",
96 100
              "org.hypercerts.defs#smallImage"
97 101
            ],
98 102
            "type": "union"
99 103
          },
100 104
          "locations": {
101 105
            "description": "An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.",
102 106
            "items": {
103 107
              "ref": "com.atproto.repo.strongRef",
104 108
              "type": "ref"
105 109
            },
106 110
            "maxLength": 1000,
107 111
            "type": "array"
108 112
          },
109 113
          "rights": {
110 114
            "description": "A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.",
111 115
            "ref": "com.atproto.repo.strongRef",
112 116
            "type": "ref"
113 117
          },
114 118
          "shortDescription": {
115 119
            "description": "Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.",
116 120
            "maxGraphemes": 300,
117 121
            "maxLength": 3000,
118 122
            "type": "string"
119 123
          },
120 124
          "shortDescriptionFacets": {
121 125
            "description": "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).",
122 126
            "items": {
123 127
              "ref": "app.bsky.richtext.facet",
124 128
              "type": "ref"
125 129
            },
126 130
            "type": "array"
127 131
          },
132 +
          "signatures": {
133 +
            "description": "Optional cryptographic signatures attesting to this record's content.",
134 +
            "ref": "app.certified.signature.defs#list",
135 +
            "type": "ref"
136 +
          },
128 137
          "startDate": {
129 138
            "description": "When the work began",
130 139
            "format": "datetime",
131 140
            "type": "string"
132 141
          },
133 142
          "title": {
134 143
            "description": "Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')",
135 144
            "maxLength": 256,
136 145
            "type": "string"
137 146
          },
138 147
          "workScope": {
139 148
            "description": "Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes.",
140 149
            "refs": [
141 150
              "org.hypercerts.workscope.cel",
142 151
              "#workScopeString"
143 152
            ],
144 153
            "type": "union"
145 154
          }
146 155
        },
147 156
        "required": [
148 157
          "title",
149 158
          "shortDescription",
150 159
          "createdAt"
151 160
        ],
152 161
        "type": "object"
153 162
      },
154 163
      "type": "record"
155 164
    },
156 165
    "workScopeString": {
157 166
      "description": "A free-form string describing the work scope for simple or legacy scopes.",
158 167
      "properties": {
159 168
        "scope": {
160 169
          "description": "The work scope description string.",
161 -
          "maxGraphemes": 100,
162 -
          "maxLength": 1000,
170 +
          "maxGraphemes": 1000,
171 +
          "maxLength": 10000,
163 172
          "type": "string"
164 173
        }
165 174
      },
166 175
      "required": [
167 176
        "scope"
168 177
      ],
169 178
      "type": "object"
170 179
    }
171 180
  },
172 181
  "id": "org.hypercerts.claim.activity",
173 182
  "lexicon": 1
174 183
}

Compare Other Versions

Lexicon Garden

@