A branch whose condition no longer matches
An upstream field gets renamed, or a value drifts out of range, and an IF condition that used to match stops matching. The nodes on that branch never run.
The obvious detection does not work. You would expect the skipped node to appear in runData with a non-success executionStatus. It does not appear at all. Checking node statuses for something that failed returns only healthy nodes.
Every minute executionStatus=success branches=[1] Emit 5 rows executionStatus=success branches=[5] Condition executionStatus=success branches=[0, 5] declared but ABSENT from runData: ['Send invoice']
The signal is a missing key, not a bad value. To catch it you have to know which nodes normally run and notice one stopped — absence alone is not a fault, because the untaken side of an IF is absent on every healthy run too.
Reproduce it: Schedule Trigger → Code node emitting a few rows → IF that can never match → Code node on the true branch. Read data.resultData.runData from the execution. The true-branch node simply is not there.