diff --git a/OVERSEER-STATUS.md b/OVERSEER-STATUS.md index 71de00f..7b5de86 100644 --- a/OVERSEER-STATUS.md +++ b/OVERSEER-STATUS.md @@ -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. diff --git a/docs/stage-06-analysis.md b/docs/stage-06-analysis.md index b8b756a..2c8b4d0 100644 --- a/docs/stage-06-analysis.md +++ b/docs/stage-06-analysis.md @@ -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 diff --git a/docs/stage-07-paper-draft.md b/docs/stage-07-paper-draft.md index be4c62f..b69f51f 100644 --- a/docs/stage-07-paper-draft.md +++ b/docs/stage-07-paper-draft.md @@ -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 diff --git a/docs/stage-08-adversarial-review.md b/docs/stage-08-adversarial-review.md new file mode 100644 index 0000000..fe2a311 --- /dev/null +++ b/docs/stage-08-adversarial-review.md @@ -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.