Overview
A gate is a verification checkpoint on a pipeline node. It tells Dexter to perform a specific set of checks, then stop and ask you to sign off before any downstream node runs. Gates are how the platform makes derivation auditable: every value that comes out of a pipeline has been through one or more user-confirmed checkpoints.Where Gates Live
Gates are defined on the pipeline template, on individual nodes:- Source nodes — gates are required. Dexter places a gate on every source node automatically. The gate verifies input shape: required columns present, values in valid ranges, recipe codes match the known set, and so on.
- Transformation nodes — gates are optional, recommended when the transform’s output drives a high-stakes downstream value. A “sanity check on computed mean cycle times” is a typical transform gate.
- Output nodes — gates are not allowed. By the time a value reaches an output, the corrective lever is always upstream.
gate_id(required) — stable identifiername(required) — short label users see in the chat prompt and the Run Information paneldescription(optional) — context shown alongside the prompt; helpful for explaining why this check exists and what to look forinstructions(optional) — agent-facing directive listing the specific checks Dexter must perform. Best written as a Markdown bulleted list so the checks render clearly. This field is consumed by Dexter at run time to decide what to inspect, not displayed verbatim to the user —descriptionis the user-facing field
Gate States
Gate state lives on the run, not the template. Each gate record on a run carries a status:- pending — Dexter has gathered evidence and is waiting for your decision
- confirmed — You approved. Downstream nodes unblock
- rejected — You flagged a problem. Downstream nodes stay blocked until the gate is reopened or the upstream is corrected
Reopening a confirmed gate doesn’t roll back results that already landed downstream. The run record is append-only — values produced before the reopening stay on the run. New downstream work blocks until the gate is re-confirmed.
Confirming a Gate
When a run reaches a gate, Dexter poses a structured question in the chat panel. The message includes:- The evidence Dexter gathered — column counts, row samples, value ranges, the specific checks the gate’s instructions called for
- A confidence level —
high/medium/low— reflecting Dexter’s read on whether the input passed cleanly - Confirm and Reject buttons
How Gates Appear on the Canvas
Source and transformation nodes carry a small shield icon when a gate is configured on them. In a run, a confirmed gate is marked with a checkmark next to the shield. The Run Information side panel summarizes overall progress with a label likeGates resolved: 2 / 3.
When a Derivation Is Wrong
If a derivation comes out wrong, the right correction depends on what happened:- The gate was confirmed by mistake (or the concern that caused a rejection has been resolved without changes) — re-confirm or reopen the gate on the same run. Existing results remain; the gate’s lifecycle reflects your final decision.
- The source data was wrong — fix the input, then run the pipeline again with the corrected source. The new run produces fresh results; old runs are preserved for comparison.
- The pipeline logic was wrong — edit the template (transformation code, instructions, gate definition), then start a new run.

