ReactiveDag.Node.Ref (reactive_dag v0.16.0)

Copy Markdown View Source

A by-name input edge to another named node (ref :id). The general form — nestable inside compose. The flat depends_on: [:a, :b] schema key is sugar that lowers to one %Ref{} per id.

gate: names an attestation requirement: the edge then consumes the target THROUGH its attested view — an interposed cell admitting only rows whose attestation currently applies (ReactiveDag.Attestation). Signing is a property of the EDGE, not of the data: an ungated edge to the same target still sees everything, which is what keeps denominators honest.

mode: (with gate:) picks how a not-yet-signed row projects: :require (default) withholds it; :annotate lets it FLOW as best effort, written with the requirement's unsigned status so it stays distinguishable from signed. A rejection bites in both modes.