TargetingWiringEditor (the universal sources-only wiring widget) existed but was wired into only Pin and DataPoint. Every other node type had a bespoke, drifted source/target loop (Compute, Calc, LogicGate, Lambda, WebHook, SMTP, MQTT), a verb-only editor (Button), or no wiring UI at all (Trigger family, Cron, IncomingWebHook, TaskList, …). Users had no consistent way to wire sources across the swarm.
The universal widget was introduced in Phase 3 Stage 1/Stage 2 but the rollout to every editor was deferred. Each editor accumulated its own showSourceNodeList/showTargetNodeList state machine and SourceListWithBackNavigation branches, and several called the deprecated 3-tab SourceList or ExecutionSourceSelector directly rather than going through the unified widget.
showSourceNodeList/showTargetNodeList + SourceListWithBackNavigation branches with TargetingWiringEditor in: EditCompute, EditCalc, EditLogicGate, EditLambda, EditOutboundWebHook, EditSMTP, EditMqtt, EditButton.TargetingWiringEditor to editors that had no wiring UI: EditTrigger, EditCron, EditIncomingWebHook, EditTaskList, EditColorTrigger, EditFilter, EditLLM, EditBackup, EditGraph, EditProject, EditPeer, EditSerialDevice, EditServer, EditJournal.ExecutionSourceSelector calls from all editors (the widget includes “Invoked By” internally).