org.hypercerts.claim.activity

hypercerts.org

Schema Diff

+7 -2

From

CID
bafyreiaaiznuryq...
Indexed At
2026-04-07 22:42 UTC
View this version

To

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

Compatibility Analysis

Backward Compatible

Backward compatible. 6 non-breaking changes.

Non-Breaking Changes (6)
  • AddedVertex AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.signatures" }
  • 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.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" }

Migration Guidance

Added Elements

  • AddedVertex { vertex_id: "app.certified.signature.defs#list" }
  • AddedVertex { vertex_id: "org.hypercerts.claim.activity:body.signatures" }

Constraint Changes

  • 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

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

Compare Other Versions

Lexicon Garden

@