From 1838fc77eeace28a73b9e2a71e2a1508f9f85fba Mon Sep 17 00:00:00 2001 From: holkexyz Date: Tue, 31 Mar 2026 22:08:44 -1000 Subject: [PATCH 1/3] feat: add shortDescriptionFacets to collection Co-Authored-By: Claude Opus 4.6 (1M context) --- SCHEMAS.md | 23 ++++++++++++----------- lexicons/org/hypercerts/collection.json | 10 +++++++++- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/SCHEMAS.md b/SCHEMAS.md index 987f052..d885a29 100644 --- a/SCHEMAS.md +++ b/SCHEMAS.md @@ -129,17 +129,18 @@ A free-form string describing the work scope for simple or legacy scopes. #### Properties -| Property | Type | Required | Description | Comments | -| ------------------ | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | -| `type` | `string` | ❌ | The type of this collection. Values beyond the known set are permitted. | maxLength: 64, Known values: `favorites`, `project`, `portfolio`, `program` | -| `title` | `string` | ✅ | Display name for this collection (e.g. 'Q1 2025 Impact Projects') | maxLength: 800, maxGraphemes: 80 | -| `shortDescription` | `string` | ❌ | Short summary of this collection, suitable for previews and list views | maxLength: 3000, maxGraphemes: 300 | -| `description` | `ref` | ❌ | Rich-text description, represented as a Leaflet linear document. | | -| `avatar` | `union` | ❌ | The collection's avatar/profile image as a URI or image blob. | | -| `banner` | `union` | ❌ | Larger horizontal image to display behind the collection view. | | -| `items` | `ref[]` | ❌ | Array of items in this collection with optional weights. | maxLength: 1000 | -| `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. | | -| `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | | +| Property | Type | Required | Description | Comments | +| ------------------------ | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | +| `type` | `string` | ❌ | The type of this collection. Values beyond the known set are permitted. | maxLength: 64, Known values: `favorites`, `project`, `portfolio`, `program` | +| `title` | `string` | ✅ | Display name for this collection (e.g. 'Q1 2025 Impact Projects') | maxLength: 800, maxGraphemes: 80 | +| `shortDescription` | `string` | ❌ | Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`. | maxLength: 3000, maxGraphemes: 300 | +| `shortDescriptionFacets` | `ref[]` | ❌ | Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc). | | +| `description` | `ref` | ❌ | Rich-text description, represented as a Leaflet linear document. | | +| `avatar` | `union` | ❌ | The collection's avatar/profile image as a URI or image blob. | | +| `banner` | `union` | ❌ | Larger horizontal image to display behind the collection view. | | +| `items` | `ref[]` | ❌ | Array of items in this collection with optional weights. | maxLength: 1000 | +| `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. | | +| `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | | #### Defs diff --git a/lexicons/org/hypercerts/collection.json b/lexicons/org/hypercerts/collection.json index 5544ae5..cc19635 100644 --- a/lexicons/org/hypercerts/collection.json +++ b/lexicons/org/hypercerts/collection.json @@ -26,7 +26,15 @@ "type": "string", "maxLength": 3000, "maxGraphemes": 300, - "description": "Short summary of this collection, suitable for previews and list views" + "description": "Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`." + }, + "shortDescriptionFacets": { + "type": "array", + "description": "Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).", + "items": { + "type": "ref", + "ref": "app.bsky.richtext.facet" + } }, "description": { "type": "ref", From e40d2cd7eb0d5f9b943b6beacb0a99e0f4d5d6b0 Mon Sep 17 00:00:00 2001 From: holkexyz Date: Tue, 31 Mar 2026 22:16:56 -1000 Subject: [PATCH 2/3] changeset: add changeset for feat/collection-short-description-facets --- .changeset/collection-short-description-facets.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/collection-short-description-facets.md diff --git a/.changeset/collection-short-description-facets.md b/.changeset/collection-short-description-facets.md new file mode 100644 index 0000000..684330e --- /dev/null +++ b/.changeset/collection-short-description-facets.md @@ -0,0 +1,5 @@ +--- +"@hypercerts-org/lexicon": minor +--- + +Add shortDescriptionFacets to collection for rich text annotations From 8eeb30410fd9e899ddcb554a435332e9cb515e50 Mon Sep 17 00:00:00 2001 From: holkexyz Date: Tue, 31 Mar 2026 22:39:51 -1000 Subject: [PATCH 3/3] chore: add changeset for collection shortDescriptionFacets Co-Authored-By: Claude Opus 4.6 (1M context) --- .changeset/collection-short-description-facets.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/collection-short-description-facets.md b/.changeset/collection-short-description-facets.md index 684330e..f8e1720 100644 --- a/.changeset/collection-short-description-facets.md +++ b/.changeset/collection-short-description-facets.md @@ -2,4 +2,4 @@ "@hypercerts-org/lexicon": minor --- -Add shortDescriptionFacets to collection for rich text annotations +Add `shortDescriptionFacets` to collection for rich text annotations on `shortDescription`