From
bafyreidu5hzsrwau5crc6dgwqgjaora6hakt7sagsu4cfbzi5oslovjknu
indexed 2026-10-28 21:21 UTC
View this version
To
bafyreidba47ntt4fgn4stnv5utsnfytg2prdseo2reibb3wokzclqu6sqe
indexed 2026-11-02 09:03 UTC
View this version
Compatibility
backward compatible No changes detected.
Changes
11
{22
"$type": "com.atproto.lexicon.schema",33
"defs": {44
"failedCheck": {55
"description": "A run of the batch that did not pass, as the runner filed it.",66
"properties": {77
"check": {88
"description": "The dev.knotless.check record of the run, with its steps and log.",99
"format": "at-uri",1010
"type": "string"1111
},1212
"status": {1313
"description": "How it ended, as dev.knotless.check's status says.",1414
"knownValues": [1515
"failure",1616
"error",1717
"cancelled"1818
],1919
"maxLength": 64,2020
"type": "string"2121
},2222
"workflow": {2323
"description": "The workflow's name, as its file in .knotless/workflows names it.",2424
"maxLength": 256,2525
"type": "string"2626
}2727
},2828
"required": [2929
"workflow"3030
],3131
"type": "object"3232
},3333
"main": {3434
"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`.",3535
"key": "tid",3636
"record": {3737
"properties": {3838
"checks": {3939
"description": "For `ejected` by a batch that failed its checks, those that did not pass.",4040
"items": {4141
"ref": "#failedCheck",4242
"type": "ref"4343
},4444
"maxLength": 64,4545
"type": "array"4646
},4747
"commit": {48
"description": "For `ejected`, the hex object ID of the pull's head that was turned away.",48
"description": "The hex object ID of the pull's head: for `queued`, the one queued; for `ejected`, the one turned away.",4949
"maxLength": 64,5050
"minLength": 40,5151
"type": "string"5252
},5353
"createdAt": {5454
"format": "datetime",5555
"type": "string"5656
},5757
"reason": {5858
"description": "For `ejected`, why: the paths it conflicts in, or the checks that failed and where to read their logs.",5959
"maxGraphemes": 1000,6060
"maxLength": 4096,6161
"type": "string"6262
},6363
"repo": {6464
"description": "The repository the pull is on.",6565
"ref": "dev.knotless.defs#repoRef",6666
"type": "ref"6767
},6868
"state": {6969
"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`.",7070
"knownValues": [7171
"queued",7272
"left",7373
"ejected"7474
],7575
"maxLength": 64,7676
"type": "string"7777
},7878
"subject": {7979
"description": "The dev.knotless.pull queued, taken out or turned away.",8080
"format": "at-uri",8181
"type": "string"8282
}8383
},8484
"required": [8585
"repo",8686
"subject",8787
"state",8888
"createdAt"8989
],9090
"type": "object"9191
},9292
"type": "record"9393
}9494
},9595
"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.",9696
"id": "dev.knotless.queue",9797
"lexicon": 19898
}