Conditional Steps
Skip compatible transformations with understandable production logic.
A persisted Step may include:
{"condition":{"input":"shot","path":["dialogue"],"operator":"present"}}Conditions are bounded data predicates: present, equals, not-equals; equality operators compare a scalar value. Paths contain up to eight safe field names. Predicate controls use their declared defaults, just as a normal SDK run does. An explicitly invalid primary value is rejected even when the condition skips. No JavaScript expressions are executed. The conditional block must have a primary input compatible with its single output, so a false condition passes through that input without inventing data. Conditional host workspaces are not supported yet.
Settings are stored in the Step's config. enabled:false disables a Step and reconnects a compatible primary chain. Block packages and versions remain pinned; removing or reordering a Step never edits the reusable package. When upstream data changes, dependent SDK results are marked stale, retained as previews and excluded from connected inputs until rerun.