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: "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" }

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

Compare Other Versions

Lexicon Garden

@