Components — ADRs
Architecture decisions in the components field.
Decisions about how node authors extend the platform: the universal base class, the auto-discovery contract, the Python-driven UI system (no .tsx per node), the nodeset rename, the layout-component split, and individual configurable viewer nodes. Every "one Python file = one canvas node" claim lives under this field.
| ID | Title | Date | Status | Supersedes |
|---|---|---|---|---|
adr-components-001 |
BaseCanvasNode as universal base class |
2026-03-27 |
accepted | — |
adr-components-002 |
Remove BaseEnv — environments are NodeSets |
2026-03-28 |
accepted | — |
adr-components-003 |
Standardized nodeset__node types + auto-load + presets as data |
2026-03-29 |
accepted | — |
adr-components-004 |
Python-driven node UI — NodeUIConfig replaces custom .tsx |
2026-03-30 |
accepted | — |
adr-components-005 |
Rename ToolSet to NodeSet | 2026-04-03 |
accepted | — |
adr-components-006 |
Layout Component System with DisplayField |
2026-04-04 |
accepted | — |
adr-components-007 |
Configurable imageViewer replaces fixed observationViewer |
2026-04-17 |
accepted | — |
adr-components-008 |
Split thinkingLog into textViewer + textScroll |
2026-04-18 |
accepted | — |
adr-components-009 |
Active-workspace overlay for experiment isolation | 2026-05-12 |
accepted | — |
adr-components-010 |
General Policy Adapter split — one env_adapter nodeset + per-domain policy adapters | 2026-07-04 |
accepted | — |
Related
Related: configurable ports for IterIn/IterOut live in dataflow/adr-dataflow-003.