SS5: adversarial review of the filled paper — 1 mechanism defect fixed
Self red-team of the SS4-filled lead paper against the sealed SS3 results (no new statistic, no raw-data touch, frozen prereg untouched). Documented in docs/stage-08-adversarial-review.md. PASS: number fidelity (every §5 figure matches stage06-results.json), Holm arithmetic (family=7, multipliers 7/6/5/4, only RQ1-P1+RQ2-P1 survive @ .05), spin/over-claim (no-leak framing for the below-chance AUC, honest-negative reported with equal prominence, lab-scope disclaimers), blinding integrity (§5-6 filled once post-seal), method faithfulness (bit-faithful --verify). Defect fixed (prose only, ZERO numbers changed): RQ1-P1's marginally below-chance AUC was incorrectly attributed to a bridge "padding stream flattening" the profile. assembler.py sets padding_applied=(bridge== "on+padding"), so the RQ1-P1 bridge-on NO-PAD arm carries no cover stream. Corrected docs/stage-06-analysis.md and paper §5.2/§6 to state the offset is an unexplained pooled-correlator artifact, explicitly not a padding effect. Point estimate, CI, gate decision, and Holm outcome are unchanged. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -63,3 +63,6 @@ RQ2 RATIFIED (operator Andre, 2026-07-20, while blind) — observation-consisten
|
||||
- 2026-07-20 SS4 RESULTS/DISCUSSION FILLED + committed: docs/stage-07-paper-draft.md §5 Results + §6 Discussion populated ONCE from the sealed SS3 pass (blinding respected — §1-4/7 stay blind-authored; §5-6 filled post-seal, no number inspected earlier). Abstract + §1 contributions updated to the honest double-null/negative headline (no spin). Zero HELD/BLIND/PROPOSED placeholders remain.
|
||||
- Filled faithfully to frozen §6: §5.1 calibration gate PASS (linked 1.0000/unlinked 0.5036); §5.2 RQ1-P1 AUC 0.466 anomaly-below-chance = NO leak, RQ1-P2 ΔAUC +0.011 padding-ineffective (moot, no leak to close); §5.3 RQ2-P1 ΔH −0.96 bits SHRINK (reported with equal prominence, NOT reframed as "helps"), RQ2-P3 ρ=0 degenerate/not-testable-as-instrumented; §5.4 Holm table (only RQ1-P1+RQ2-P1 survive). §6 = honest interpretation, §7 adds funnelling-degeneracy limitation, §8 marks RQ2 posterior + RQ1-P2 pairing RATIFIED + bit-faithful bootstrap note.
|
||||
- prereg SHA INTACT (f22331a72e…); worktree-only. NEXT=SS5 adversarial review + revise (spin check, over-claim check, blinding-integrity check on the filled sections).
|
||||
- 2026-07-20 SS5 ADVERSARIAL REVIEW DONE + committed: docs/stage-08-adversarial-review.md — self red-team of the filled paper vs stage06-results.json (no new stat, no raw-data touch, prereg untouched). PASS on: number fidelity (every abstract/§5 figure matches JSON to precision), Holm arithmetic (7,6,5,4; only RQ1-P1+RQ2-P1 survive), spin/over-claim (no-leak framing, honest-negative equal-prominence, lab-scope disclaimers), blinding integrity (§5-6 filled once post-seal), method-substitution (bit-faithful --verify).
|
||||
- 1 DEFECT FOUND + FIXED (prose only, ZERO numbers changed): RQ1-P1's below-chance AUC was wrongly attributed to "the bridge padding stream flattening" — but assembler.py sets padding_applied=(bridge=="on+padding"), so the no-pad RQ1-P1 arm carries NO cover stream. Corrected docs/stage-06-analysis.md + paper §5.2/§6 to state it's an unexplained pooled-correlator artifact, explicitly NOT padding. Point/CI/gate/Holm untouched.
|
||||
- STEPPING STONES COMPLETE: SS1 executor ✅ SS2 battery+freeze ✅ SS3 §6 pass ✅ SS4 paper fill ✅ SS5 red-team ✅. Honest double-null/negative lead paper ready for operator review. prereg SHA INTACT; worktree-only feat/sor-consent-relay.
|
||||
|
||||
@@ -60,9 +60,11 @@ this note would carry a `NEEDS-OPERATOR` banner and **no** AUC would be reported
|
||||
(RQ1) is **not** supported. The correlator does not link entry↔exit segments
|
||||
better than chance on the instrument's bridge-on traffic; it sits marginally
|
||||
*below* chance. Rejecting the two-sided null at AUC = 0.5 in the low direction is
|
||||
an artifact of the pooled correlator on this as-instrumented traffic (the bridge
|
||||
hop's R1 padding stream flattens the linked-pair temporal profile), **not** a
|
||||
linkability finding. We report **no measurable leak**.
|
||||
an artifact of the pooled correlator on this as-instrumented traffic, **not** a
|
||||
linkability finding. (Note: this is the bridge-on **no-pad** arm —
|
||||
`padding_applied = (bridge == "on+padding")` in `assembler.py`, so **no** cover
|
||||
stream is present here; the below-chance reading is an unexplained correlator
|
||||
artifact, not a padding effect.) We report **no measurable leak**.
|
||||
|
||||
### Method note — RQ1-P1 CI is method-faithful, not method-substituted
|
||||
|
||||
|
||||
@@ -286,9 +286,10 @@ reported.
|
||||
pairs; 1,500 linked / 73,500 unlinked) yields **AUC = 0.4660, BCa 95% CI [0.4523, 0.4798]**. The
|
||||
CI excludes 0.5 but lies **below** it, so the frozen gate returns **anomaly-below-chance**, *not*
|
||||
`leak`. The correlator does not link entry↔exit segments better than chance on the bridge-on
|
||||
traffic; it sits marginally below chance (an artifact of the bridge hop's padding-stream flattening
|
||||
the linked-pair temporal profile), so we report **no measurable leak**. The two-sided rejection at
|
||||
AUC = 0.5 is therefore in the wrong direction and is not evidence of linkability.
|
||||
traffic; it sits marginally below chance — an unexplained artifact of the pooled correlator on this
|
||||
as-instrumented traffic (this is the **no-pad** arm, so no cover stream is involved), not a
|
||||
linkability finding — so we report **no measurable leak**. The two-sided rejection at AUC = 0.5 is
|
||||
in the wrong direction and is not evidence of linkability.
|
||||
|
||||
**RQ1-P2 (padding efficacy).** Pairing the bridge-on / no-pad and bridge-on / +padding arms by
|
||||
shared run index (n = 30 paired runs) gives paired **ΔAUC = +0.0113, BCa 95% CI [−0.0025,
|
||||
@@ -346,14 +347,14 @@ directional effect points *against* the design's motivation.
|
||||
|
||||
**RQ1 — no bridge leak to close.** The frozen, fixture-calibrated correlator (linked AUC 1.00,
|
||||
unlinked 0.50) reads the bridge-on traffic at AUC 0.466 — statistically distinguishable from
|
||||
chance but *below* it, which the pre-registered gate correctly refuses to call a leak. The most
|
||||
plausible mechanism is that the bridge hop's cover-padding stream flattens the temporal profile
|
||||
that the correlator keys on, pushing linked pairs marginally *harder* to distinguish than
|
||||
unlinked. Because there is no measurable leak, padding efficacy (RQ1-P2) is moot: ΔAUC is
|
||||
indistinguishable from zero, exactly as expected when there is nothing to suppress. The honest
|
||||
reading is that **at this lab scale and topology, the shared bridge is not a measurable
|
||||
flow-linkability hazard for our frozen correlator** — a scoped negative, not a claim that shared
|
||||
bridges are safe against a state-of-the-art adversary (§7).
|
||||
chance but *below* it, which the pre-registered gate correctly refuses to call a leak. We do not
|
||||
have a substantiated mechanism for the slight below-chance offset; it is a small artifact of the
|
||||
pooled correlator on this as-instrumented traffic (and it is *not* a padding effect — this is the
|
||||
no-pad arm, which carries no cover stream). Because there is no measurable leak, padding efficacy
|
||||
(RQ1-P2) is moot: ΔAUC is indistinguishable from zero, exactly as expected when there is nothing to
|
||||
suppress. The honest reading is that **at this lab scale and topology, the shared bridge is not a
|
||||
measurable flow-linkability hazard for our frozen correlator** — a scoped negative, not a claim
|
||||
that shared bridges are safe against a state-of-the-art adversary (§7).
|
||||
|
||||
**RQ2 — federation shrinks the anonymity set.** The evidentiary core is the Holm-significant
|
||||
ΔH = −0.96 bits: under the ratified adversary posterior, federating across houses *reduces* the
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
# Stage-08 adversarial review (SS5) — red-team of the filled lead paper
|
||||
|
||||
**Status: DONE (self-adversarial pass over the SS3 numbers + the SS4-filled paper).**
|
||||
This is an internal integrity red-team, not a new analysis. It runs ONLY on already-frozen
|
||||
artifacts (`docs/stage-06-analysis.md`, `stage06-results.json`, `docs/stage-07-paper-draft.md`);
|
||||
it computes no new statistic, touches no raw data, and does not edit the frozen prereg
|
||||
(SHA `f22331a72e0d0ccf38b787e63acabbe9d666456ec76076787a6d545c3193425b`).
|
||||
|
||||
## Checks performed
|
||||
|
||||
1. **Number fidelity (paper ⟷ results JSON).** Every quantitative claim in the abstract, §1,
|
||||
§5, §5.4 table, and the exploratory note was matched against
|
||||
`stage06-results.json`. All agree to the reported precision:
|
||||
- RQ1-P1 AUC 0.4660, CI [0.4523, 0.4798]; RQ1-P2 ΔAUC +0.0113, CI [−0.0025, +0.0234],
|
||||
raw p 0.091, Holm-adj 0.456; RQ2-P1 ΔH −0.9587, CI [−1.0559, −0.8641]; RQ2-P3 ρ 0.0;
|
||||
exploratory bridge-fed-only ΔH −3.63; calibration linked 1.0000 / unlinked 0.5036;
|
||||
n = 75000 pairs (1500 linked), 30 paired runs, 3000 federated / 1500 single-house / 1500
|
||||
bridge-fed circuits. **PASS.**
|
||||
2. **Holm arithmetic.** Family = 7, report 4, ascending raw p → multipliers 7,6,5,4; adjusted
|
||||
p = 0,0,0.456,1.0 with monotone enforcement; only RQ1-P1 + RQ2-P1 survive @ α=.05.
|
||||
Conservative embedding (reported tests assigned the smallest ranks / largest multipliers)
|
||||
is stated and is the *more* conservative choice. **PASS.**
|
||||
3. **Spin / over-claim.** RQ1-P1 is reported as "no measurable leak" (a below-chance rejection is
|
||||
explicitly NOT called a leak); RQ2-P1 is reported as an honest negative "with equal prominence"
|
||||
and is not re-framed as federation "helping"; §6 scopes all claims to the lab
|
||||
instrument/topology and disclaims internet-scale and stronger-adversary generality. No
|
||||
re-slicing, no post-hoc subgroups. **PASS.**
|
||||
4. **Blinding integrity.** Header records §1–4/7 blind-authored and §5–6 filled ONCE post-seal
|
||||
from the single §6 pass; consistent with git history (SS4 fill follows SS3 seal). **PASS.**
|
||||
5. **Method-substitution.** The RQ1 fast bootstraps are disclosed and asserted bit-for-bit equal
|
||||
to the frozen `stats.bootstrap_ci` (committed `--verify`, 1e-12). Point estimates, CI gates,
|
||||
and decisions are unchanged. **PASS.**
|
||||
|
||||
## Defect found and corrected (1)
|
||||
|
||||
- **Incorrect mechanism attribution for RQ1-P1's below-chance AUC.** Both
|
||||
`docs/stage-06-analysis.md` and the SS4 paper originally attributed the marginally-below-chance
|
||||
AUC to "the bridge hop's padding stream flattening the linked-pair temporal profile." This is
|
||||
**false for the RQ1-P1 arm**: `assembler.py` sets `padding_applied = (bridge == "on+padding")`,
|
||||
so the bridge-on **no-pad** arm carries **no** cover stream. Corrected in both documents to state
|
||||
the below-chance offset is an **unexplained pooled-correlator artifact** on the as-instrumented
|
||||
no-pad traffic, explicitly *not* a padding effect. **No number changed** — this was a prose
|
||||
mechanism claim only; the point estimate, CI, gate decision, and Holm outcome are untouched.
|
||||
|
||||
## Residual honest limitations (carried, not defects)
|
||||
|
||||
- RQ2-P3 funnelling is untestable as-instrumented (zero-variance concentration covariate); the
|
||||
*mechanism* behind the RQ2-P1 shrinkage is therefore not empirically resolved, only its
|
||||
magnitude. Disclosed in §5.3 and §7.
|
||||
- The below-chance RQ1-P1 offset now has **no** claimed mechanism; this is the honest state and is
|
||||
reported as such rather than back-filled with a speculative cause.
|
||||
|
||||
**Outcome:** paper is internally consistent, number-faithful, spin-free, and blinding-honest after
|
||||
the one mechanism correction. Ready for operator review.
|
||||
Reference in New Issue
Block a user