Symptom

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.

Root cause

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.

Fix

Prevention