dev.knotless.queue
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"failedCheck": {
"description": "A run of the batch that did not pass, as the runner filed it.",
"properties": {
"check": {
"description": "The dev.knotless.check record of the run, with its steps and log.",
"format": "at-uri",
"type": "string"
},
"status": {
"description": "How it ended, as dev.knotless.check's status says.",
"knownValues": [
"failure",
"error",
"cancelled"
],
"maxLength": 64,
"type": "string"
},
"workflow": {
"description": "The workflow's name, as its file in .knotless/workflows names it.",
"maxLength": 256,
"type": "string"
}
},
"required": [
"workflow"
],
"type": "object"
},
"main": {
"description": "Kept in the account of whoever wrote it; for a private repository, in their repo inside the repository's space. Readers take the latest about a pull from the repository's owner or a collaborator, who may merge it, and from no one else. A pull is in the queue while that is `queued` and the pull is open, in the order of those records' keys. A runner the repository names takes queued pulls in that order, a few at a time, squashes each onto the branch as a commit of its own, runs the workflows that run on a pull into the branch once, at the last of them, and once those pass moves the branch there, marking each pull `merged` with a dev.knotless.state. One that does not apply, or that its checks find breaks the branch, it marks `ejected`.",
"key": "tid",
"record": {
"properties": {
"checks": {
"description": "For `ejected` by a batch that failed its checks, those that did not pass.",
"items": {
"ref": "#failedCheck",
"type": "ref"
},
"maxLength": 64,
"type": "array"
},
"commit": {
"description": "For `ejected`, the hex object ID of the pull's head that was turned away.",
"maxLength": 64,
"minLength": 40,
"type": "string"
},
"createdAt": {
"format": "datetime",
"type": "string"
},
"reason": {
"description": "For `ejected`, why: the paths it conflicts in, or the checks that failed and where to read their logs.",
"maxGraphemes": 1000,
"maxLength": 4096,
"type": "string"
},
"repo": {
"description": "The repository the pull is on.",
"ref": "dev.knotless.defs#repoRef",
"type": "ref"
},
"state": {
"description": "`queued` puts the pull at the back of the queue; `left` takes it out; `ejected` is the runner turning it away, saying why in `reason`.",
"knownValues": [
"queued",
"left",
"ejected"
],
"maxLength": 64,
"type": "string"
},
"subject": {
"description": "The dev.knotless.pull queued, taken out or turned away.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"repo",
"subject",
"state",
"createdAt"
],
"type": "object"
},
"type": "record"
}
},
"description": "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.",
"id": "dev.knotless.queue",
"lexicon": 1
}
Metadata
- DID
-
did:plc:yqsg7znbbhfmj3a2nrpnaerk - CID
-
bafyreidu5hzsrwau5crc6dgwqgjaora6hakt7sagsu4cfbzi5oslovjknu - Indexed At
- 2026-10-28 21:21 UTC
- AT-URI
-
at://did:plc:yqsg7znbbhfmj3a2nrpnaerk/com.atproto.lexicon.schema/dev.knotless.queue
Referenced Schemas (1)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
dev.knotless.getQueue query
A repository's merge queues.
-
dev.knotless.check record
What a workflow did at a commit a ref pointed at, or at the head of a pull, as the runner that ran it reports.
-
Whether an open pull can merge now, and what the account asking may do to it.
-
dev.knotless.queuePull procedure
Puts a pull in its branch's merge queue as the account logged in to this appview's pages.
-
dev.knotless.pull record
A request to merge a branch into a repository, kept in the requester's account.