docs: C21/C22 — the World is the product; playground is a trace explorer

Anchor the world/playground bundle. C21 (the World: harnesses are dynamically constructible first-class objects; orchestrating families of them via the C12 axes is aura's differentiator, not the single backtest which is commodity; registry is the World's memory). C22 (the World is a program -> nothing displayable until it runs; the only durable displayable substance is the recorded trace; sinks (C8) are the recording mechanism into the registry (C18); the playground plays ANY harness and is a trace explorer / execution viewer, never a scene editor; observability is explicit/selective; samples ship with sinks). Sharpen C20 (open node vs closed harness; a harness is NOT a node, it is the closure that runs / the root scope; harnesses do not nest as nodes — the World orchestrates them as objects). Correct C14 (playground is core, not 'freely deferrable'). Foundation positioning (World = product, single-harness engine = substrate). CLAUDE.md invariant 12; project-layout day-in-the-life.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-03 10:47:16 +02:00
parent 9eae43d308
commit e2dcc7471d
3 changed files with 99 additions and 12 deletions
+12 -2
View File
@@ -97,8 +97,18 @@ per-session consent.
out-of-sample test) → an out-of-sample verdict.
7. **Freeze:** `aura freeze nodes/strategy-y --broker pepperstone
--out bots/strategy-y` → a standalone, statically-linked bot (C13).
8. **(Later) Look:** `aura play` opens the egui playground — equity curve, trade
overlays on the chart, sweep heatmaps. For *looking*, not authoring (C14).
8. **Explore — `aura play`.** The playground plays *any* harness and shows what
your **sinks** recorded (C22): live equity/signal streams while a run
executes, and recorded traces + meta-views afterwards — stitched walk-forward
equity, sweep surfaces, multi-strategy comparison. It is a trace explorer, not
a scene editor (the World is a *program*; only sink-recorded data is visible —
no sink, nothing to see). Topology you grow in Rust (hot-reload); runtime
params you tune with sliders (C12).
The real value is not step 3 (one backtest — every quant system does that) but
the **World**: steps 4/6 dynamically construct and orchestrate *families* of
harnesses, and the playground explores those families. The single-harness engine
is the substrate; the World is the product (C20C22).
CLI command names and `Aura.toml` are illustrative; the concrete surface is
designed with the relevant milestone (see the open threads in the design ledger).