Measurement reachable — measure ic end-to-end on robust signals
Signal-quality measurement becomes reachable from the release binary, and correct when reached. #312: measure ic needs a persisted price/signal tap pair that no release-binary path can produce — the agent of the 2026-07-22 external field test (triage: #314) hit the --trace refusals, concluded trace persistence was disabled in the installed version, and abandoned the measurement path; the fix extends the closed tap vocabulary and streams through the TapTraceWriter seam landed with #283. #294 pins the IC offline-join duplicate-timestamp semantics: once #312 makes the join reachable, a multi-source same-timestamp measurement stream would silently resolve duplicates last-wins — reachability without pinned join semantics risks a quietly wrong IC, so the two land together. #318 adds numerically robust rolling statistics (RollingVar/RollingStd; the z-score shape — own node vs thin composition — is an open cut) to the std vocabulary: the same field test saw a hand-rolled z-score fork between an O(N)-per-tick correct form and an O(1) form whose float drift decays into noise over ~13M ticks; robust rolling stats are shared substrate for authored signals and measurement alike.
Done: measure ic runs end-to-end from the release binary, duplicate-timestamp joins have pinned semantics, and rolling variance/stddev/z-score ship robust.