@hypercerts-org/lexicon 0.10.0-beta.14 → 0.10.0-beta.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +117 -12
  3. package/SCHEMAS.md +300 -158
  4. package/dist/exports.d.ts +604 -171
  5. package/dist/exports.d.ts.map +1 -1
  6. package/dist/generated/exports.d.ts +604 -171
  7. package/dist/generated/exports.d.ts.map +1 -1
  8. package/dist/generated/lexicons.d.ts +1256 -440
  9. package/dist/generated/lexicons.d.ts.map +1 -1
  10. package/dist/generated/types/app/certified/actor/organization.d.ts +32 -0
  11. package/dist/generated/types/app/certified/actor/organization.d.ts.map +1 -0
  12. package/dist/generated/types/app/certified/actor/profile.d.ts +4 -1
  13. package/dist/generated/types/app/certified/actor/profile.d.ts.map +1 -1
  14. package/dist/generated/types/app/certified/badge/award.d.ts +2 -0
  15. package/dist/generated/types/app/certified/badge/award.d.ts.map +1 -1
  16. package/dist/generated/types/app/certified/badge/response.d.ts +1 -1
  17. package/dist/generated/types/app/certified/badge/response.d.ts.map +1 -1
  18. package/dist/generated/types/app/certified/location.d.ts +4 -4
  19. package/dist/generated/types/app/certified/location.d.ts.map +1 -1
  20. package/dist/generated/types/org/hyperboards/board.d.ts +75 -0
  21. package/dist/generated/types/org/hyperboards/board.d.ts.map +1 -0
  22. package/dist/generated/types/org/hyperboards/displayProfile.d.ts +31 -0
  23. package/dist/generated/types/org/hyperboards/displayProfile.d.ts.map +1 -0
  24. package/dist/generated/types/org/hypercerts/claim/activity.d.ts +8 -9
  25. package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  26. package/dist/generated/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
  27. package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  28. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
  29. package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
  30. package/dist/generated/types/org/hypercerts/claim/rights.d.ts +3 -3
  31. package/dist/generated/types/org/hypercerts/claim/rights.d.ts.map +1 -1
  32. package/dist/{types/org/hypercerts/claim → generated/types/org/hypercerts}/collection.d.ts +10 -10
  33. package/dist/generated/types/org/hypercerts/collection.d.ts.map +1 -0
  34. package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
  35. package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
  36. package/dist/generated/types/org/hypercerts/{claim → context}/attachment.d.ts +6 -8
  37. package/dist/generated/types/org/hypercerts/context/attachment.d.ts.map +1 -0
  38. package/dist/generated/types/org/hypercerts/{claim → context}/evaluation.d.ts +15 -15
  39. package/dist/generated/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
  40. package/dist/{types/org/hypercerts/claim → generated/types/org/hypercerts/context}/measurement.d.ts +7 -6
  41. package/dist/generated/types/org/hypercerts/context/measurement.d.ts.map +1 -0
  42. package/dist/generated/types/org/hypercerts/defs.d.ts +8 -0
  43. package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -1
  44. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +1 -1
  45. package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  46. package/dist/generated/types/org/hypercerts/workscope/cel.d.ts +20 -0
  47. package/dist/generated/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
  48. package/dist/generated/types/org/hypercerts/workscope/tag.d.ts +36 -0
  49. package/dist/generated/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
  50. package/dist/index.cjs +1931 -805
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.mjs +1883 -777
  53. package/dist/index.mjs.map +1 -1
  54. package/dist/lexicons.cjs +689 -240
  55. package/dist/lexicons.cjs.map +1 -1
  56. package/dist/lexicons.d.ts +1256 -440
  57. package/dist/lexicons.d.ts.map +1 -1
  58. package/dist/lexicons.mjs +689 -240
  59. package/dist/lexicons.mjs.map +1 -1
  60. package/dist/types/app/certified/actor/organization.d.ts +32 -0
  61. package/dist/types/app/certified/actor/organization.d.ts.map +1 -0
  62. package/dist/types/app/certified/actor/profile.d.ts +4 -1
  63. package/dist/types/app/certified/actor/profile.d.ts.map +1 -1
  64. package/dist/types/app/certified/badge/award.d.ts +2 -0
  65. package/dist/types/app/certified/badge/award.d.ts.map +1 -1
  66. package/dist/types/app/certified/badge/response.d.ts +1 -1
  67. package/dist/types/app/certified/badge/response.d.ts.map +1 -1
  68. package/dist/types/app/certified/location.d.ts +4 -4
  69. package/dist/types/app/certified/location.d.ts.map +1 -1
  70. package/dist/types/org/hyperboards/board.d.ts +75 -0
  71. package/dist/types/org/hyperboards/board.d.ts.map +1 -0
  72. package/dist/types/org/hyperboards/displayProfile.d.ts +31 -0
  73. package/dist/types/org/hyperboards/displayProfile.d.ts.map +1 -0
  74. package/dist/types/org/hypercerts/claim/activity.d.ts +8 -9
  75. package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
  76. package/dist/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
  77. package/dist/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
  78. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
  79. package/dist/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
  80. package/dist/types/org/hypercerts/claim/rights.d.ts +3 -3
  81. package/dist/types/org/hypercerts/claim/rights.d.ts.map +1 -1
  82. package/dist/{generated/types/org/hypercerts/claim → types/org/hypercerts}/collection.d.ts +10 -10
  83. package/dist/types/org/hypercerts/collection.d.ts.map +1 -0
  84. package/dist/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
  85. package/dist/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
  86. package/dist/types/org/hypercerts/{claim → context}/attachment.d.ts +6 -8
  87. package/dist/types/org/hypercerts/context/attachment.d.ts.map +1 -0
  88. package/dist/types/org/hypercerts/{claim → context}/evaluation.d.ts +15 -15
  89. package/dist/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
  90. package/dist/{generated/types/org/hypercerts/claim → types/org/hypercerts/context}/measurement.d.ts +7 -6
  91. package/dist/types/org/hypercerts/context/measurement.d.ts.map +1 -0
  92. package/dist/types/org/hypercerts/defs.d.ts +8 -0
  93. package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
  94. package/dist/types/org/hypercerts/funding/receipt.d.ts +1 -1
  95. package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
  96. package/dist/types/org/hypercerts/workscope/cel.d.ts +20 -0
  97. package/dist/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
  98. package/dist/types/org/hypercerts/workscope/tag.d.ts +36 -0
  99. package/dist/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
  100. package/lexicons/app/certified/actor/organization.json +70 -0
  101. package/lexicons/app/certified/actor/profile.json +13 -3
  102. package/lexicons/app/certified/badge/award.json +8 -1
  103. package/lexicons/app/certified/badge/definition.json +8 -3
  104. package/lexicons/app/certified/badge/response.json +3 -2
  105. package/lexicons/app/certified/location.json +13 -4
  106. package/lexicons/org/hyperboards/board.json +152 -0
  107. package/lexicons/org/hyperboards/displayProfile.json +64 -0
  108. package/lexicons/org/hypercerts/claim/activity.json +23 -29
  109. package/lexicons/org/hypercerts/claim/{contributionDetails.json → contribution.json} +4 -4
  110. package/lexicons/org/hypercerts/claim/contributorInformation.json +3 -2
  111. package/lexicons/org/hypercerts/claim/rights.json +5 -3
  112. package/lexicons/org/hypercerts/{claim/collection.json → collection.json} +9 -6
  113. package/lexicons/org/hypercerts/context/acknowledgement.json +42 -0
  114. package/lexicons/org/hypercerts/{claim → context}/attachment.json +6 -15
  115. package/lexicons/org/hypercerts/{claim → context}/evaluation.json +22 -22
  116. package/lexicons/org/hypercerts/{claim → context}/measurement.json +13 -9
  117. package/lexicons/org/hypercerts/defs.json +14 -1
  118. package/lexicons/org/hypercerts/funding/receipt.json +12 -6
  119. package/lexicons/org/hypercerts/workscope/cel.json +39 -0
  120. package/lexicons/org/hypercerts/workscope/tag.json +87 -0
  121. package/package.json +1 -1
  122. package/dist/generated/types/org/hypercerts/claim/attachment.d.ts.map +0 -1
  123. package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +0 -1
  124. package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
  125. package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
  126. package/dist/generated/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
  127. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
  128. package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
  129. package/dist/types/org/hypercerts/claim/attachment.d.ts.map +0 -1
  130. package/dist/types/org/hypercerts/claim/collection.d.ts.map +0 -1
  131. package/dist/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
  132. package/dist/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
  133. package/dist/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
  134. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
  135. package/dist/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
  136. package/lexicons/org/hypercerts/helper/workScopeTag.json +0 -65
package/SCHEMAS.md CHANGED
@@ -15,31 +15,30 @@ Hypercerts-specific lexicons for tracking impact work and claims.
15
15
 
16
16
  #### Properties
17
17
 
18
- | Property | Type | Required | Description | Comments |
19
- | ------------------------ | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
20
- | `title` | `string` | ✅ | Title of the hypercert. | maxLength: 256 |
21
- | `shortDescription` | `string` | ✅ | Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
22
- | `shortDescriptionFacets` | `ref` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
23
- | `description` | `string` | ❌ | Optional longer description of this activity claim, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`. | maxLength: 30000, maxGraphemes: 3000 |
24
- | `descriptionFacets` | `ref` | ❌ | Rich text annotations for `description` (mentions, URLs, hashtags, etc). | |
25
- | `image` | `union` | ❌ | The hypercert visual representation as a URI or image blob. | |
26
- | `workScope` | `union` | ❌ | Work scope definition. Either a strongRef to a work-scope logic record (structured, nested logic), or a free-form string for simple or legacy scopes. The work scope record should conform to the org.hypercerts.helper.workScopeTag lexicon. | |
27
- | `startDate` | `string` | ❌ | When the work began | |
28
- | `endDate` | `string` | ❌ | When the work ended | |
29
- | `contributors` | `ref` | ❌ | An array of contributor objects, each containing contributor information, weight, and contribution details. | |
30
- | `rights` | `ref` | ❌ | A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights. | |
31
- | `locations` | `ref` | | An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location. | |
32
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
18
+ | Property | Type | Required | Description | Comments |
19
+ | ------------------------ | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
20
+ | `title` | `string` | ✅ | Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024') | maxLength: 256 |
21
+ | `shortDescription` | `string` | ✅ | Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
22
+ | `shortDescriptionFacets` | `ref[]` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
23
+ | `description` | `ref` | ❌ | Rich-text description, represented as a Leaflet linear document. | |
24
+ | `image` | `union` | ❌ | The hypercert visual representation as a URI or image blob. | |
25
+ | `contributors` | `ref[]` | ❌ | An array of contributor objects, each containing contributor information, weight, and contribution details. | maxLength: 1000 |
26
+ | `workScope` | `union` | ❌ | Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes. | |
27
+ | `startDate` | `string` | ❌ | When the work began | |
28
+ | `endDate` | `string` | ❌ | When the work ended | |
29
+ | `locations` | `ref[]` | ❌ | An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location. | maxLength: 1000 |
30
+ | `rights` | `ref` | ❌ | A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights. | |
31
+ | `createdAt` | `string` | | Client-declared timestamp when this record was originally created | |
33
32
 
34
33
  #### Defs
35
34
 
36
35
  ##### `org.hypercerts.claim.activity#contributor`
37
36
 
38
- | Property | Type | Required | Description |
39
- | --------------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
40
- | `contributorIdentity` | `union` | ✅ | Contributor identity as a string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record. |
41
- | `contributionWeight` | `string` | ❌ | 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. |
42
- | `contributionDetails` | `union` | ❌ | Contribution details as a string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record. |
37
+ | Property | Type | Required | Description |
38
+ | --------------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
39
+ | `contributorIdentity` | `union` | ✅ | 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. |
40
+ | `contributionWeight` | `string` | ❌ | 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. |
41
+ | `contributionDetails` | `union` | ❌ | 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. |
43
42
 
44
43
  ##### `org.hypercerts.claim.activity#contributorIdentity`
45
44
 
@@ -61,30 +60,60 @@ Hypercerts-specific lexicons for tracking impact work and claims.
61
60
 
62
61
  ---
63
62
 
64
- ### `org.hypercerts.claim.attachment`
63
+ ### `org.hypercerts.claim.contribution`
65
64
 
66
- **Description:** An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).
65
+ **Description:** Details about a specific contribution including role, description, and timeframe.
66
+
67
+ **Key:** `tid`
68
+
69
+ #### Properties
70
+
71
+ | Property | Type | Required | Description | Comments |
72
+ | ------------------------- | -------- | -------- | ------------------------------------------------------------------------------------- | ------------------------------------ |
73
+ | `role` | `string` | ❌ | Role or title of the contributor. | maxLength: 100 |
74
+ | `contributionDescription` | `string` | ❌ | Description of what the contribution concretely involved. | maxLength: 10000, maxGraphemes: 1000 |
75
+ | `startDate` | `string` | ❌ | When this contribution started. Should fall within the parent hypercert's timeframe. | |
76
+ | `endDate` | `string` | ❌ | When this contribution finished. Should fall within the parent hypercert's timeframe. | |
77
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
78
+
79
+ ---
80
+
81
+ ### `org.hypercerts.claim.contributorInformation`
82
+
83
+ **Description:** Contributor information including identifier, display name, and image.
84
+
85
+ **Key:** `tid`
86
+
87
+ #### Properties
88
+
89
+ | Property | Type | Required | Description | Comments |
90
+ | ------------- | -------- | -------- | ------------------------------------------------------------------ | --------------- |
91
+ | `identifier` | `string` | ❌ | DID (did:plc:...) or URI to a social profile of the contributor. | maxLength: 2048 |
92
+ | `displayName` | `string` | ❌ | Human-readable name for the contributor as it should appear in UI. | maxLength: 100 |
93
+ | `image` | `union` | ❌ | The contributor visual representation as a URI or image blob. | |
94
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
95
+
96
+ ---
97
+
98
+ ### `org.hypercerts.claim.rights`
99
+
100
+ **Description:** Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.
67
101
 
68
102
  **Key:** `tid`
69
103
 
70
104
  #### Properties
71
105
 
72
- | Property | Type | Required | Description | Comments |
73
- | ------------------------ | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
74
- | `subjects` | `ref` | | References to the subject(s) the attachment is connected to—this may be an activity claim, outcome claim, measurement, evaluation, or even another attachment. This is optional as the attachment can exist before the claim is recorded. | maxLength: 100 |
75
- | `contentType` | `string` | | The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc. | maxLength: 64 |
76
- | `content` | `union` | ✅ | The files, documents, or external references included in this attachment record. | maxLength: 100 |
77
- | `title` | `string` | | Title of this attachment. | maxLength: 256 |
78
- | `shortDescription` | `string` | | Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
79
- | `shortDescriptionFacets` | `ref` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
80
- | `description` | `string` | ❌ | Optional longer description of this attachment, including context or interpretation. Rich text annotations may be provided via `descriptionFacets`. | maxLength: 30000, maxGraphemes: 3000 |
81
- | `descriptionFacets` | `ref` | ❌ | Rich text annotations for `description` (mentions, URLs, hashtags, etc). | |
82
- | `location` | `ref` | ❌ | A strong reference to the location where this attachment's subject matter occurred. The record referenced must conform with the lexicon app.certified.location. | |
83
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
106
+ | Property | Type | Required | Description | Comments |
107
+ | ------------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------ | ------------------------------------ |
108
+ | `rightsName` | `string` | | Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0') | maxLength: 100 |
109
+ | `rightsType` | `string` | | Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search | maxLength: 10 |
110
+ | `rightsDescription` | `string` | ✅ | Detailed explanation of the rights holders' permissions, restrictions, and conditions | maxLength: 10000, maxGraphemes: 1000 |
111
+ | `attachment` | `union` | | An attachment to define the rights further, e.g. a legal document. | |
112
+ | `createdAt` | `string` | | Client-declared timestamp when this record was originally created | |
84
113
 
85
114
  ---
86
115
 
87
- ### `org.hypercerts.claim.collection`
116
+ ### `org.hypercerts.collection`
88
117
 
89
118
  **Description:** A collection/group of items (activities and/or other collections). Collections support recursive nesting.
90
119
 
@@ -94,63 +123,68 @@ Hypercerts-specific lexicons for tracking impact work and claims.
94
123
 
95
124
  | Property | Type | Required | Description | Comments |
96
125
  | ------------------ | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
97
- | `type` | `string` | ❌ | The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection. | |
98
- | `title` | `string` | ✅ | The title of this collection | maxLength: 800, maxGraphemes: 80 |
126
+ | `type` | `string` | ❌ | The type of this collection. Possible fields can be 'favorites', 'project', or any other type of collection. | maxLength: 64 |
127
+ | `title` | `string` | ✅ | Display name for this collection (e.g. 'Q1 2025 Impact Projects') | maxLength: 800, maxGraphemes: 80 |
99
128
  | `shortDescription` | `string` | ❌ | Short summary of this collection, suitable for previews and list views | maxLength: 3000, maxGraphemes: 300 |
100
129
  | `description` | `ref` | ❌ | Rich-text description, represented as a Leaflet linear document. | |
101
130
  | `avatar` | `union` | ❌ | The collection's avatar/profile image as a URI or image blob. | |
102
131
  | `banner` | `union` | ❌ | Larger horizontal image to display behind the collection view. | |
103
- | `items` | `ref` | | Array of items in this collection with optional weights. | |
132
+ | `items` | `ref[]` | | Array of items in this collection with optional weights. | maxLength: 1000 |
104
133
  | `location` | `ref` | ❌ | A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location. | |
105
134
  | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
106
135
 
107
136
  #### Defs
108
137
 
109
- ##### `org.hypercerts.claim.collection#item`
138
+ ##### `org.hypercerts.collection#item`
110
139
 
111
140
  | Property | Type | Required | Description |
112
141
  | ---------------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
113
- | `itemIdentifier` | `ref` | ✅ | Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.claim.collection). |
142
+ | `itemIdentifier` | `ref` | ✅ | Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection). |
114
143
  | `itemWeight` | `string` | ❌ | Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed. |
115
144
 
116
145
  ---
117
146
 
118
- ### `org.hypercerts.claim.contributionDetails`
147
+ ### `org.hypercerts.context.acknowledgement`
119
148
 
120
- **Description:** Details about a specific contribution including role, description, and timeframe.
149
+ **Description:** Acknowledges a record (subject) or its relationship in a context. Created in the acknowledging actor's repo to form a bidirectional link. Examples: a contributor acknowledging inclusion in an activity, an activity owner acknowledging inclusion in a collection, or a record owner acknowledging an evaluation.
121
150
 
122
151
  **Key:** `tid`
123
152
 
124
153
  #### Properties
125
154
 
126
- | Property | Type | Required | Description | Comments |
127
- | ------------------------- | -------- | -------- | ------------------------------------------------------------------------------------ | ------------------------------------ |
128
- | `role` | `string` | | Role or title of the contributor. | maxLength: 100 |
129
- | `contributionDescription` | `string` | ❌ | What the contribution concretely was. | maxLength: 10000, maxGraphemes: 1000 |
130
- | `startDate` | `string` | | When this contribution started. This should be a subset of the hypercert timeframe. | |
131
- | `endDate` | `string` | ❌ | When this contribution finished. This should be a subset of the hypercert timeframe. | |
132
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
155
+ | Property | Type | Required | Description | Comments |
156
+ | -------------- | --------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
157
+ | `subject` | `ref` | | The record being acknowledged (e.g. an activity, a contributor information record, an evaluation). | |
158
+ | `context` | `union` | ❌ | Context for the acknowledgement (e.g. the collection that includes an activity, or the activity that includes a contributor). A URI for a lightweight reference or a strong reference for content-hash verification. | |
159
+ | `acknowledged` | `boolean` | | Whether the relationship is acknowledged (true) or rejected (false). | |
160
+ | `comment` | `string` | ❌ | Optional plain-text comment providing additional context or reasoning. | maxLength: 10000, maxGraphemes: 1000 |
161
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
133
162
 
134
163
  ---
135
164
 
136
- ### `org.hypercerts.claim.contributorInformation`
165
+ ### `org.hypercerts.context.attachment`
137
166
 
138
- **Description:** Contributor information including identifier, display name, and image.
167
+ **Description:** An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).
139
168
 
140
169
  **Key:** `tid`
141
170
 
142
171
  #### Properties
143
172
 
144
- | Property | Type | Required | Description | Comments |
145
- | ------------- | -------- | -------- | ------------------------------------------------------------------ | -------------- |
146
- | `identifier` | `string` | ❌ | DID or a URI to a social profile of the contributor. | |
147
- | `displayName` | `string` | ❌ | Display name of the contributor. | maxLength: 100 |
148
- | `image` | `union` | ❌ | The contributor visual representation as a URI or image blob. | |
149
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
173
+ | Property | Type | Required | Description | Comments |
174
+ | ------------------------ | --------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
175
+ | `subjects` | `ref[]` | ❌ | References to the subject(s) the attachment is connected to—this may be an activity claim, outcome claim, measurement, evaluation, or even another attachment. This is optional as the attachment can exist before the claim is recorded. | maxLength: 100 |
176
+ | `contentType` | `string` | ❌ | The type of attachment, e.g. report, audit, evidence, testimonial, methodology, etc. | maxLength: 64 |
177
+ | `content` | `union[]` | ❌ | The files, documents, or external references included in this attachment record. | maxLength: 100 |
178
+ | `title` | `string` | ✅ | Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings') | maxLength: 256 |
179
+ | `shortDescription` | `string` | ❌ | Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 |
180
+ | `shortDescriptionFacets` | `ref[]` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | |
181
+ | `description` | `ref` | ❌ | Rich-text description, represented as a Leaflet linear document. | |
182
+ | `location` | `ref` | ❌ | A strong reference to the location where this attachment's subject matter occurred. The record referenced must conform with the lexicon app.certified.location. | |
183
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
150
184
 
151
185
  ---
152
186
 
153
- ### `org.hypercerts.claim.evaluation`
187
+ ### `org.hypercerts.context.evaluation`
154
188
 
155
189
  **Description:** An evaluation of a hypercert record (e.g. an activity and its impact).
156
190
 
@@ -158,20 +192,20 @@ Hypercerts-specific lexicons for tracking impact work and claims.
158
192
 
159
193
  #### Properties
160
194
 
161
- | Property | Type | Required | Description | Comments |
162
- | -------------- | -------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
163
- | `subject` | `ref` | ❌ | A strong reference to what is being evaluated. (e.g activity, measurement, contribution, etc.) | |
164
- | `evaluators` | `ref` | ✅ | DIDs of the evaluators | maxLength: 1000 |
165
- | `content` | `union` | ❌ | Evaluation data (URIs or blobs) containing detailed reports or methodology | maxLength: 100 |
166
- | `measurements` | `ref` | ❌ | Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.claim.measurement | maxLength: 100 |
167
- | `summary` | `string` | ✅ | Brief evaluation summary | maxLength: 5000, maxGraphemes: 1000 |
168
- | `score` | `ref` | ❌ | Overall score for an evaluation on a numeric scale. | |
169
- | `location` | `ref` | ❌ | An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location. | |
170
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
195
+ | Property | Type | Required | Description | Comments |
196
+ | -------------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
197
+ | `subject` | `ref` | ❌ | A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.) | |
198
+ | `evaluators` | `ref[]` | ✅ | DIDs of the evaluators | maxLength: 1000 |
199
+ | `content` | `union[]` | ❌ | Evaluation data (URIs or blobs) containing detailed reports or methodology | maxLength: 100 |
200
+ | `measurements` | `ref[]` | ❌ | Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement | maxLength: 100 |
201
+ | `summary` | `string` | ✅ | Brief evaluation summary | maxLength: 5000, maxGraphemes: 1000 |
202
+ | `score` | `ref` | ❌ | Overall score for an evaluation on a numeric scale. | |
203
+ | `location` | `ref` | ❌ | An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location. | |
204
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
171
205
 
172
206
  #### Defs
173
207
 
174
- ##### `org.hypercerts.claim.evaluation#score`
208
+ ##### `org.hypercerts.context.evaluation#score`
175
209
 
176
210
  | Property | Type | Required | Description |
177
211
  | -------- | --------- | -------- | -------------------------------------------- |
@@ -181,93 +215,93 @@ Hypercerts-specific lexicons for tracking impact work and claims.
181
215
 
182
216
  ---
183
217
 
184
- ### `org.hypercerts.claim.measurement`
218
+ ### `org.hypercerts.context.measurement`
185
219
 
186
- **Description:** Measurement data related to a hypercert record (e.g. an activity and its impact).
220
+ **Description:** Measurement data related to one or more records (e.g. activities, projects, etc.).
187
221
 
188
222
  **Key:** `tid`
189
223
 
190
224
  #### Properties
191
225
 
192
- | Property | Type | Required | Description | Comments |
193
- | --------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
194
- | `subject` | `ref` | ❌ | A strong reference to the record this measurement refers to (e.g. an activity, project, or claim). | |
195
- | `metric` | `string` | ✅ | The metric being measured, e.g. forest area restored, number of users, etc. | maxLength: 500 |
196
- | `unit` | `string` | ✅ | The unit of the measured value (e.g. kg CO₂e, hectares, %, index score). | maxLength: 50 |
197
- | `value` | `string` | ✅ | The measured numeric value. | maxLength: 500 |
198
- | `startDate` | `string` | ❌ | The start date and time when the measurement began. | |
199
- | `endDate` | `string` | ❌ | The end date and time when the measurement ended. If it was a one time measurement, the endDate should be equal to the startDate. | |
200
- | `locations` | `ref` | ❌ | Optional geographic references related to where the measurement was taken. Each referenced record must conform with the app.certified.location lexicon. | maxLength: 100 |
201
- | `methodType` | `string` | ❌ | Short identifier for the measurement methodology | maxLength: 30 |
202
- | `methodURI` | `string` | ❌ | URI to methodology documentation, standard protocol, or measurement procedure | |
203
- | `evidenceURI` | `string` | ❌ | URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets) | maxLength: 50 |
204
- | `measurers` | `ref` | ❌ | DIDs of the entity (or entities) that measured this data | maxLength: 100 |
205
- | `comment` | `string` | ❌ | Short comment of this measurement, suitable for previews and list views. Rich text annotations may be provided via `commentFacets`. | maxLength: 3000, maxGraphemes: 300 |
206
- | `commentFacets` | `ref` | ❌ | Rich text annotations for `comment` (mentions, URLs, hashtags, etc). | |
207
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
226
+ | Property | Type | Required | Description | Comments |
227
+ | --------------- | ---------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------- |
228
+ | `subjects` | `ref[]` | ❌ | Strong references to the records this measurement refers to (e.g. activities, projects, or claims). | maxLength: 100 |
229
+ | `metric` | `string` | ✅ | The metric being measured, e.g. forest area restored, number of users, etc. | maxLength: 500 |
230
+ | `unit` | `string` | ✅ | The unit of the measured value (e.g. kg CO₂e, hectares, %, index score). | maxLength: 50 |
231
+ | `value` | `string` | ✅ | The measured value as a numeric string (e.g. '1234.56') | maxLength: 500 |
232
+ | `startDate` | `string` | ❌ | The start date and time when the measurement began. | |
233
+ | `endDate` | `string` | ❌ | The end date and time when the measurement ended. For one-time measurements, this should equal the start date. | |
234
+ | `locations` | `ref[]` | ❌ | Optional geographic references related to where the measurement was taken. Each referenced record must conform with the app.certified.location lexicon. | maxLength: 100 |
235
+ | `methodType` | `string` | ❌ | Short identifier for the measurement methodology | maxLength: 30 |
236
+ | `methodURI` | `string` | ❌ | URI to methodology documentation, standard protocol, or measurement procedure | |
237
+ | `evidenceURI` | `string[]` | ❌ | URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets) | maxLength: 50 |
238
+ | `measurers` | `ref[]` | ❌ | DIDs of the entities that performed this measurement | maxLength: 100 |
239
+ | `comment` | `string` | ❌ | Short comment of this measurement, suitable for previews and list views. Rich text annotations may be provided via `commentFacets`. | maxLength: 3000, maxGraphemes: 300 |
240
+ | `commentFacets` | `ref[]` | ❌ | Rich text annotations for `comment` (mentions, URLs, hashtags, etc). | |
241
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
208
242
 
209
243
  ---
210
244
 
211
- ### `org.hypercerts.claim.rights`
245
+ ### `org.hypercerts.funding.receipt`
212
246
 
213
- **Description:** Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.
247
+ **Description:** Records a funding receipt for a payment from one user to another user. It may be recorded by the recipient, by the sender, or by a third party. The sender may remain anonymous.
214
248
 
215
249
  **Key:** `tid`
216
250
 
217
251
  #### Properties
218
252
 
219
- | Property | Type | Required | Description | Comments |
220
- | ------------------- | -------- | -------- | ------------------------------------------------------------------ | -------------- |
221
- | `rightsName` | `string` | ✅ | Full name of the rights | maxLength: 100 |
222
- | `rightsType` | `string` | ✅ | Short rights identifier for easier search | maxLength: 10 |
223
- | `rightsDescription` | `string` | ✅ | Description of the rights of this hypercert | |
224
- | `attachment` | `union` | | An attachment to define the rights further, e.g. a legal document. | |
225
- | `createdAt` | `string` | | Client-declared timestamp when this record was originally created | |
253
+ | Property | Type | Required | Description | Comments |
254
+ | ---------------- | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
255
+ | `from` | `ref` | ✅ | DID of the sender who transferred the funds. Leave empty if sender wants to stay anonymous. | |
256
+ | `to` | `string` | ✅ | The recipient of the funds. Can be identified by DID or a clear-text name. | maxLength: 2048 |
257
+ | `amount` | `string` | ✅ | Amount of funding received as a numeric string (e.g. '1000.50'). | maxLength: 50 |
258
+ | `currency` | `string` | | Currency of the payment (e.g. EUR, USD, ETH). | maxLength: 10 |
259
+ | `paymentRail` | `string` | | How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor). | maxLength: 50 |
260
+ | `paymentNetwork` | `string` | ❌ | Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal). | maxLength: 50 |
261
+ | `transactionId` | `string` | ❌ | Identifier of the underlying payment transaction (e.g. bank reference, onchain transaction hash, or processor-specific ID). Use paymentNetwork to specify the network where applicable. | maxLength: 256 |
262
+ | `for` | `string` | ❌ | Optional reference to the activity, project, or organization this funding relates to. | |
263
+ | `notes` | `string` | ❌ | Optional notes or additional context for this funding receipt. | maxLength: 500 |
264
+ | `occurredAt` | `string` | ❌ | Timestamp when the payment occurred. | |
265
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this receipt record was created. | |
226
266
 
227
267
  ---
228
268
 
229
- ### `org.hypercerts.funding.receipt`
269
+ ### `org.hypercerts.workscope.cel`
230
270
 
231
- **Description:** Records a funding receipt for a payment from one user to another user. It may be recorded by the recipient, by the sender, or by a third party. The sender may remain anonymous.
232
-
233
- **Key:** `tid`
271
+ **Description:** A structured, machine-evaluable work scope definition using CEL (Common Expression Language). Tags referenced in the expression correspond to org.hypercerts.workscope.tag keys. See https://github.com/google/cel-spec. Note: this is intentionally type 'object' (not 'record') so it can be directly embedded inline in union types (e.g., activity.workScope) without requiring a separate collection or strongRef indirection.
234
272
 
235
273
  #### Properties
236
274
 
237
- | Property | Type | Required | Description | Comments |
238
- | ---------------- | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- |
239
- | `from` | `ref` | ✅ | DID of the sender who transferred the funds. Leave empty if sender wants to stay anonymous. | |
240
- | `to` | `string` | ✅ | The recipient of the funds. Can be identified by DID or a clear-text name. | |
241
- | `amount` | `string` | ✅ | Amount of funding received. | |
242
- | `currency` | `string` | ✅ | Currency of the payment (e.g. EUR, USD, ETH). | |
243
- | `paymentRail` | `string` | ❌ | How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor). | |
244
- | `paymentNetwork` | `string` | ❌ | Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal). | |
245
- | `transactionId` | `string` | ❌ | Identifier of the underlying payment transaction (e.g. bank reference, onchain transaction hash, or processor-specific ID). Use paymentNetwork to specify the network where applicable. | |
246
- | `for` | `string` | ❌ | Optional reference to the activity, project, or organization this funding relates to. | |
247
- | `notes` | `string` | ❌ | Optional notes or additional context for this funding receipt. | maxLength: 500 |
248
- | `occurredAt` | `string` | ❌ | Timestamp when the payment occurred. | |
249
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this receipt record was created. | |
275
+ | Property | Type | Required | Description | Comments |
276
+ | ------------ | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |
277
+ | `expression` | `string` | ✅ | A CEL expression encoding the work scope conditions. Example: scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE' | maxLength: 10000, maxGraphemes: 5000 |
278
+ | `usedTags` | `ref[]` | ✅ | Strong references to org.hypercerts.workscope.tag records used in the expression. Enables fast indexing by AT-URI and provides referential integrity to the underlying tag records. | maxLength: 100 |
279
+ | `version` | `string` | ✅ | CEL context schema version. | maxLength: 16, Known values: `v1` |
280
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this expression was originally created. | |
250
281
 
251
282
  ---
252
283
 
253
- ### `org.hypercerts.helper.workScopeTag`
284
+ ### `org.hypercerts.workscope.tag`
254
285
 
255
- **Description:** A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.
286
+ **Description:** A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels. Tags are composed into structured expressions via CEL (Common Expression Language) on activity records.
256
287
 
257
288
  **Key:** `tid`
258
289
 
259
290
  #### Properties
260
291
 
261
- | Property | Type | Required | Description | Comments |
262
- | ------------------- | -------- | -------- | ------------------------------------------------------------------------------------------------ | ------------------------------------ |
263
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
264
- | `key` | `string` | ✅ | Lowercase, hyphenated machine-readable key for this scope (e.g., 'ipfs', 'go-lang', 'filecoin'). | maxLength: 120 |
265
- | `label` | `string` | | Human-readable label for this scope. | maxLength: 200 |
266
- | `kind` | `string` | ❌ | Category type of this scope. Recommended values: topic, language, domain, method, tag. | maxLength: 50 |
267
- | `description` | `string` | ❌ | Optional longer description of this scope. | maxLength: 10000, maxGraphemes: 1000 |
268
- | `parent` | `ref` | ❌ | Optional strong reference to a parent scope record for taxonomy/hierarchy support. | |
269
- | `aliases` | `string` | ❌ | Optional array of alternative names or identifiers for this scope. | maxLength: 50 |
270
- | `externalReference` | `union` | ❌ | Optional external reference for this scope as a URI or blob. | |
292
+ | Property | Type | Required | Description | Comments |
293
+ | ------------------- | ---------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
294
+ | `key` | `string` | ✅ | Lowercase, underscore-separated machine-readable key for this scope (e.g., 'mangrove_restoration', 'biodiversity_monitoring'). Used as the canonical identifier in CEL expressions. | maxLength: 120 |
295
+ | `name` | `string` | ✅ | Human-readable name for this scope. | maxLength: 200 |
296
+ | `category` | `string` | | Category type of this scope. | maxLength: 50, Known values: `topic`, `language`, `domain`, `method` |
297
+ | `description` | `string` | ❌ | Optional longer description of this scope. | maxLength: 10000, maxGraphemes: 1000 |
298
+ | `parent` | `ref` | ❌ | Optional strong reference to a parent work scope tag record for taxonomy/hierarchy support. The record referenced must conform with the lexicon org.hypercerts.workscope.tag. | |
299
+ | `status` | `string` | ❌ | Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy. | maxLength: 20, Known values: `proposed`, `accepted`, `deprecated` |
300
+ | `supersededBy` | `ref` | ❌ | When status is 'deprecated', points to the replacement work scope tag record. The record referenced must conform with the lexicon org.hypercerts.workscope.tag. | |
301
+ | `aliases` | `string[]` | ❌ | Alternative human-readable names for this scope (e.g., translations, abbreviations, or common synonyms). Unlike sameAs, these are plain-text labels, not links to external ontologies. | maxLength: 50 |
302
+ | `sameAs` | `string[]` | ❌ | URIs to semantically equivalent concepts in external ontologies or taxonomies (e.g., Wikidata QIDs, ENVO terms, SDG targets). Used for interoperability, not as documentation. | maxLength: 20 |
303
+ | `referenceDocument` | `union` | ❌ | Link to a governance or reference document where this work scope tag is defined and further explained. | |
304
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
271
305
 
272
306
  ---
273
307
 
@@ -283,15 +317,15 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
283
317
 
284
318
  #### Properties
285
319
 
286
- | Property | Type | Required | Description | Comments |
287
- | -------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
288
- | `lpVersion` | `string` | ✅ | The version of the Location Protocol | maxLength: 10 |
289
- | `srs` | `string` | ✅ | The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system. | maxLength: 100 |
290
- | `locationType` | `string` | ✅ | An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point) | maxLength: 20, Known values: `coordinate-decimal`, `geojson-point` |
291
- | `location` | `union` | ✅ | The location of where the work was performed as a URI, blob, or inline string. | |
292
- | `name` | `string` | ❌ | Optional name for this location | maxLength: 1000, maxGraphemes: 100 |
293
- | `description` | `string` | ❌ | Optional description for this location | maxLength: 2000, maxGraphemes: 500 |
294
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
320
+ | Property | Type | Required | Description | Comments |
321
+ | -------------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
322
+ | `lpVersion` | `string` | ✅ | The version of the Location Protocol | maxLength: 10 |
323
+ | `srs` | `string` | ✅ | The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system. | maxLength: 100 |
324
+ | `locationType` | `string` | ✅ | An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry | maxLength: 20, Known values: `coordinate-decimal`, `geojson-point`, `geojson`, `h3`, `geohash`, `wkt`, `address`, `scaledCoordinates` |
325
+ | `location` | `union` | ✅ | The location of where the work was performed as a URI, blob, or inline string. | |
326
+ | `name` | `string` | ❌ | Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area') | maxLength: 1000, maxGraphemes: 100 |
327
+ | `description` | `string` | ❌ | Additional context about this location, such as its significance to the work or specific boundaries | maxLength: 2000, maxGraphemes: 500 |
328
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
295
329
 
296
330
  #### Defs
297
331
 
@@ -313,11 +347,11 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
313
347
 
314
348
  | Property | Type | Required | Description | Comments |
315
349
  | ---------------- | -------- | -------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
316
- | `badgeType` | `string` | ✅ | Category of the badge (e.g. endorsement, participation, affiliation). | |
317
- | `title` | `string` | ✅ | Human-readable title of the badge. | |
350
+ | `badgeType` | `string` | ✅ | Category of the badge (e.g. endorsement, participation, affiliation). | maxLength: 100 |
351
+ | `title` | `string` | ✅ | Human-readable title of the badge. | maxLength: 256 |
318
352
  | `icon` | `blob` | ✅ | Icon representing the badge, stored as a blob for compact visual display. | maxSize: 1048576, accepts: image/png, image/jpeg, image/webp, image/svg+xml |
319
- | `description` | `string` | ❌ | Optional short statement describing what the badge represents. | |
320
- | `allowedIssuers` | `ref` | ❌ | Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it. | |
353
+ | `description` | `string` | ❌ | Optional short statement describing what the badge represents. | maxLength: 5000, maxGraphemes: 500 |
354
+ | `allowedIssuers` | `ref[]` | ❌ | Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it. | maxLength: 100 |
321
355
  | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
322
356
 
323
357
  ---
@@ -330,12 +364,13 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
330
364
 
331
365
  #### Properties
332
366
 
333
- | Property | Type | Required | Description |
334
- | ----------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
335
- | `badge` | `ref` | ✅ | Reference to the badge definition for this award. |
336
- | `subject` | `union` | ✅ | Entity the badge award is for (either an account DID or any specific AT Protocol record), e.g. a user, a project, or a specific activity claim. |
337
- | `note` | `string` | ❌ | Optional statement explaining the reason for this badge award. |
338
- | `createdAt` | `string` | | Client-declared timestamp when this record was originally created |
367
+ | Property | Type | Required | Description | Comments |
368
+ | ----------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
369
+ | `badge` | `ref` | ✅ | Reference to the badge definition for this award. | |
370
+ | `subject` | `union` | ✅ | Entity the badge award is for (either an account DID or any specific AT Protocol record), e.g. a user, a project, or a specific activity claim. | |
371
+ | `note` | `string` | ❌ | Optional statement explaining the reason for this badge award. | maxLength: 500 |
372
+ | `url` | `string` | | Optional URL the badge award links to. | maxLength: 2048 |
373
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
339
374
 
340
375
  ---
341
376
 
@@ -347,18 +382,45 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
347
382
 
348
383
  #### Properties
349
384
 
350
- | Property | Type | Required | Description |
351
- | ------------ | -------- | -------- | ------------------------------------------------------------------------ |
352
- | `badgeAward` | `ref` | ✅ | Reference to the badge award. |
353
- | `response` | `string` | ✅ | The recipient’s response for the badge (accepted or rejected). |
354
- | `weight` | `string` | ❌ | Optional relative weight for accepted badges, assigned by the recipient. |
355
- | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created |
385
+ | Property | Type | Required | Description | Comments |
386
+ | ------------ | -------- | -------- | ------------------------------------------------------------------------ | ------------------------------------ |
387
+ | `badgeAward` | `ref` | ✅ | Reference to the badge award. | |
388
+ | `response` | `string` | ✅ | The recipient’s response for the badge (accepted or rejected). | Known values: `accepted`, `rejected` |
389
+ | `weight` | `string` | ❌ | Optional relative weight for accepted badges, assigned by the recipient. | maxLength: 50 |
390
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | |
391
+
392
+ ---
393
+
394
+ ### `app.certified.actor.organization`
395
+
396
+ **Description:** Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.
397
+
398
+ **Key:** `literal:self`
399
+
400
+ #### Properties
401
+
402
+ | Property | Type | Required | Description | Comments |
403
+ | ------------------ | ---------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------- |
404
+ | `organizationType` | `string[]` | ❌ | Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative'). | maxLength: 10 |
405
+ | `urls` | `ref[]` | ❌ | Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL. | |
406
+ | `location` | `ref` | ❌ | A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location. | |
407
+ | `foundedDate` | `string` | ❌ | When the organization was established. Stored as datetime per ATProto conventions (no date-only format exists). Clients should use midnight UTC (e.g., '2005-01-01T00:00:00.000Z'); consumers should treat only the date portion as canonical. | |
408
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
409
+
410
+ #### Defs
411
+
412
+ ##### `app.certified.actor.organization#urlItem`
413
+
414
+ | Property | Type | Required | Description |
415
+ | -------- | -------- | -------- | ---------------------------------------------------------------------------------- |
416
+ | `url` | `string` | ✅ | The URL. |
417
+ | `label` | `string` | ❌ | Optional human-readable label for this URL (e.g. 'Support page', 'Donation page'). |
356
418
 
357
419
  ---
358
420
 
359
421
  ### `app.certified.actor.profile`
360
422
 
361
- **Description:** A declaration of a Hypercert account profile.
423
+ **Description:** A declaration of a Certified account profile.
362
424
 
363
425
  **Key:** `literal:self`
364
426
 
@@ -366,16 +428,20 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
366
428
 
367
429
  | Property | Type | Required | Description | Comments |
368
430
  | ------------- | -------- | -------- | ------------------------------------------------------------------------------ | ---------------------------------- |
369
- | `displayName` | `string` | ❌ | | maxLength: 640, maxGraphemes: 64 |
431
+ | `displayName` | `string` | ❌ | Display name for the account | maxLength: 640, maxGraphemes: 64 |
370
432
  | `description` | `string` | ❌ | Free-form profile description text. | maxLength: 2560, maxGraphemes: 256 |
371
433
  | `pronouns` | `string` | ❌ | Free-form pronouns text. | maxLength: 200, maxGraphemes: 20 |
372
- | `website` | `string` | ❌ | | |
434
+ | `website` | `string` | ❌ | Account website URL | |
373
435
  | `avatar` | `union` | ❌ | Small image to be displayed next to posts from account. AKA, 'profile picture' | |
374
436
  | `banner` | `union` | ❌ | Larger horizontal image to display behind profile view. | |
375
- | `createdAt` | `string` | | | |
437
+ | `createdAt` | `string` | | Client-declared timestamp when this record was originally created | |
376
438
 
377
439
  ---
378
440
 
441
+ ## Type Definitions
442
+
443
+ Common type definitions used across all protocols.
444
+
379
445
  ### `app.certified.defs`
380
446
 
381
447
  **Description:** Common type definitions used across certified protocols.
@@ -390,12 +456,10 @@ Certified lexicons are common/shared lexicons that can be used across multiple p
390
456
 
391
457
  ---
392
458
 
393
- ## Type Definitions
394
-
395
- Common type definitions used across all protocols.
396
-
397
459
  ### `org.hypercerts.defs`
398
460
 
461
+ **Description:** Common type definitions used across all Hypercerts protocols.
462
+
399
463
  #### Defs
400
464
 
401
465
  ##### `org.hypercerts.defs#uri`
@@ -422,6 +486,12 @@ Common type definitions used across all protocols.
422
486
  | -------- | ------ | -------- | ----------------- |
423
487
  | `image` | `blob` | ✅ | Image (up to 5MB) |
424
488
 
489
+ ##### `org.hypercerts.defs#smallVideo`
490
+
491
+ | Property | Type | Required | Description |
492
+ | -------- | ------ | -------- | ------------------ |
493
+ | `video` | `blob` | ✅ | Video (up to 20MB) |
494
+
425
495
  ##### `org.hypercerts.defs#largeImage`
426
496
 
427
497
  | Property | Type | Required | Description |
@@ -436,8 +506,80 @@ External lexicons from other protocols and systems.
436
506
 
437
507
  ### `com.atproto.repo.strongRef`
438
508
 
509
+ #### Properties
510
+
511
+ | Property | Type | Required | Description |
512
+ | -------- | -------- | -------- | ----------- |
513
+ | `uri` | `string` | ✅ | |
514
+ | `cid` | `string` | ✅ | |
515
+
516
+ ---
517
+
518
+ ### `org.hyperboards.board`
519
+
520
+ **Description:** Configuration record for a hyperboard, wrapping an underlying activity or collection with visual presentation settings. Stored in the creator's PDS.
521
+
439
522
  **Key:** `tid`
440
523
 
524
+ #### Properties
525
+
526
+ | Property | Type | Required | Description | Comments |
527
+ | -------------------- | -------- | -------- | -------------------------------------------------------------------------------------------------------- | --------------- |
528
+ | `subject` | `ref` | ✅ | Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes. | |
529
+ | `config` | `ref` | ❌ | Visual configuration for a hyperboard's background, colors, and layout. | |
530
+ | `contributorConfigs` | `ref[]` | ❌ | Per-contributor configuration entries for this board. | maxLength: 1000 |
531
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
532
+
533
+ #### Defs
534
+
535
+ ##### `org.hyperboards.board#boardConfig`
536
+
537
+ | Property | Type | Required | Description |
538
+ | --------------------- | --------- | -------- | --------------------------------------------------------------------- |
539
+ | `backgroundType` | `string` | ❌ | Type of background content. |
540
+ | `backgroundImage` | `union` | ❌ | Background image as a URI or image blob. |
541
+ | `backgroundIframeUrl` | `string` | ❌ | URI of the background iframe. |
542
+ | `backgroundGrayscale` | `boolean` | ❌ | Whether the background is rendered in grayscale. Default: true. |
543
+ | `backgroundOpacity` | `integer` | ❌ | Background opacity as a percentage (0–100). |
544
+ | `backgroundColor` | `string` | ❌ | Background color as a hex string (e.g. '#ffffff'). |
545
+ | `borderColor` | `string` | ❌ | Border color as a hex string (e.g. '#000000'). |
546
+ | `grayscaleImages` | `boolean` | ❌ | Whether contributor images are rendered in grayscale. Default: false. |
547
+ | `imageShape` | `string` | ❌ | Shape used to crop contributor images on this board. |
548
+ | `aspectRatio` | `string` | ❌ | Display aspect ratio of the board. |
549
+
550
+ ##### `org.hyperboards.board#contributorConfig`
551
+
552
+ | Property | Type | Required | Description |
553
+ | ---------------- | --------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
554
+ | `contributor` | `union` | ✅ | Identifies the contributor being styled. A strong reference to an org.hypercerts.claim.contributorInformation record, or a contributorIdentity (DID or identifier string) for contributors without a dedicated record. |
555
+ | `override` | `boolean` | ❌ | When true, these values take precedence over the contributor's own profile and display settings. When false or omitted, they are only used as fallbacks if the contributor has not set their own settings. |
556
+ | `displayName` | `string` | ❌ | Display name for this contributor on this board. |
557
+ | `image` | `union` | ❌ | Avatar or face image for this contributor on this board, as a URI or image blob. |
558
+ | `video` | `union` | ❌ | Video for this contributor, as a URI (embed/direct link) or uploaded video blob. |
559
+ | `hoverImage` | `union` | ❌ | Image overlay shown when hovering over this contributor, as a URI or image blob. |
560
+ | `hoverIframeUrl` | `string` | ❌ | Iframe overlay shown when hovering over this contributor. |
561
+ | `url` | `string` | ❌ | Click-through link URL for this contributor. |
562
+
563
+ ---
564
+
565
+ ### `org.hyperboards.displayProfile`
566
+
567
+ **Description:** User-declared visual presentation defaults for how a contributor appears on hyperboards. Stored in the contributor's own PDS and reusable across multiple boards.
568
+
569
+ **Key:** `literal:self`
570
+
571
+ #### Properties
572
+
573
+ | Property | Type | Required | Description | Comments |
574
+ | ---------------- | -------- | -------- | ----------------------------------------------------------------------------------------------- | -------------------------------- |
575
+ | `displayName` | `string` | ❌ | Display name override for this user on hyperboards. | maxLength: 640, maxGraphemes: 64 |
576
+ | `image` | `union` | ❌ | Avatar or face image override for this user on hyperboards, as a URI or image blob. | |
577
+ | `video` | `union` | ❌ | Default video for this user across boards, as a URI (embed/direct link) or uploaded video blob. | |
578
+ | `hoverImage` | `union` | ❌ | Default hover image for this user across boards, as a URI or image blob. | |
579
+ | `hoverIframeUrl` | `string` | ❌ | Default hover iframe URL for this user across boards. | maxLength: 2048 |
580
+ | `url` | `string` | ❌ | Default click-through link URL for this user across boards. | maxLength: 2048 |
581
+ | `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created. | |
582
+
441
583
  ---
442
584
 
443
585
  ## Notes