# Stage-05 deviation log — RQ2-P3 §7 calibration-gate re-word (naive→mechanical mix)

**Status: DEVIATION (pre-freeze), 2026-07-21 — operator-ruled (Andre), logged transparently.**
This edits a **DRAFT** prereg (`rq2p3-mechanism-prereg.md`, its own slug `sor-consent-rq2p3`,
**not yet frozen**, §10 empty). It **does not** touch the frozen lead prereg
(`sor-consent-prereg.md`, SHA `f22331a72e0d0ccf38b787e63acabbe9d666456ec76076787a6d545c3193425b`).
Because the RQ2-P3 prereg is pre-freeze, correcting a mis-specified validation gate is legitimate —
but it is recorded here rather than silent-edited, per the no-HARKing rail.

## What was re-worded

`rq2p3-mechanism-prereg.md` §7 (instrument-validation gate), items 1 and 2, plus a new §7 scope
note. Items 3 (monotonicity) and 4 (entropy) are unchanged.

- **Item 1 — before:** "Reproduce the lead degeneracy. `B=50, alpha=0` → `c_i ≈ 1/50` constant,
  ρ undefined." **After:** re-anchored on the actual frozen `bridge-federated` branch (unique
  bridge per circuit seed → `m_i=1` → `H_i≈0`, constant `c_i=1/C`). A **pool of any B** draws
  with replacement → birthday collisions → non-constant concentration → ρ **defined**, so a pool
  cannot and must not reproduce the injective fresh-bridge zero-variance degeneracy.
- **Item 2 — before:** "`B=1` → all circuits share one bridge → `c=1.0`, minimal set, low H."
  **After:** keep the concentration tooth (`c=1.0`), but the anonymity set is then **all**
  circuits sharing the exit house, so under the ratified posterior `H` sits at the **HIGH end
  (maximal mix)**. The "low H" gloss was the naive-funnel error, refuted by construction.
- **New §7 scope note:** the gate validates the **instrument** (concentration varies, entropy
  exact, frozen branch untouched, B=1 boundary at c=1.0) and **must not** pre-assert the sign of
  H-vs-concentration — that sign *is* the two-sided confirmatory question (H1/H2). Baking
  "expect low H at high concentration" into a validation gate would be funnel-circular.

## Why (the mechanism)

The adversary observes `exit_signature = (exit_house, bridge_label)`; the per-circuit anonymity
set `m_i` = distinct entry nodes among circuits **sharing** that signature
(`confirm_load_rq2.py`). The fresh-bridge lead instrument gives every circuit a unique bridge →
unique signature → `m_i=1` → `H≈0`; a **finite shared pool** makes circuits share signatures →
larger sets → **higher H**. So a shared bridge acts as a **mix**: more concentration *raises*
anonymity, the opposite of the naive funnel. Items 1–2 as originally worded encoded the funnel
prior and were therefore mechanically wrong. This is exactly the prediction in
`note-unique-bridge-artifact.md`, now confirmed at calibration.

## What is NOT changed (the integrity teeth)

- **Confirmatory hypotheses H1/H2/H3 (§2) stay two-sided / direction-agnostic.** No hypothesis
  was added, dropped, or re-signed. This is a validation-gate fix, **not** HARKing. Removing the
  circular sign-assertion makes the study **more** rigorous, not less.
- **Analysis code unchanged:** `confirm_load_rq2.py`, `confirm.py`, `stats.py` untouched. Only
  the prereg §7 prose and (in the earlier build stone) the `bridge-federated-pool` instrument +
  helpers changed. The frozen `bridge-federated` branch is bit-reproducible.
- **Freeze stays a human gate:** §10 remains empty; no confirmatory RQ2-P3 cell runs until Andre
  records the SHA-256 and signs off.

## Calibration output cited (no number invented)

The dry, synthetic-only §7 calibration pass (`cmd_chat/sor/analysis/rq2p3_calibration.py`, build
stone commit `1d99e7f`) produced, verbatim:

- Item 3 (monotonicity) **PASS**; item 4 (entropy `H=log₂N` exact) **PASS**.
- Anchor `B=50, alpha=0`: concentration stdev **0.0198** (non-constant), Spearman ρ **+0.838** —
  a mix, *not* the fresh-bridge zero-variance degeneracy (this is what exposed the mis-wording).
- `B=1`: concentration `c=1.0` ✓, mean entropy **2.54 bits** vs the fresh-bridge reference
  **0.0 bits** — HIGH, contradicting the naive "low H".
- Full sweep Spearman ρ (B∈{2,4,8}×α∈{0,1,2}, in grid order): 0.00, 0.231, 0.291, 0.341, 0.526,
  0.597, 0.482, 0.744, 0.714 → all **≥ 0**: a robust mix across the whole grid.

## Exploratory status of the mix preview

The MIX (ρ 0→+0.838) is an **EXPLORATORY** calibration preview that **strengthens**
`note-unique-bridge-artifact.md` (the lead "shrink" is plausibly a unique-bridge artifact). It is
**not** a confirmatory result and does **not** relax the two-sided pre-commitment: the
confirmatory battery will still quantify the dose-response two-sided. Honest disclosure the paper
must carry: because the dry pass already previews mix, the confirmatory run quantifies a
dose-response **already visible at calibration** — stated openly; the pre-registered
direction-agnosticism stands.
