{
  "lexicon": 1,
  "id": "net.bisks.verdict.judgment",
  "defs": {
    "main": {
      "type": "record",
      "description": "One person's snap judgment ('good' or 'bad') on a single post pulled from their own timeline, optionally amended in place to also mark it 'beautiful'. One record per judged post: created by createRecord with a PDS-assigned rkey when the verdict is first cast, then the same record is amended via putRecord (same rkey) if 'and I think that's beautiful' is clicked afterward. Written and read by verdict (https://verdict.bisks.net).",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["subject", "verdict", "createdAt"],
        "properties": {
          "subject": {
            "type": "ref",
            "ref": "com.atproto.repo.strongRef",
            "description": "Strong reference (AT-URI + CID) to the post being judged, pulled from the signed-in user's timeline (or, as a fallback, their own authored feed)."
          },
          "verdict": {
            "type": "string",
            "knownValues": ["good", "bad"],
            "description": "The call cast on the post: 'good' or 'bad'. Set once when the record is created and never changed afterward — only the 'beautiful' field can be amended later."
          },
          "beautiful": {
            "type": "boolean",
            "description": "Whether the judge additionally flagged this post as beautiful. Absent (defaults to false) on the initial createRecord write; set to true by a later putRecord amendment to the same record if the 'and I think that's beautiful' button is clicked. The client never writes this field back to false."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When the verdict was first cast, as an ISO 8601 datetime. Re-sent unchanged to the current time on the 'beautiful' amendment write, so this reflects the time of the most recent write rather than the original cast."
          }
        }
      }
    }
  }
}
