# Arc 0 — baseline through the full research loop **Date:** 2026-07-13 **Engine:** aura @ `1ebb94c` (release build) **Project commit at run time:** `bc95526` (the `aura new` scaffold, untouched) ## Purpose Prove that an external, data-only project carries the entire research loop — scaffold → run → sweep → walkforward → mc → generalize → reproduce — on real recorded data. Arc 0 is explicitly *not* edge-finding: the starter blueprint (SMA 2/4 cross → bias) on minute bars is expected to be noise, and it is. Every friction found here is an engine finding; Arc 0 found none. ## Universe and window | instrument | pip (sidecar) | coverage used | |---|---|---| | GER40 | 1 | 2018-01-01 .. 2026-06-30 | | US500 | 1 | 2018-01-01 .. 2026-06-30 | | EURUSD | 0.0001 | 2018-01-01 .. 2026-06-30 | | XAUUSD | 0.1 | 2018-01-01 .. 2026-06-30 | Window flags: `--from 1514764800000 --to 1782863999999` (Unix ms). Data root is the built-in archive default; `Aura.toml` needs no `data` entry. ## What ran (all from this project directory) ```bash aura sweep blueprints/signal.json --list-axes # aura_quadriga_signal.fast.length:I64 default=2 # aura_quadriga_signal.slow.length:I64 default=4 # aura_quadriga_signal.bias.scale:F64 default=0.5 # baseline run, all four instruments (~3 s each, 8.5 y of m1 bars) aura run blueprints/signal.json --real GER40 --from 1514764800000 --to 1782863999999 # sweep: bound-default overrides, 3x2 grid (1.9 s wall, 6 members) aura sweep blueprints/signal.json --real GER40 --from ... --to ... \ --axis aura_quadriga_signal.fast.length=2,4,8 \ --axis aura_quadriga_signal.slow.length=16,32 --name arc0-sweep-ger40 # walkforward: 100 windows x 3 IS trials, deflation per window (5.8 s wall) aura walkforward blueprints/signal.json --real GER40 --from ... --to ... \ --axis aura_quadriga_signal.fast.length=2,4,8 --name arc0-wf-ger40 # mc R-bootstrap: 1000 resamples over the OOS R-sequence (7.8 s wall) aura mc blueprints/signal.json --real GER40 --from ... --to ... \ --axis aura_quadriga_signal.fast.length=2,4,8 --resamples 1000 # generalize: one candidate graded across the universe (5.3 s wall) aura generalize blueprints/signal.json --real GER40,US500,EURUSD,XAUUSD \ --axis aura_quadriga_signal.fast.length=8 --from ... --to ... --name arc0-generalize # registry + determinism aura runs families # lists the recorded content ids aura reproduce 6c20bf8d-0-GER40-w0-r0-s0-0 # 6/6 members bit-identical ``` ## Headline results (noise, as expected) - Baseline expectancy_r per instrument: GER40 +0.0016, US500 −0.0164, EURUSD −0.0143, XAUUSD −0.0149 (700–840k trades each — the m1 SMA cross churns; conviction terciles and sqn_normalized ≈ 0). - Walkforward stitched OOS: expectancy_r +0.0016 over 490k trades, param_stability shows the IS winner wandering (fast.length mean 4.58, p5=2, p95=8) — a textbook no-edge picture. - MC R-bootstrap: P(E[R] ≤ 0) = 0.253 — indistinguishable from zero. - Generalize (fast.length=8): sign_agreement 3/4, worst_case −0.0024 — no candidate survives the floor, correctly. ## Engine verdicts - Manifests are self-describing: swept axes + stop regime in `params`, untouched bound values in `defaults`, per-instrument sidecar pip in the broker label, engine and project commits stamped. - Determinism holds from an external project: `reproduce` re-derived all 6 sweep members bit-identically. - Throughput: every verb over 8.5 years of m1 data finishes in single-digit seconds on this box (sweep 527 % CPU, walkforward 1288 % — parallelism across disjoint sims). - Friction found: none. (One near-miss: the raw `runs/families.jsonl` `family` field is a storage key, not the reproduce handle — the public path is `aura runs families` → `aura reproduce `.) ## Next Arc 1+ is real research over this universe (orthogonal confirm/refute components, conditional R-curve shapes) — direction to be set per arc.