The World, part II — orchestration families
The three remaining C12 orchestration axes (optimize/argmax, walk-forward, Monte-Carlo) plus the family infrastructure, layered over the proven disjoint-parallel sweep core (aura-engine/src/sweep.rs). Completes C12/C21 — aura's differentiating meta-level: orchestrating families of harnesses, not the single backtest.
Axis 1 (grid sweep) shipped in the prior "The World — parameter-space & sweep" milestone. This milestone cashes in the substrate that was purpose-built for exactly this and nothing else: the atomic sim unit (bootstrap_with_params), the disjoint-parallel executor (sweep_with_threads), the run registry, and the (manifest, metrics) pair. Each new family is a thin layer over that core — high value, low structural risk.
Load-bearing design constraint (eager-agnostic dataflow): NO issue in this milestone may settle on the assumption that input streams are materialized Vecs. At realistic scale (20y, 3 tick streams, ~7.9e9 ticks) the eager layout is ~190 GB resident — non-residable. The firewall is #71: realize the deferred Source trait (ledger 0004) as the run() ingestion seam, co-designed with the real DataServer-backed source (closes the cycle-0011 deliberate-eager gap; C12 Arc<[T]> cross-sim sharing). Every downstream family inherits the producer Source shape — see the per-issue eager-agnostic constraint comments on #66/#68/#69/#70/#52.
Constituent issues (dependency order):
- #71 — Source-trait ingestion seam + DataServer-backed source (FOUNDATIONAL, lands first; everything below inherits the producer shape)
- #66 — Seed-as-input plumbing (seeded
Source; prerequisite for Monte-Carlo) - #57 — Named sweep point in the per-point closure (readable per-point params)
- #52 — Random param-sweep enumeration (C12.1 other half; seeded-RNG warm-up)
- #67 — Optimize/argmax axis (C12 axis 2) — SHIPPED
- #68 — Monte-Carlo family (C12 axis 4)
- #69 — Walk-forward orchestrator (C12 axis 3) — the PRIMARY eager-agnostic firewall: WindowBounds + make_source(from,to), never a materialized-history slice
- #70 — Registry lineage for families + CLI (C18; lands last)
Out of scope (later milestones): the egui playground meta-views (C22) and the C23 sweep-invariant hoisting optimisation — both presuppose these families exist. Bayesian/genetic param-search policies (pluggable atop the atomic unit) are also deferred.