dev.knotless.state

lexicons.knotless.dev

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Kept in the account of whoever changed it. Readers take the latest from someone allowed to make it: the subject's author, the repository's owner or a collaborator; `merged` only from the latter two.",
      "key": "tid",
      "record": {
        "properties": {
          "base": {
            "description": "For a pull, the branch it targets from here on, without refs/heads/: set when the branch it targeted was renamed.",
            "maxLength": 255,
            "type": "string"
          },
          "commit": {
            "description": "The hex object ID of the merge commit, for `merged`.",
            "maxLength": 64,
            "minLength": 40,
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "from": {
            "description": "For `merged`, the hex object ID the base was at before the merge: from..commit is what the pull brought in, whose commits readers may then show as its author's.",
            "maxLength": 64,
            "minLength": 40,
            "type": "string"
          },
          "pull": {
            "description": "For `closed` on an issue, the dev.knotless.pull whose merge closed it, as its title or body named the issue after a closing keyword such as `Fixes`.",
            "format": "at-uri",
            "type": "string"
          },
          "repo": {
            "description": "The repository the pull or issue is on.",
            "ref": "dev.knotless.defs#repoRef",
            "type": "ref"
          },
          "state": {
            "description": "`merged` applies to pulls only. Absent when the record only sets `base`: the state stands.",
            "knownValues": [
              "open",
              "closed",
              "merged"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "subject": {
            "description": "The dev.knotless.pull or dev.knotless.issue whose state changed.",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "repo",
          "subject",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "A pull or issue opened, closed or merged, or a pull pointed at another target branch.",
  "id": "dev.knotless.state",
  "lexicon": 1
}

Validate Record

Validate a record against dev.knotless.state

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

Metadata

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

Version History (2 versions)

Referenced Schemas (1)

Similar Lexicons

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

  • A pull or an issue, and everything said on it.

  • Closes or reopens a pull or an issue, or resolves a thread on a pull's lines or opens it again, as the account logged in to this appview's pages.

  • A request to merge a branch into a repository, kept in the requester's account.

  • A comment on a pull or issue. With a verdict it is a review; with a line, a comment on lines of a pull's diff, starting a thread there; with a reply, an answer in such a thread.

  • A pull put in the merge queue of the branch it targets, taken out of it, or turned away by the runner that lands the queue.

Lexicon Garden

@