{
  "lexicon": 1,
  "id": "net.bisks.clusterpedia.revision",
  "defs": {
    "main": {
      "type": "record",
      "description": "One revision of a clusterpedia article, written to the editor's own repo via createRecord (PDS-assigned TID rkey) whenever they save an edit. The site's Simcluster Checker gates who may submit (moots-of-moots access), but the record itself carries no access proof — it's just the article content at the moment of saving. Written and read by clusterpedia (https://clusterpedia.bisks.net).",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["slug", "title", "content", "summary", "createdAt"],
        "properties": {
          "slug": {
            "type": "string",
            "maxLength": 80,
            "maxGraphemes": 80,
            "description": "The article's slug (lowercase, hyphen-separated, generated client-side by slugify() and capped at 80 characters). Identifies which article this revision belongs to."
          },
          "title": {
            "type": "string",
            "maxLength": 800,
            "maxGraphemes": 200,
            "description": "The article title at this revision. UI truncates the input to 200 characters before writing."
          },
          "content": {
            "type": "string",
            "maxLength": 200000,
            "maxGraphemes": 50000,
            "description": "The full article body at this revision. UI truncates the textarea value to 50000 characters before writing."
          },
          "summary": {
            "type": "string",
            "maxLength": 1200,
            "maxGraphemes": 300,
            "description": "Short edit summary (may be an empty string — the UI always includes this field, blank or not). UI truncates the input to 300 characters before writing."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this revision was written, as an ISO 8601 datetime."
          }
        }
      }
    }
  }
}
