3a25a4ccba
Tasks 5-6 of the bench-harness plan (refs #251). Host context probes (hostname/nproc/loadavg/commit/date, all best-effort), the child runner (release aura binary resolved from cargo's compiler-artifact JSON messages; /usr/bin/time -v wraps the child for CPU% + peak RSS, wall measured in-process), and the campaign surfaces: - a scratch data-only project per repetition ([paths] only — no [nodes]; the std-vocabulary fallback covers the SMA blueprints), synthetic archives for 4 instruments, blueprints seeded via tiny synthetic sweeps, process docs registered through the real CLI; - campaign_sweep (sweep-only process — narrow per-cell fan-out) and campaign_heavy (sweep -> gate -> walk-forward -> 1000-resample bootstrap — wide fan-out): one campaign shape misreads regressions in the other; - fingerprint = winner ordinals parsed from the always-on final {"campaign_run":...} stdout line. The full campaign-sweep determinism E2E (real release binary, real scratch runs) is #[ignore]d out of the default suite — it costs a release build plus child campaign runs, which the suite-wallclock discipline forbids on every cargo test; run it via `cargo test -p aura-bench -- --ignored`. Held quality note: the heavy/quick process docs stay two verbatim consts (plan prescription; a format! builder would trade the uniform &str contract for cosmetic dedup).