Files
hack-house/docs/stage-05-rq2p3-gate-clarification.md
T
leetcrypt 7ab3466878 RQ2-P3: re-word §7 calibration gate (naive→mechanical mix), re-run GREEN
Operator ruling (Andre, 2026-07-21): the STOP was correct and the diagnosis
right — §7 items 1-2 did not fail because the instrument is broken, but because
they were worded under the naive-funnel prior. Under the ratified posterior the
pool is a MIX (shared bridge → shared exit_signature → larger anonymity set →
higher H). Corrected pre-freeze, logged transparently (no HARKing).

- rq2p3-mechanism-prereg.md §7: item 1 re-anchored on the FROZEN bridge-federated
  branch (injective fresh-bridge → m_i=1 → H≈0, constant c=1/C — a pool draws with
  replacement so it cannot reproduce the zero-variance degeneracy); item 2 B=1 →
  c=1.0 AND high H (maximal mix, "low H" refuted by construction); added a §7 scope
  note (the gate validates the INSTRUMENT and must NOT pre-assert the H-vs-c sign —
  that stays the two-sided confirmatory question H1/H2). Confirmatory hypotheses
  unchanged.
- docs/stage-05-rq2p3-gate-clarification.md: dated deviation-rationale log (cites
  the dry-pass output, no number invented; records the two-sided direction-agnostic
  pre-commitment is untouched; the mix ρ 0→+0.838 is an exploratory finding that
  strengthens note-unique-bridge-artifact.md).
- rq2p3_calibration.py: item-1 teeth moved to frozen_branch_regression() on the
  untouched bridge-federated branch; item-2 now asserts c=1.0 AND high H; added
  all_pass aggregate. confirm.py/stats.py/confirm_load_rq2.py untouched.

Re-run: all four gate items PASS with real teeth (all_pass=True). Synthetic/DRY
only, no confirmatory record read. FREEZE STAYS A HUMAN GATE: §10 empty, no
confirmatory RQ2-P3 cell until operator records the SHA-256 + signs off. Lead
prereg SHA f22331a72e... untouched; worktree-only.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-07-21 19:48:55 -07:00

4.8 KiB
Raw Blame History

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=0c_i ≈ 1/50 constant, ρ undefined." After: re-anchored on the actual frozen bridge-federated branch (unique bridge per circuit seed → m_i=1H_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=1H≈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 12 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.