DI fallback the presenter reads when its [commitAction] input is
unbound. Directives compose via DI tokens, not by hand-binding
another directive's input (Pillar 3). When a source is present and
exposes a non-null action(), its mode() wins over the
[commitMode] input.