id.sifa.project.self

Record representing a collaborative project. The rkey is a TID, not a literal 'self' — each user can create many projects.

Repository @sifa.id did:plc:2f2ahswozqy4v5lvu676375y not from the namespace authority
Details · record, key tid
Kindrecord
Record keytid
Authorityproject.sifa.id
Indexed
cid bafyreiedymve4yq434raaxeqnbpebi2wbcxwqsyrbabnixrg52ui76hyfm

Checks

Valid
  • large-string defs.main.record.properties.descriptionmaxLength is over 20 KB. Use a blob for content that large.
  • unlimited-string defs.main.record.properties.endedAtNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.main.record.properties.startedAtNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Record representing a collaborative project. The rkey is a TID, not a literal 'self' — each user can create many projects.",
      "key": "tid",
      "record": {
        "properties": {
          "agentRef": {
            "description": "The organization this project belongs to, as a single nested reference mirroring the flat organization / organizationDid / entityRef fields. Additive dual-write: the flat fields remain the source of truth for existing consumers.",
            "ref": "id.sifa.defs#agentRef",
            "type": "ref"
          },
          "avatar": {
            "accept": [
              "image/png",
              "image/jpeg"
            ],
            "description": "Project avatar image. Max 1 MB, PNG or JPEG.",
            "maxSize": 1000000,
            "type": "blob"
          },
          "createdAt": {
            "description": "Client-declared timestamp when this record was originally created.",
            "format": "datetime",
            "type": "string"
          },
          "description": {
            "description": "Description of the project, its goals, and scope.",
            "maxGraphemes": 5000,
            "maxLength": 50000,
            "type": "string"
          },
          "endedAt": {
            "description": "Project end date in YYYY, YYYY-MM or YYYY-MM-DD format. Omit if ongoing.",
            "type": "string"
          },
          "entityRef": {
            "description": "Portable, app-neutral identifier for the organization the user selected from a resolver dropdown: a Wikidata Q-ID URI (http://www.wikidata.org/entity/Q...), a ROR URI, or an LEI URI. Enables deterministic resolution to a canonical entity even before the organization claims an ATproto account. Absent for free-text entries.",
            "format": "uri",
            "type": "string"
          },
          "labels": {
            "description": "Self-label values for this project record.",
            "refs": [
              "com.atproto.label.defs#selfLabels"
            ],
            "type": "union"
          },
          "name": {
            "description": "Project name.",
            "maxGraphemes": 256,
            "maxLength": 2560,
            "minLength": 1,
            "type": "string"
          },
          "organization": {
            "description": "Name of the organization this project belongs to, if any.",
            "maxGraphemes": 256,
            "maxLength": 2560,
            "type": "string"
          },
          "organizationDid": {
            "description": "DID of the organization this project belongs to, if any. Bridges to future organization entities.",
            "format": "did",
            "type": "string"
          },
          "startedAt": {
            "description": "Project start date in YYYY, YYYY-MM or YYYY-MM-DD format. Freeform (NOT strict datetime) to allow partial dates.",
            "type": "string"
          },
          "status": {
            "description": "Current project status.",
            "ref": "id.sifa.defs#projectStatus",
            "type": "ref"
          },
          "url": {
            "description": "Primary URL of the project (website, repository, etc.).",
            "format": "uri",
            "type": "string"
          }
        },
        "required": [
          "name",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A collaborative project record. Lives in the project creator's PDS. TID-keyed so one user can create multiple projects. Supports multiple owners — the creator is the first owner, and any owner can promote core members.",
  "id": "id.sifa.project.self",
  "lexicon": 1
}