# Lexicons matching `org.hypercerts`

**13** lexicon(s) found.

## org.hypercerts.claim.activity

- **Lexicon Version:** 1

### main (record)

A hypercert record tracking impact work.

**Record Key:** `any`

**Properties:**

- `image`: union → union[org.hypercerts.defs#uri, org.hypercerts.defs#smallImage]
  The hypercert visual representation as a URI or image blob.
- `langs`: array
  Human language(s) of this record's text fields, as BCP-47 language tags (e.g. 'es', 'pt-BR'); up to three for mixed-language text. Set by the writing app from the text the author wrote, with the author able to correct it; never from the interface language or a profile preference alone. A hint for readers, not a guarantee: consumers must not hide a record because it lacks this field.
  Constraints: maxLength: 3
  Array of:
    - `item`: string (language)
- `title`: string
  Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')
  Constraints: maxLength: 256
- `rights`: ref → com.atproto.repo.strongRef
  A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.
- `endDate`: string (datetime)
  When the work ended
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created
- `locations`: array
  An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.
  Constraints: maxLength: 1000
  Array of:
    - `item`: ref → com.atproto.repo.strongRef
- `startDate`: string (datetime)
  When the work began
- `workScope`: union → union[org.hypercerts.workscope.cel, #workScopeString]
  Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes.
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `description`: union → union[org.hypercerts.defs#descriptionString, pub.leaflet.pages.linearDocument, com.atproto.repo.strongRef]
  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.
- `contributors`: array
  An array of contributor objects, each containing contributor information, weight, and contribution details.
  Array of:
    - `item`: ref → #contributor
- `shortDescription`: string
  Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.
  Constraints: maxLength: 3000, maxGraphemes: 300
- `shortDescriptionFacets`: array
  Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).
  Array of:
    - `item`: ref → app.bsky.richtext.facet

**Required:** title, shortDescription, createdAt

### contributor (object)

A contributor to the activity, with identity, weight, and contribution details.

**Properties:**

- `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.
  Constraints: maxLength: 100
- `contributionDetails`: union → union[#contributorRole, com.atproto.repo.strongRef]
  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.
- `contributorIdentity`: union → union[#contributorIdentity, com.atproto.repo.strongRef]
  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.

**Required:** contributorIdentity

### contributorRole (object)

Contribution details as a string.

**Properties:**

- `role`: string
  The contribution role or details.
  Constraints: maxLength: 1000, maxGraphemes: 100

**Required:** role

### workScopeString (object)

A free-form string describing the work scope for simple or legacy scopes.

**Properties:**

- `scope`: string
  The work scope description string.
  Constraints: maxLength: 10000, maxGraphemes: 1000

**Required:** scope

### contributorIdentity (object)

Contributor information as a string (DID or identifier).

**Properties:**

- `identity`: string
  The contributor identity string (DID or identifier).
  Constraints: maxLength: 1000, maxGraphemes: 100

**Required:** identity


---

## org.hypercerts.claim.contribution

- **Lexicon Version:** 1

### main (record)

Details about a specific contribution including role, description, and timeframe.

**Record Key:** `tid`

**Properties:**

- `role`: string
  Role or title of the contributor.
  Constraints: maxLength: 100
- `endDate`: string (datetime)
  When this contribution finished. Should fall within the parent hypercert's timeframe.
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created.
- `startDate`: string (datetime)
  When this contribution started. Should fall within the parent hypercert's timeframe.
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `contributionDescription`: string
  Description of what the contribution concretely involved.
  Constraints: maxLength: 10000, maxGraphemes: 1000

**Required:** createdAt


---

## org.hypercerts.claim.contributorInformation

- **Lexicon Version:** 1

### main (record)

Contributor information including identifier, display name, and image.

**Record Key:** `tid`

**Properties:**

- `image`: union → union[org.hypercerts.defs#uri, org.hypercerts.defs#smallImage]
  The contributor visual representation as a URI or image blob.
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created.
- `identifier`: string
  DID (did:plc:...) or URI to a social profile of the contributor.
  Constraints: maxLength: 2048
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `displayName`: string
  Human-readable name for the contributor as it should appear in UI.
  Constraints: maxLength: 100

**Required:** createdAt


---

## org.hypercerts.claim.rights

- **Lexicon Version:** 1

### main (record)

Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.

**Record Key:** `tid`

**Properties:**

- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created
- `attachment`: union → union[org.hypercerts.defs#uri, org.hypercerts.defs#smallBlob]
  An attachment to define the rights further, e.g. a legal document.
- `rightsName`: string
  Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')
  Constraints: maxLength: 100
- `rightsType`: string
  Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search
  Constraints: maxLength: 10
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `rightsDescription`: string
  Detailed explanation of the rights holders' permissions, restrictions, and conditions
  Constraints: maxLength: 10000, maxGraphemes: 1000

**Required:** rightsName, rightsType, rightsDescription, createdAt


---

## org.hypercerts.collection

- **Lexicon Version:** 1

### main (record)

A collection/group of items (activities and/or other collections). Collections support recursive nesting.

**Record Key:** `tid`

**Properties:**

- `tags`: array
  References to org.hypercerts.vocab.tag records classifying this record. All listed tags apply simultaneously (logical AND); the array carries no ordering, weighting, negation, inheritance, or rule logic, and never will — any future expression logic must arrive as a new field and must never reinterpret this one.
  Constraints: maxLength: 20
  Array of:
    - `item`: ref → com.atproto.repo.strongRef
- `type`: string
  The type of this collection. Values beyond the known set are permitted.
  Constraints: maxLength: 64
- `items`: array
  Array of items in this collection with optional weights.
  Constraints: maxLength: 1000
  Array of:
    - `item`: ref → #item
- `langs`: array
  Human language(s) of this record's text fields, as BCP-47 language tags (e.g. 'es', 'pt-BR'); up to three for mixed-language text. Set by the writing app from the text the author wrote, with the author able to correct it; never from the interface language or a profile preference alone. A hint for readers, not a guarantee: consumers must not hide a record because it lacks this field.
  Constraints: maxLength: 3
  Array of:
    - `item`: string (language)
- `title`: string
  Display name for this collection (e.g. 'Q1 2025 Impact Projects')
  Constraints: maxLength: 800, maxGraphemes: 80
- `avatar`: union → union[org.hypercerts.defs#uri, org.hypercerts.defs#smallImage]
  The collection's avatar/profile image as a URI or image blob.
- `banner`: union → union[org.hypercerts.defs#uri, org.hypercerts.defs#largeImage]
  Larger horizontal image to display behind the collection view.
- `location`: ref → com.atproto.repo.strongRef
  A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location.
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `description`: union → union[org.hypercerts.defs#descriptionString, pub.leaflet.pages.linearDocument, com.atproto.repo.strongRef]
  Long-form description of the collection. 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.
- `shortDescription`: string
  Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.
  Constraints: maxLength: 3000, maxGraphemes: 300
- `shortDescriptionFacets`: array
  Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).
  Array of:
    - `item`: ref → app.bsky.richtext.facet

**Required:** title, createdAt

### item (object)

An item in a collection, with an identifier and optional weight.

**Properties:**

- `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.
  Constraints: maxLength: 100
- `itemIdentifier`: ref → com.atproto.repo.strongRef
  Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity), features (org.hypercerts.entity.feature), and/or other collections (org.hypercerts.collection).

**Required:** itemIdentifier


---

## org.hypercerts.context.acknowledgement

- **Lexicon Version:** 1

### main (record)

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.

**Record Key:** `tid`

**Properties:**

- `comment`: string
  Optional plain-text comment providing additional context or reasoning.
  Constraints: maxLength: 10000, maxGraphemes: 1000
- `context`: union → union[org.hypercerts.defs#uri, com.atproto.repo.strongRef]
  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.
- `subject`: ref → com.atproto.repo.strongRef
  The record being acknowledged (e.g. an activity, a contributor information record, an evaluation).
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created.
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `acknowledged`: boolean
  Whether the relationship is acknowledged (true) or rejected (false).

**Required:** subject, acknowledged, createdAt


---

## org.hypercerts.context.attachment

- **Lexicon Version:** 1

### main (record)

An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation) or related to an account profile.

**Record Key:** `tid`

**Properties:**

- `tags`: array
  References to org.hypercerts.vocab.tag records classifying this record. All listed tags apply simultaneously (logical AND); the array carries no ordering, weighting, negation, inheritance, or rule logic, and never will — any future expression logic must arrive as a new field and must never reinterpret this one.
  Constraints: maxLength: 20
  Array of:
    - `item`: ref → com.atproto.repo.strongRef
- `langs`: array
  Human language(s) of this record's text fields, as BCP-47 language tags (e.g. 'es', 'pt-BR'); up to three for mixed-language text. Set by the writing app from the text the author wrote, with the author able to correct it; never from the interface language or a profile preference alone. A hint for readers, not a guarantee: consumers must not hide a record because it lacks this field.
  Constraints: maxLength: 3
  Array of:
    - `item`: string (language)
- `title`: string
  Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings')
  Constraints: maxLength: 256
- `content`: array
  The files, documents, or external references included in this attachment record.
  Constraints: maxLength: 100
  Array of:
    - `item`: union → union[org.hypercerts.defs#uri, org.hypercerts.defs#smallBlob]
- `location`: ref → com.atproto.repo.strongRef
  A strong reference to the location where this attachment's subject matter occurred. The record referenced must conform with the lexicon app.certified.location.
- `subjects`: array
  References to the subject(s) the attachment is about: an activity claim, a collection, a measurement, an evaluation, another attachment (for a comment on it), or an account profile (app.certified.actor.profile). A standalone update by its author points at the author's own profile: it is an update about the author. Optional: omit it only when the attachment is recorded before the claim it will support.
  Constraints: maxLength: 100
  Array of:
    - `item`: ref → com.atproto.repo.strongRef
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created.
- `capturedAt`: string (datetime)
  Client-declared time when the attached material was captured (e.g. when a photo was taken), as distinct from createdAt. Omit if capture time is unknown, if only a local time without timezone offset or only a date is known, or if no single capture time applies. Not a coverage interval.
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `contentType`: string
  The type of attachment. Values beyond the known set are permitted.
  Constraints: maxLength: 64
- `description`: union → union[org.hypercerts.defs#descriptionString, pub.leaflet.pages.linearDocument, com.atproto.repo.strongRef]
  Long-form description of the attachment. 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.
- `shortDescription`: string
  Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.
  Constraints: maxLength: 3000, maxGraphemes: 300
- `shortDescriptionFacets`: array
  Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).
  Array of:
    - `item`: ref → app.bsky.richtext.facet

**Required:** title, createdAt


---

## org.hypercerts.context.evaluation

- **Lexicon Version:** 1

### main (record)

An evaluation of a hypercert record (e.g. an activity and its impact).

**Record Key:** `tid`

**Properties:**

- `score`: ref → #score
  Optional overall score for this evaluation on a numeric scale.
- `content`: array
  Evaluation data (URIs or blobs) containing detailed reports or methodology
  Constraints: maxLength: 100
  Array of:
    - `item`: union → union[org.hypercerts.defs#uri, org.hypercerts.defs#smallBlob]
- `subject`: ref → com.atproto.repo.strongRef
  A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)
- `summary`: string
  Brief evaluation summary
  Constraints: maxLength: 5000, maxGraphemes: 1000
- `location`: ref → com.atproto.repo.strongRef
  An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location.
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created
- `evaluators`: array
  DIDs of the evaluators
  Constraints: maxLength: 1000
  Array of:
    - `item`: ref → app.certified.defs#did
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `measurements`: array
  Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement
  Constraints: maxLength: 100
  Array of:
    - `item`: ref → com.atproto.repo.strongRef

**Required:** evaluators, summary, createdAt

### score (object)

Overall score for an evaluation on a numeric scale.

**Properties:**

- `max`: string
  Maximum value of the scale as a numeric string (e.g. '5', '10').
  Constraints: maxLength: 50
- `min`: string
  Minimum value of the scale as a numeric string (e.g. '0', '1').
  Constraints: maxLength: 50
- `value`: string
  Score within the inclusive range [min, max] as a numeric string (e.g. '3.7').
  Constraints: maxLength: 50

**Required:** min, max, value


---

## org.hypercerts.context.measurement

- **Lexicon Version:** 1

### main (record)

Measurement data related to one or more records (e.g. activities, projects, etc.).

**Record Key:** `tid`

**Properties:**

- `unit`: string
  The unit of the measured value (e.g. kg CO₂e, hectares, %, index score).
  Constraints: maxLength: 50
- `value`: string
  The measured value as a numeric string (e.g. '1234.56')
  Constraints: maxLength: 500
- `metric`: string
  The metric being measured, e.g. forest area restored, number of users, etc.
  Constraints: maxLength: 500
- `comment`: string
  Short comment of this measurement, suitable for previews and list views. Rich text annotations may be provided via `commentFacets`.
  Constraints: maxLength: 3000, maxGraphemes: 300
- `endDate`: string (datetime)
  The end date and time when the measurement ended. For one-time measurements, this should equal the start date.
- `subjects`: array
  Strong references to the records this measurement refers to (e.g. activities, projects, or claims).
  Constraints: maxLength: 100
  Array of:
    - `item`: ref → com.atproto.repo.strongRef
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created
- `locations`: array
  Optional geographic references related to where the measurement was taken. Each referenced record must conform with the app.certified.location lexicon.
  Constraints: maxLength: 100
  Array of:
    - `item`: ref → com.atproto.repo.strongRef
- `measurers`: array
  DIDs of the entities that performed this measurement
  Constraints: maxLength: 100
  Array of:
    - `item`: ref → app.certified.defs#did
- `methodURI`: string (uri)
  URI to methodology documentation, standard protocol, or measurement procedure
- `startDate`: string (datetime)
  The start date and time when the measurement began.
- `methodType`: string
  Short identifier for the measurement methodology
  Constraints: maxLength: 30
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `evidenceURI`: array
  URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets)
  Constraints: maxLength: 50
  Array of:
    - `item`: string (uri)
- `commentFacets`: array
  Rich text annotations for `comment` (mentions, URLs, hashtags, etc).
  Array of:
    - `item`: ref → app.bsky.richtext.facet

**Required:** metric, unit, value, createdAt


---

## org.hypercerts.defs

Common type definitions used across all Hypercerts protocols.

- **Lexicon Version:** 1

### uri (object)

Object containing a URI to external data

**Properties:**

- `uri`: string (uri)
  URI to external data

**Required:** uri

### largeBlob (object)

Object containing a blob to external data

**Properties:**

- `blob`: blob
  Blob to external data (up to 100MB)

**Required:** blob

### smallBlob (object)

Object containing a blob to external data

**Properties:**

- `blob`: blob
  Blob to external data (up to 10MB)

**Required:** blob

### largeImage (object)

Object containing a large image

**Properties:**

- `image`: blob
  Image (up to 10MB)

**Required:** image

### smallImage (object)

Object containing a small image

**Properties:**

- `image`: blob
  Image (up to 5MB)

**Required:** image

### smallVideo (object)

Object containing a small video

**Properties:**

- `video`: blob
  Video (up to 20MB)

**Required:** video

### descriptionString (object)

An inline long-form description as plain text or markdown, with optional rich-text annotations.

**Properties:**

- `value`: string
  The description text (plain text or markdown).
  Constraints: maxLength: 250000, maxGraphemes: 25000
- `facets`: array
  Rich text annotations for the description (mentions, URLs, hashtags, etc).
  Array of:
    - `item`: ref → app.bsky.richtext.facet

**Required:** value


---

## org.hypercerts.funding.receipt

- **Lexicon Version:** 1

### main (record)

Records a payment from a sender to a recipient. Any party may record it, and the sender may stay anonymous. When the sender chose the recipient, record one receipt to the final recipient even if platforms or hosts passed the funds on. When an intermediary chose (regranting), record the payment into it and each onward payment as separate receipts. A receipt may be updated in place under the same record key: its URI does not change, so references by URI keep resolving, but a strongRef (as likes and reposts use) still pins the earlier CID, and signatures bind to content and must be renewed. An earlier version cannot be recalled from readers that kept it.

**Record Key:** `tid`

**Properties:**

- `to`: union → union[#text, app.certified.defs#did, com.atproto.repo.strongRef]
  The recipient of the funds (a free-text string, an account DID, or a strong reference to a record).
- `for`: ref → com.atproto.repo.strongRef
  Optional strong reference to the activity, project, or organization this funding relates to.
- `via`: union → union[#text, app.certified.defs#did, com.atproto.repo.strongRef]
  Optional intermediary that facilitated or processed the payment (funding platform, payment servicer, broker).
- `from`: union → union[#text, app.certified.defs#did, com.atproto.repo.strongRef]
  The sender of the funds (a free-text string, an account DID, or a strong reference to a record). Optional — omit to represent anonymity. Name a sender only if they chose to be named: from can be added later by updating the receipt in place, but removing it later only hides the name from the current version, and an onchain transactionId still names the sending wallet.
- `type`: string
  What the payment is: a donation (a gift from the sender), a match (funds a matching pool allocated on the strength of other gifts) or a grant (funds awarded through a selection process). Values beyond the known set are permitted. Omit if unknown.
  Constraints: maxLength: 50
- `notes`: string
  Optional notes or additional context for this funding receipt.
  Constraints: maxLength: 500
- `amount`: string
  Gross amount the sender paid, before fees, as a numeric string (e.g. '1000.50'). Omit if unknown, and set netAmount instead.
  Constraints: maxLength: 50
- `currency`: string
  Currency of amount: an ISO 4217 code for fiat (e.g. EUR), a token ticker for digital assets (e.g. USDC). This is what marks the funds as fiat or digital. Set it whenever amount is set.
  Constraints: maxLength: 10
- `createdAt`: string (datetime)
  Client-declared timestamp when this receipt record was created.
- `netAmount`: string
  What the recipient received after fees and conversion, as a numeric string in netCurrency.
  Constraints: maxLength: 50
- `occurredAt`: string (datetime)
  Timestamp when the payment occurred.
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `netCurrency`: string
  Currency of netAmount: an ISO 4217 code for fiat, a token ticker for digital assets. Set it whenever netAmount is set.
  Constraints: maxLength: 10
- `paymentRail`: string
  How the sender paid. Use 'payment_processor' only when the underlying method is unknown.
  Constraints: maxLength: 50
- `transactionId`: string
  ID of the sender's payment, not of a platform's later payout: a transaction hash for onchain payments, otherwise the processor's or scheme's reference. Receipts are public: prefer opaque processor IDs to bank references, and note that a hash reveals the sender's wallet even when from is omitted.
  Constraints: maxLength: 256
- `paymentNetwork`: string
  Where transactionId can be looked up: the chain for onchain payments, preferably as a CAIP-2 ID (e.g. 'eip155:1'), otherwise the processor or scheme (e.g. stripe, sepa). Set it whenever transactionId is a transaction hash.
  Constraints: maxLength: 50

**Required:** to, createdAt

### text (object)

A free-text string value (e.g. a display name, wallet address, or other identifier).

**Properties:**

- `value`: string
  The string value.
  Constraints: maxLength: 2048

**Required:** value


---

## org.hypercerts.workscope.cel

- **Lexicon Version:** 1

### main (object)

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.

**Properties:**

- `version`: string
  CEL context schema version.
  Constraints: maxLength: 16
- `usedTags`: array
  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.
  Constraints: maxLength: 100
  Array of:
    - `item`: ref → com.atproto.repo.strongRef
- `createdAt`: string (datetime)
  Client-declared timestamp when this expression was originally created.
- `expression`: string
  A CEL expression encoding the work scope conditions. Example: scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE'
  Constraints: maxLength: 10000, maxGraphemes: 5000

**Required:** expression, usedTags, version, createdAt


---

## org.hypercerts.workscope.tag

- **Lexicon Version:** 1

### main (record)

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.

**Record Key:** `tid`

**Properties:**

- `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.
  Constraints: maxLength: 120
- `name`: string
  Human-readable name for this scope.
  Constraints: maxLength: 200
- `parent`: ref → com.atproto.repo.strongRef
  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.
- `sameAs`: array
  URIs to semantically equivalent concepts in external ontologies or taxonomies (e.g., Wikidata QIDs, ENVO terms, SDG targets). Used for interoperability, not as documentation.
  Constraints: maxLength: 20
  Array of:
    - `item`: string (uri)
      Constraints: maxLength: 2048
- `status`: string
  Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy. Values beyond the known set are permitted.
  Constraints: maxLength: 20
- `aliases`: array
  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.
  Constraints: maxLength: 50
  Array of:
    - `item`: string
      Constraints: maxLength: 200
- `category`: string
  Category type of this scope. Values beyond the known set are permitted.
  Constraints: maxLength: 50
- `createdAt`: string (datetime)
  Client-declared timestamp when this record was originally created.
- `signatures`: ref → app.certified.signature.defs#list
  Optional cryptographic signatures attesting to this record's content.
- `description`: string
  Optional longer description of this scope.
  Constraints: maxLength: 10000, maxGraphemes: 1000
- `supersededBy`: ref → com.atproto.repo.strongRef
  When status is 'deprecated', points to the replacement work scope tag record. The record referenced must conform with the lexicon org.hypercerts.workscope.tag.
- `referenceDocument`: union → union[org.hypercerts.defs#uri, org.hypercerts.defs#smallBlob]
  Link to a governance or reference document where this work scope tag is defined and further explained.

**Required:** key, name, createdAt


---
