dev.knotless.label

lexicons.knotless.dev

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "entry": {
      "description": "A label set, or taken off, at a time.",
      "properties": {
        "name": {
          "description": "The label, by its name among the repository's `labels`.",
          "maxGraphemes": 50,
          "maxLength": 100,
          "type": "string"
        },
        "removed": {
          "description": "Taken off, rather than set.",
          "type": "boolean"
        },
        "setAt": {
          "description": "When it was set or taken off. Readers pass over one later than their own clock by more than a few minutes, until it is not.",
          "format": "datetime",
          "type": "string"
        }
      },
      "required": [
        "name",
        "setAt"
      ],
      "type": "object"
    },
    "judgment": {
      "description": "What a triager judged in choosing its labels, so it judges again only when that changes.",
      "properties": {
        "cid": {
          "description": "The version of the pull or issue it read.",
          "format": "cid",
          "type": "string"
        },
        "model": {
          "description": "What chose them, as a model's name and version.",
          "maxLength": 200,
          "type": "string"
        },
        "reason": {
          "description": "Why, in a sentence or two, for those who check its work.",
          "maxGraphemes": 500,
          "maxLength": 2000,
          "type": "string"
        }
      },
      "type": "object"
    },
    "main": {
      "description": "Kept in the account of whoever labels, one per pull or issue, keyed `<repo key>.<hash of the subject's URI>` and rewritten as they change; for a private repository, in their repo inside its space. Readers honor it from the repository's owner and collaborators, and from its triagers for the scopes named, and only for labels the repository defines. Each label stands as the latest of everyone's entries for it says, by `setAt`; of a scope's exclusive labels, only the latest set stands.",
      "key": "any",
      "record": {
        "properties": {
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "judged": {
            "description": "For labels a triager chose, what it judged and how.",
            "ref": "#judgment",
            "type": "ref"
          },
          "labels": {
            "description": "One entry per label this account has set or taken off, the latest of each.",
            "items": {
              "ref": "#entry",
              "type": "ref"
            },
            "maxLength": 200,
            "type": "array"
          },
          "repo": {
            "description": "The repository the pull or issue is on.",
            "ref": "dev.knotless.defs#repoRef",
            "type": "ref"
          },
          "subject": {
            "description": "The dev.knotless.pull or dev.knotless.issue labelled.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "repo",
          "subject",
          "labels",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "The labels one account puts on a pull or issue, from those its repository defines.",
  "id": "dev.knotless.label",
  "lexicon": 1
}

Validate Record

Validate a record against dev.knotless.label

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

Metadata

DID
did:plc:yqsg7znbbhfmj3a2nrpnaerk
CID
bafyreieplpc632gso2c7epp53gtojzatqijelecbfj4x6zl2y2ksuojsai
Indexed At
2026-10-28 21:21 UTC
AT-URI
at://did:plc:yqsg7znbbhfmj3a2nrpnaerk/com.atproto.lexicon.schema/dev.knotless.label

Referenced Schemas (1)

Similar Lexicons

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

  • Puts a label on a pull or an issue, or takes it off, as the account logged in to this appview's pages.

  • A git repository hosted in this account: in its public repo, or, for a private repository, in a dev.knotless.space space keyed by the name.

  • Label assignment on a feature request or kanban task, published on the actor's PDS. Third-party indexers can replay the latest record per subject to derive the current label set.

  • An issue on a repository, kept in its author's account.

  • Defines a label pulls and issues of a repository may carry.

Lexicon Garden

@