TransportNeeds
What needs a topic transport in a node without one (TransportSelection.NONE), in words: its aggregate types routed through Kafka (wow.aggregates.[..].routing=topic), its failure ledger published to the ops context (wow.ops.publish.enabled), and the command intake (a transport's command-intake.enabled, intake). A sourced subscription or a saga's commands to another context need it too, which the node itself refuses when it is built.
The streams its contexts publish are no need: every aggregate is published by default, so a published stream says nothing of whether anyone reads it. A node without a transport publishes none of them, and says so once (unpublished, check).
Functions
The keys that switch the command intake on in environment: wow.<type>.command-intake.enabled of each transport type of types it sets to true (TopicTransportOptions.COMMAND_INTAKE).
What needs a transport in a node with the settings given; empty for none. ledger is whether the failure ledger is published whatever the node finds (wow.ops.publish.enabled=true): auto, which publishes only while a transport has the ops context's command topic, is no need.