social.wips.defs

wips.social

{
  "id": "social.wips.defs",
  "defs": {
    "wip": {
      "type": "token",
      "description": "Project is actively in progress."
    },
    "done": {
      "type": "token",
      "description": "Project is marked done. It may still receive updates and can return to wip."
    },
    "link": {
      "type": "object",
      "required": [
        "uri"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri",
          "maxLength": 4096,
          "description": "Destination URI. Clients should initially accept http:// and https:// only (enforced outside Lexicon shape)."
        },
        "label": {
          "type": "string",
          "maxLength": 2000,
          "maxGraphemes": 200
        }
      },
      "description": "Ordered generic destination link with a required URI and optional label. Application validators initially require http:// or https:// schemes."
    },
    "image": {
      "type": "object",
      "required": [
        "blob"
      ],
      "properties": {
        "alt": {
          "type": "string",
          "maxLength": 3000,
          "description": "Alt text for accessibility.",
          "maxGraphemes": 1000
        },
        "blob": {
          "type": "blob",
          "accept": [
            "image/*"
          ],
          "maxSize": 10000000,
          "description": "Original image blob stored on the author's PDS."
        },
        "aspectRatio": {
          "ref": "#aspectRatio",
          "type": "ref"
        }
      },
      "description": "Image media item referenced as a PDS blob. Shared by social.wips.update and social.wips.comment. accept remains broad for forward compatibility; concrete safe MIME enforcement is application policy."
    },
    "video": {
      "type": "object",
      "required": [
        "blob"
      ],
      "properties": {
        "alt": {
          "type": "string",
          "maxLength": 3000,
          "description": "Alt text for accessibility.",
          "maxGraphemes": 1000
        },
        "blob": {
          "type": "blob",
          "accept": [
            "video/*"
          ],
          "maxSize": 100000000,
          "description": "Original video blob stored on the author's PDS."
        },
        "durationMs": {
          "type": "integer",
          "maximum": 86400000,
          "minimum": 0,
          "description": "Optional media duration in milliseconds."
        },
        "aspectRatio": {
          "ref": "#aspectRatio",
          "type": "ref"
        }
      },
      "description": "Video media item referenced as a PDS blob. Shared by social.wips.update and social.wips.comment. accept remains broad for forward compatibility; concrete safe MIME enforcement is application policy."
    },
    "uriRef": {
      "type": "object",
      "required": [
        "uri"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "at-uri",
          "maxLength": 2600
        }
      },
      "description": "Weak reference to a record by AT URI only (not pinned to a CID), so relationships survive edits. Application validators require a full record AT URI (repo + collection + rkey) with DID authority. maxLength is a justified ceiling (~2600) for max DID (2048) + fixed short social.wips.* collection NSID + max rkey (512) + separators, not the general 8 KiB AT URI syntax limit."
    },
    "titledLink": {
      "type": "object",
      "required": [
        "uri"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "format": "uri",
          "maxLength": 4096,
          "description": "Destination URI. Clients should initially accept http:// and https:// only (enforced outside Lexicon shape)."
        },
        "title": {
          "type": "string",
          "maxLength": 1000,
          "maxGraphemes": 200
        }
      },
      "description": "Ordered user-authored link with optional title (used on updates). Application validators initially require http:// or https:// schemes."
    },
    "aspectRatio": {
      "type": "object",
      "required": [
        "width",
        "height"
      ],
      "properties": {
        "width": {
          "type": "integer",
          "minimum": 1
        },
        "height": {
          "type": "integer",
          "minimum": 1
        }
      },
      "description": "width:height represents an aspect ratio. It may be approximate."
    },
    "projectStatus": {
      "type": "string",
      "description": "Product status for a project. Extensible known values rather than a closed enum.",
      "knownValues": [
        "social.wips.defs#wip",
        "social.wips.defs#done"
      ]
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Shared definitions for wips.social records, including project status tokens, weak URI refs, links, aspect ratio, and ordered image/video media objects reused by updates and comments."
}

Validate Record

Validate a record against social.wips.defs

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:sodoi37wr44i3ypdwwlqqeup
CID
bafyreihokjumkfbgggez2tltbbcujh4wrzsdd4o3uaqkksj727x35i4xla
Indexed At
2026-07-26 01:50 UTC
AT-URI
at://did:plc:sodoi37wr44i3ypdwwlqqeup/com.atproto.lexicon.schema/social.wips.defs

Lexicon Garden

@