The “Nodes for Context” section in EditLLM showed an “Add Context Node” button that pushed down every time a node was added, and each wired context node was represented only by its type resource name and a plain ✕ button — no chip detail, no visual parity with the rest of the UI.
The section was built with a bare Text label + ExecutorActionButton appended below the list, and forEach rows used contextNode?.type?.resourceName() rather than rendering a full node chip via NodeSummaryAndEditor.
Row with Modifier.weight(1f) on the label Column and an IconButton("+") trailing on the right, replacing the ExecutorActionButton below the list.Surface/Box pattern identical to WiredNodeList in ExecutorEditComponents.kt: the chip area uses NodeSummaryAndEditor(contextNode, ViewMode.ROW) and the remove button is an IconButton("✕") anchored at Alignment.TopEnd.import androidx.compose.foundation.shape.* for RoundedCornerShape.When a section needs both a label and an action, put the action in the header row (trailing icon) rather than appending a button below the list — a button below a dynamic list shifts position as items are added. Reach for WiredNodeList/NodeSummaryAndEditor(ViewMode.ROW) whenever displaying a wired-node reference; do not reconstruct the representation ad hoc with type.resourceName().