Skip to content

Determinism, parallelism, paging, and distribution

These controls answer different questions and must not be treated as synonyms.

  • A project seed coordinates random choices that declare seeded behavior.
  • A distribution defines how candidates are selected from a source pool or numeric range.
  • numProcess requests workers; capability policy may reduce it when the source or selector cannot preserve its contract in parallel.
  • Paging changes how a bounded source is loaded. It must not change the selected logical result.
  • Streaming changes transport and memory behavior. It does not remove the bounded-count contract of current Kafka or RabbitMQ sources.

Source decisions

Use ordered when stable traversal matters. For RabbitMQ, ordered enforces one consumer for FIFO; explicit round_robin allows competing consumers and gives up global output order. Full-pool policies such as random, weighted, reservoir, or stratified are valid only for source families that expose that capability.

What to verify

  • Repeat the same seeded model and compare output values, not filenames or timestamps outside the contract.
  • Compare SP and MP only when the capability says the topology is invariant.
  • Compare streaming and page sizes against the same exact bounded set.
  • Treat an automatic reduction to one worker as policy evidence, not a performance failure.

See source and target selection, RabbitMQ bounded sources, and the generated source capability section in the Authoring reference.