"""R7 (partial) — offline analysis calibration primitives. This package holds only the *offline-validatable* half of R7: the detectors that the instrument-validation gate calibrates on **synthetic fixtures** (never on confirmatory-cell data — CLAUDE.md build discipline). Specifically: - ``detectors.shannon_entropy_bits`` — the RQ2 anonymity-set entropy metric; gate item 4 requires it to return ``log2(N)`` for ``N`` equiprobable senders. - ``detectors.bridge_correlation_auc`` — the RQ1 bridge-linkability scorer; gate item 3 requires AUC ≈ 1 on a known-linked control pair and ≈ 0.5 on a known-unlinked pair. These are pure functions over in-memory series/distributions — they read no pcaps, spawn no engine, move no traffic, and touch no VM fabric. The traffic-moving R7 pieces (``churn.py`` seeded VM spin/kill; the live selector rebuild loop; the confirmatory battery that writes ``metrics.json``) are NOT here — they are HELD pending R4/R6 + a live grid (see OVERSEER-STATUS.md). """