social.wips.update

wips.social

Documentation

Update posted to one project. project.uri is a weak AT URI ref so it survives project edits.

main record

Update posted to one project. project.uri is a weak AT URI ref so it survives project edits.

Record Key tid Timestamp-based ID

Properties

allowComments boolean Optional

When false, wips.social application/comment semantics reject new comments on this update. Omitted means true. Not a PDS-enforced lock.

createdAt string datetime Required

Client-declared timestamp when the update was originally created.

facets array of ref app.bsky.richtext.facet Optional

Rich-text annotations (mentions, links, tags) over text, using official app.bsky.richtext.facet. Application validators enforce UTF-8 codepoint-aligned byte ranges, per-facet feature caps, and http(s) link URIs. Ceiling is sized so max text + 50 media + 50 links + max facets stay under the explicit DAG-CBOR record budget.

maxLength: 20 items
media array of union Optional

Ordered media items. May freely mix images and videos using shared social.wips.defs media objects. Operational upload limits and safe MIME policy belong in the app, not as tiny product-shaped protocol caps.

maxLength: 50 items
project ref social.wips.defs#uriRef Required

Stable AT URI of the social.wips.project record this update belongs to.

text string Optional

Optional caption / body text. Required by application semantics when facets are present.

maxLength: 80000 bytesmaxGraphemes: 8000 graphemes
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "project",
      "createdAt"
    ],
    "properties": {
      "text": {
        "type": "string",
        "maxLength": 80000,
        "description": "Optional caption / body text. Required by application semantics when facets are present.",
        "maxGraphemes": 8000
      },
      "links": {
        "type": "array",
        "items": {
          "ref": "social.wips.defs#titledLink",
          "type": "ref"
        },
        "maxLength": 50,
        "description": "Ordered user-authored links. App View may derive previews separately. Protocol ceiling is generous; operational UI limits belong in the app."
      },
      "media": {
        "type": "array",
        "items": {
          "refs": [
            "social.wips.defs#image",
            "social.wips.defs#video"
          ],
          "type": "union"
        },
        "maxLength": 50,
        "description": "Ordered media items. May freely mix images and videos using shared social.wips.defs media objects. Operational upload limits and safe MIME policy belong in the app, not as tiny product-shaped protocol caps."
      },
      "facets": {
        "type": "array",
        "items": {
          "ref": "app.bsky.richtext.facet",
          "type": "ref"
        },
        "maxLength": 20,
        "description": "Rich-text annotations (mentions, links, tags) over text, using official app.bsky.richtext.facet. Application validators enforce UTF-8 codepoint-aligned byte ranges, per-facet feature caps, and http(s) link URIs. Ceiling is sized so max text + 50 media + 50 links + max facets stay under the explicit DAG-CBOR record budget."
      },
      "project": {
        "ref": "social.wips.defs#uriRef",
        "type": "ref",
        "description": "Stable AT URI of the social.wips.project record this update belongs to."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Client-declared timestamp when the update was originally created."
      },
      "allowComments": {
        "type": "boolean",
        "description": "When false, wips.social application/comment semantics reject new comments on this update. Omitted means true. Not a PDS-enforced lock."
      }
    }
  },
  "description": "Update posted to one project. project.uri is a weak AT URI ref so it survives project edits."
}

Lexicon Garden

@