social.dracome.library.review

dracome.social

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A review of one edition by an actor. Duplicate convention: the rkey is a TID minted once at first create and never changes. Several records may exist for one actor and edition (for example from out-of-band writers); consumers SHOULD treat the record with the greatest `updatedAt` (falling back to `createdAt`) as the winner and break ties by the lowest TID, ignoring the others. This is a convention, not an enforced contract: AppViews MUST tolerate a differing winner, and may see a record's catalogTarget change over time.",
      "key": "tid",
      "record": {
        "properties": {
          "catalogSnapshot": {
            "description": "Point-in-time catalog metadata for the reviewed work or edition, captured when this record was last written. Refreshed on every update.",
            "ref": "social.dracome.work.defs#catalogSnapshot",
            "type": "ref"
          },
          "catalogTarget": {
            "description": "The work and edition that this review is about. Mutable.",
            "ref": "social.dracome.work.defs#catalogTarget",
            "type": "ref"
          },
          "createdAt": {
            "description": "Canonical UTC instant serialized as ISO 8601 with a trailing Z suffix.",
            "format": "datetime",
            "type": "string"
          },
          "images": {
            "description": "Optional attached images: an optional primary image plus up to 4 secondary images (5 total). Images are independently addable/removable.",
            "ref": "social.dracome.embed.defs#images",
            "type": "ref"
          },
          "language": {
            "description": "Optional language code the review text is written in, if different from or more specific than the actor's default language.",
            "format": "language",
            "type": "string"
          },
          "rating": {
            "description": "Scale-relative rating value. Valid range depends on ratingScale: 1-5 for 1 (whole stars), 1-10 for 2 (half stars), 1-20 for 4 (quarter stars). Interpretation: stars = rating / ratingScale. Runtime validation MUST enforce per-scale limits.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "ratingScale": {
            "description": "The rating granularity divisor used at write time: divide rating by this value to recover stars. 1 = whole stars, 2 = half stars, 4 = quarter stars. Reflects whichever scale was in effect the last time rating was written on this record.",
            "enum": [
              1,
              2,
              4
            ],
            "type": "integer"
          },
          "reviewCopy": {
            "description": "True when the posted review discloses that the actor received or owns a review copy of this work or edition.",
            "type": "boolean"
          },
          "text": {
            "description": "Optional review text. When provided, must be non-empty after trimming.",
            "maxGraphemes": 10000,
            "maxLength": 40000,
            "type": "string"
          },
          "updatedAt": {
            "description": "Canonical UTC instant serialized as ISO 8601 with a trailing Z suffix.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "catalogTarget",
          "catalogSnapshot",
          "rating",
          "ratingScale",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "social.dracome.library.review",
  "lexicon": 1
}

Validate Record

Validate a record against social.dracome.library.review

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:66dyrt2bmghwlmdteyizs5l3
CID
bafyreibxekskvibdvbpegywrmncspigtwqsiq6jh3vfwuuxkyx6aeuciga
Indexed At
2026-10-14 19:42 UTC
AT-URI
at://did:plc:66dyrt2bmghwlmdteyizs5l3/com.atproto.lexicon.schema/social.dracome.library.review

Referenced Schemas (3)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A rating gives a subject a dated integer score from 0 to 10. To re-rate, create a new record with an updated createdAt; the current score is the latest per (author, subject).

  • A review for a piece of media

  • A long-form review of a catalog work, authored on a NeoDB instance.

  • A portable user-owned review of an Atmosphere project profile. The reviewer writes this record to their own PDS; AppViews may index and moderate their own display of it.

  • how.bun.reviews.review recordnot from the namespace authority

    Record containing a review of something.

Lexicon Garden

@