Dataflow — ADRs
Architecture decisions in the dataflow field.
Decisions about what flows between nodes, where persistent data lives, and how boundary nodes (PortIn/Out, IterIn/Out, Initialize) shape the graph topology. Wire types and state containers are kept distinct by design (ADR-dataflow-004) — this field covers both sides of that boundary plus the pivot nodes that sit on it.
| ID | Title | Date | Status | Supersedes |
|---|---|---|---|---|
adr-dataflow-001 |
Recursive composite node system (PortIn/PortOut boundaries) | 2026-03-26 |
accepted | — |
adr-dataflow-002 |
State container system — dual-wire architecture with typed states | 2026-03-31 |
accepted | — |
adr-dataflow-003 |
Configurable IterIn/IterOut ports via config.ports |
2026-04-10 |
accepted | — |
adr-dataflow-004 |
Tighten the wire / state-container split | 2026-04-15 |
accepted | — |
adr-dataflow-005 |
LIST[T] wire-type modifier with consumer-side coercion |
2026-04-15 |
accepted | — |
adr-dataflow-006 |
Three-pivot boundary nodes: Initialize + iterIn + iterOut | 2026-04-18 |
accepted | — |
adr-dataflow-007 |
Multi-scope iteration — N coexisting (Initialize, iterIn, iterOut) triples in one flat graph | 2026-05-09 |
accepted | — |
adr-dataflow-008 |
Two-sided iterIn — fold the run-start initialize pivot into iterIn's left/input side (3 pivots → 2) | 2026-06-09 |
accepted | revises 006 |
adr-dataflow-009 |
Two-sided iterOut — fold the termination node into a stop port; final side + after-loop band | 2026-06-11 |
accepted | revises 008 |
Related
Related: the executor-side half of the three-pivot change (seed discovery + pairedWith transfer + validate_graph_connectivity) is executor/adr-executor-002. The executor-side half of the multi-scope change (per-scope state, settle isolation, portOut latch propagation) is executor/adr-executor-003.