{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Project record. Single-owner in V1 (the repo DID).",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "description": "Client-declared timestamp when the project was originally created.",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Optional free-form project description. UI may encourage shorter copy without tightening this protocol ceiling.",
            "maxGraphemes": 3000,
            "maxLength": 30000,
            "type": "string"
          },
          "links": {
            "description": "User-defined ordered destination links (website, repo, demo, design file, docs, etc.). Protocol ceiling is generous; operational UI limits belong in the app.",
            "items": {
              "ref": "social.wips.defs#link",
              "type": "ref"
            },
            "maxLength": 50,
            "type": "array"
          },
          "name": {
            "description": "Display name for the project.",
            "maxGraphemes": 80,
            "maxLength": 800,
            "minGraphemes": 1,
            "minLength": 1,
            "type": "string"
          },
          "status": {
            "description": "Product status. Known values: social.wips.defs#wip | social.wips.defs#done. Extensible.",
            "ref": "social.wips.defs#projectStatus",
            "type": "ref"
          }
        },
        "required": [
          "name",
          "status",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A wips.social project owned by the repository DID. The project's AT URI is its durable identifier. Protocol ceilings stay generous while keeping worst-case DAG-CBOR size comfortably below the informal 1 MiB network record limit.",
  "id": "social.wips.project",
  "lexicon": 1
}
