AgentCanvas / Pages / Developer Guide / Core / Decisions / Components
9 ADRs

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.