3fc491a058
The fourth and last verb dissolution (mc's R-bootstrap path) reroutes the inline `walkforward_family -> pooled_oos_trade_rs -> r_bootstrap` through the campaign `[std::sweep(argmax), std::walk_forward, std::monte_carlo]` process, whose terminal monte_carlo stage does the identical `StageBootstrap::PooledOos(r_bootstrap(...))` seeded from the campaign seed. Before that rewire, this pins the EXACT current bootstrap grade of a fixed 2025 GER40 invocation (block_len=5, resamples=1000, seed=42, multi-point fast 3,5 x slow 12,20 grid) so the dissolution must reproduce it byte-for-byte (the acceptance gate). The load-bearing subtlety the dissolution rests on: the campaign path uses ONE campaign seed for both the wf-stage deflation and the mc-stage bootstrap, whereas the inline path uses a fixed DEFLATION_SEED for the wf winners and the mc `--seed` for the bootstrap. This reconciles because the wf winners are argmax (deflation only annotates provenance), so they are seed-independent — the walkforward anchor already proved it (the campaign path at seed 0 reproduced the inline DEFLATION_SEED winners byte-for-byte). So `campaign.seed = mc --seed` leaves the pooled OOS series unchanged and makes the bootstrap match. n_trades=20681 matches the walkforward multi-grid anchor, confirming mc pools the same OOS-R series. Deterministic; gated on the local GER40 archive, skips cleanly on a data refusal. refs #210