The World — parameter-space & sweep

New Issue

First cut of the World/orchestration layer (C21), scoped deliberately to the sweep root — the smallest gate that unlocks all four C12 orchestration axes.

The walking-skeleton substrate runs one harness; the construction layer compiles a blueprint to a flat compilat. This milestone makes a blueprint yield a family of disjoint instances driven by an injected parameter vector, and runs the simplest axis (param-sweep) over it.

Scope (the root, in order)

  • Cycle A — param declarations (C8). A node declares its tunable parameters: typed, with ranges, aggregating into the blueprint's param-space. Today params are hard-coded in the builder (SMA(2), Exposure(0.5)); C23 names this gap explicitly ("deliberately not in the schema yet").
  • Cycle B — param-set injection into bootstrap (C19/C12). The bootstrap binds (blueprint + param-set + data + seed); make the param-set an injected vector, not baked into the builder. One blueprint, many instances, no cdylib recompile.
  • Cycle C — param-sweep (C12.1). A family of disjoint compilats from one blueprint, run in parallel (C1), each yielding metrics. The first real "N instead of 1" moment.
  • Cycle D — run registry over the sweep family (C18). Index/compare manifests + metrics across the family (per-run manifest+metrics already exist since cycle 0009).

Deferred (later milestones)

  • Optimize (C12.2 — argmax over the sweep), Walk-forward (C12.3), Monte-Carlo (C12.4 — sweep over seeds).
  • Playground / trace explorer (C22) — strictly after the World; its meta-views (sweep surfaces, WF stitching) need sweep/WF results to show.
  • Project layer (aura new + experiment-builder API + Aura.toml, C16/C20) — orthogonal packaging; the sweep mechanics can be developed in the engine's own examples/ first.

Ledger refs: C8, C12, C18, C19, C21, C23.

No due date
100% Completed