World/C21: run + orchestrate harness families from blueprint-data

New Issue

The World constructs and RUNS harnesses from serialized topology-data (C24 blueprints) and orchestrates FAMILIES of them reproducibly — the C21 differentiator (the meta-level is the product), not the single backtest. This turns C24's topology-as-data into actual runs.

Scope (three cycles, dependency-ordered)

  1. Run-from-data (keystone): aura run <blueprint.json> [--params] — load → compile (injected resolver) → bootstrap → run → manifest, bit-identical to the Rust-builder path; manifest carries topology_hash (Tier-1 optional, #156). Ships demo blueprints in-repo as runnable examples.
  2. Families-from-data: sweep / MC / walk-forward accept a loaded blueprint + axes, orchestrate parallel members, aggregate to the same FamilyRunRecord shape.
  3. Reproduce (#158): content-addressed topology_hash (SHA256 of the canonical #164 form) as the reproducibility anchor; a stored manifest re-derives the FlatGraph bit-identically.

Deferred (NOT in this milestone), with homes

  • Retiring the hard-wired aura-cli harnesses (#159) + the project-as-crate authoring layer (aura new / Aura.toml / cdylib / experiment-builder API) → a FOLLOW-ON milestone. Retiring the harnesses before a local authoring path exists would leave no way to author strategies (invariant 12); in-repo demo blueprints cover examples meanwhile.
  • RunReport genericity (#147) — one-implementor speculation; deferred until a second cross-domain consumer exists.
  • #124 (instrument/cost resolution), the visual/web face, parameter/structural search → separate threads.

Charter point — the resolver-injection boundary (invariant 9 on the data plane)

#160's closed-set guard is mandatory at the engine's data-plane face (fails safe, UnknownNodeType); the project/ecosystem marketplace boundary (what an injected project resolver may resolve) is a charter point for the project-as-crate follow-on — the engine stays domain-free. Recorded in the C24 ledger "Enforcement shift" note.

Invariant watch

C1 determinism (pure blueprint→FlatGraph), inv. 8 frozen reframed (research-plane generation + deploy-plane freeze), inv. 9 (#160 guard), inv. 5 (construction gates before instantiation), C18 (topology_hash anchor), #156 Tier-1 for the new manifest field.

Settled in a cycle-0091 design analysis (adversarially verified) and ratified by the user ("macht alles sinn, leg los" — 2026-06-30).

No due date
100% Completed