renderFrame to preview the task graph (for CI validation, graph-inspection UIs, or dry-run checks) without executing or persisting anything. runId and iteration are arbitrary strings used only for snapshot identity.
TaskDescriptor and GraphSnapshot are defined in Types. Same shape the runtime extracts on every render frame; renderFrame doesn’t execute or persist.
outputs lets you simulate completed upstream tasks: