# Native source stacking with upstream preprocessing Ordinary X transformations before `branch.by_source` are applied separately to sources, in declaration order, before each source's branch encoders and head. Both bare instantiated transforms and `{"preprocessing": transform}` are accepted when reconstructible and, for stochastic operators, explicitly seeded. A splitter may occur before or after these declarations. The transformations are never fitted before splitting: their real learned state belongs to each native training scope. For `zero_with_indicator`, each base chain fits only rows where its source is present and at least one target is observed. `per_target` regression clones and fits the **whole** upstream/branch chain separately for each observed target. Complete mono-target classification retains genuine full-vocabulary probabilities. Native group constraints, inner OOF, outer scoring and REFIT remain authoritative; absent observations do not enter an encoder. No synthetic probability distribution is created for an absent source. Whole-stack search paths `branches...` address the expanded per-source chain, starting with the upstream transforms. Existing paths are unchanged when there is no upstream declaration. Different sources have independent cloned operators and may choose different parameters. The selected public recipe moves the prefix inside each source body exactly once. Constructor parameters are part of the signed native graph and the true learned encoder/head chain is part of each original REFIT capture and checksum. Export/load/replay reuse those fitted chains and perform no FIT. Target transforms, global `fit_on_all`/transfer preprocessing, structured joins, augmentation, layout changes and unseeded stochastic preprocessing remain explicitly outside this prefix path. Mixed per-source task types and additional missing-source policies remain open MM05/MM08 work; this source change does not mark the entire MM05 backlog complete. Experimental-unit weighting additionally requires the existing exact `sample_weight` capability admission for every real encoder and head; no weights are fabricated. Source witnesses cover grouped nested native scopes against independent sklearn fits, whole-stack search and installed cold replay for regression, Unicode and non-contiguous int64 classes, including an entirely absent prediction source. These witnesses are authored for the final qualification and have not run during source authoring. Installed replay must set `NIRS4ALL_PARTIAL_LATE_INSTALLED_PYTHON` and `NIRS4ALL_REQUIRE_PARTIAL_LATE_INSTALLED=1` for a mandatory gate.