| max | No | upper bound, inclusive. Only applies when operator is between. | |
| min | No | lower bound, inclusive. Only applies when operator is between. | |
| set | No | the values the checked value must be one of (or none of), compared as text, so `1` matches 1. Only applies when operator is in or not_in. | |
| text | No | the text the value must contain. Only applies when operator is contains. | |
| label | No | what this gate is checking, in your words — it becomes the message when the gate fails (e.g. 'single EcoRI site'). | |
| value | Yes | the value to check — wire a number (cut count, product size, tip count, Tm) or any output; a list is compared by its length. | |
| _files | No | The project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name. | |
| record | No | optional: the record this gate is guarding. It comes straight back out of the `record` output when the check passes, so the gate sits in the middle of a chain. | |
| against | No | optional: compare against another step's value instead of the fixed threshold. When wired, this wins over `threshold`. Only applies when operator is == or != or > or >= or < or <=. | |
| _subject | No | The record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several. | |
| operator | No | how to compare. Values: == (equals), != (does not equal), > (greater than), >= (at least), < (less than), <= (at most), between (between (inclusive)), in (is one of), not_in (is none of), contains (contains text), is_true (is true), not_empty (is not empty). | >= |
| threshold | No | the value to compare against. Leave it unset and wire `against` instead to compare two steps. Only applies when operator is == or != or > or >= or < or <=. | |
| report_only | No | report the verdict instead of stopping the run: wire `passed` (or `failed`) into another step's condition to choose a branch. | |
| against_factor | No | multiply the compared-against value by this first, so `at least twice the smallest band` is one gate rather than an arithmetic step. Only applies when operator is == or != or > or >= or < or <=. | |
| against_offset | No | then add this, so `within 50 bp of the predicted size` is expressible against a computed value. Only applies when operator is == or != or > or >= or < or <=. | |