e015317183
Tasks 3-4 of the bench-harness plan (refs #251). The surface framework (1 discarded warmup + N measured reps, median per metric, cross-rep fingerprint identity enforced — a surface disagreeing with itself is nondeterminism, never averaged away) and the two library surfaces: - engine_throughput: 1M-bar seeded walk through an SMA-cross bias graph (GraphBuilder -> compile -> bootstrap -> VecSource -> run), fingerprint = the SeriesReducer finalize row. - ingest_throughput: synthetic 48-byte M1 archive drained via open_columns with a FRESH DataServer per rep, so the measured drain pays zip inflate + parse instead of the in-memory FileCache; fingerprint = count + bit-XOR of the close column. Quick-mode determinism is pinned in-suite for both surfaces (C1 — the harness's premise as currently-green tests); full-size numbers wait for the release driver glue.