|
1 | 1 | # DiffAudit Research Roadmap |
2 | 2 |
|
3 | | -> Last updated: 2026-07-06 |
| 3 | +> Last updated: 2026-07-11 |
4 | 4 | > Scope: current Research execution board. Historical long-form roadmap is in `docs/ROADMAP.md`. |
5 | 5 |
|
6 | 6 | ## Current Baseline |
7 | 7 |
|
8 | | -Paper 1 is in Phase G: H1/DAAB run-dynamics replication. |
| 8 | +Paper 1 is under evidence-contract reconstruction and is not submission-ready. |
| 9 | +The historical Phase G seed42/43/45 targets were trained on the full CIFAR-10 |
| 10 | +training set while evaluation treated half of those rows as nonmembers. The old |
| 11 | +H1 scorer also fitted PCA/LR and reported AUC on the same rows. |
9 | 12 |
|
10 | | -The active scientific question is no longer whether H1 exists. It is whether activation-level membership evidence is controlled mainly by training trajectory / run identity, and whether high-AUC runs retain N=512 low-FPR value while weak runs collapse. |
| 13 | +Consequences: |
11 | 14 |
|
12 | | -Current verified facts: |
| 15 | +- all old H1 AUCs are diagnostic-only; |
| 16 | +- three-seed, continuation-direction, N=512 cluster, knockout, fine-temporal, |
| 17 | + and run-identity claims are quarantined; |
| 18 | +- corrected training/scoring code cannot retroactively validate old targets; |
| 19 | +- historical targets MUST NOT be resumed into corrected runs. |
13 | 20 |
|
14 | | -| Result | Status | Evidence | |
15 | | -| --- | --- | --- | |
16 | | -| DDPM-750k matched control | Complete | `docs/evidence/ddpm-750k-step-matched-control-2026-06-25.md` | |
17 | | -| H1 v2 N=128 unified table | Complete | `outputs/h1-scout-750k/`, `outputs/h1-scout-800k-v2/`, `outputs/h1-scout-ddim-750k/`, `outputs/h1-scout-800k-same-trajectory/` | |
18 | | -| Independent DDPM-800k N=512 | Complete | `outputs/h1-scout-800k-independent-n512/summary.json` | |
19 | | -| DDIM-750k N=512 | Complete | `outputs/h1-scout-ddim-750k-n512/summary.json` | |
20 | | -| Same-trajectory DDPM-800k N=512 | Complete | `outputs/h1-scout-800k-same-trajectory-n512/summary.json` records rerun AUC=0.605488, TPR@1%=0.025391, shuffle AUC=0.488052 | |
21 | | -| seed=43 training to 750k | Complete | `<DOWNLOAD_ROOT>/checkpoints/ddpm-cifar10-seed43/checkpoint-step750000.pt`, SHA256 `1dad28a63cef2ef4439f77457c10825bcb4ff66ef7c7e3e19dbe285e4503aba2` | |
22 | | -| seed=43 H1 scout at 750k | Complete | `outputs/h1-scout-seed43-750k/summary.json` records AUC=0.666687, TPR@1%=0.015625, shuffle AUC=0.453552 | |
23 | | -| seed=43 training to 800k | Complete | `<DOWNLOAD_ROOT>/checkpoints/ddpm-cifar10-seed43/checkpoint-step800000.pt`, SHA256 `19f62a7fbbc4a492e919d31174049bd3bc2e6c2f631d8d38a2a6c79871f47fa8` | |
24 | | -| seed=43 H1 scout at 800k | Complete | `outputs/h1-scout-seed43-800k/summary.json` records AUC=0.664612, TPR@1%=0.015625, shuffle AUC=0.487793 | |
25 | | -| seed=43 fine temporal grid at 800k | Complete | `outputs/h1-fine-grid-seed43-800k/summary.json` records max |delta|=0.1169 at `mid_0`, t=600; knockout mostly increases AUC | |
| 21 | +The active question is narrower: do newly trained member-only targets exhibit |
| 22 | +held-out H1 membership signal, and do differences among a predeclared finite |
| 23 | +target set exceed row-level measurement uncertainty? Four or eight targets do |
| 24 | +not estimate a population-level seed variance or establish a mechanism. |
26 | 25 |
|
27 | | -Current command runbook: `docs/start-here/phase-g-runbook-2026-06-30.md`. |
| 26 | +Current command runbook: |
| 27 | +`docs/start-here/paper1-corrected-evidence-runbook-2026-07-11.md`. |
28 | 28 |
|
29 | | -## Active Task Board |
| 29 | +## P0: Freeze the Corrected Evidence Contract |
30 | 30 |
|
31 | | -### P0: Evidence Hygiene |
| 31 | +- [x] Train only on the fixed 25,000-row member subset. |
| 32 | +- [x] Keep fold-local repeated OOF H1 code for regression/exploratory checks. |
| 33 | +- [ ] Freeze code commit, environment, hyperparameters, precision, checkpoint |
| 34 | + cadence, split SHA256, eight training seeds, and protocol hash. |
| 35 | +- [ ] Generate disjoint, class-stratified calibration and evaluation manifests; |
| 36 | + each contains 512 members and 512 nonmembers. |
| 37 | +- [ ] Generate a common-noise manifest bound to dataset row, timestep, and draw |
| 38 | + for use across all checkpoints. |
| 39 | +- [ ] Add confirmatory H1 scoring that fits PCA/LR only on calibration rows and |
| 40 | + reports metrics only on evaluation rows. |
| 41 | +- [ ] Add stratified paired bootstrap that refits the attack inside each |
| 42 | + replicate, plus at least 200 full label-permutation refits. |
| 43 | +- [ ] Repair PIA canonical and pass a positive-control gate before it is used as |
| 44 | + the validation attack. Historical E3 PIA outputs are not valid for this gate. |
| 45 | +- [ ] Implement and test exact resume, including Python/NumPy/Torch CPU/CUDA and |
| 46 | + data-loader state, or freeze a common restart policy and block uninterrupted- |
| 47 | + trajectory claims. |
| 48 | +- [ ] Add row-bound score packets with dataset/run/checkpoint/noise/protocol |
| 49 | + identities. |
32 | 50 |
|
33 | | -- [x] Re-run or recover same-trajectory DDPM-800k N=512 raw output into `outputs/h1-scout-800k-same-trajectory-n512/`. |
34 | | -- [ ] Add `summary.json` beside every Phase G H1 output that is cited by the paper. |
35 | | -- [x] Keep `docs/paper1/frozen-claim-matrix.md`, `docs/evidence/experiment-master-log.md`, and the private paper evidence bank aligned after the seed43 750k/800k scouts. |
| 51 | +No corrected outcome may be viewed before these protocol choices are frozen. |
36 | 52 |
|
37 | | -2026-07-01 closure: the same-trajectory DDPM-800k N=512 rerun completed with the readable CIFAR root. The rerun produced raw activation cache, `h1_results.json`, and `summary.json`; the archived AUC is 0.605488 rather than the previously documented unarchived 0.576 value. |
| 53 | +## P1: Short GPU Preflight |
38 | 54 |
|
39 | | -2026-07-02 closure: seed43 reached 750k and the bounded N=128 H1 scout completed. The result (AUC=0.666687, TPR@1%=0.015625, shuffle AUC=0.453552) stays in the moderate 750k band rather than the strong-run cluster. |
| 55 | +Run a disposable 2k--5k-step `corrected-*` target before long training. |
40 | 56 |
|
41 | | -2026-07-03 closure: seed43 reached 800k and the bounded N=128 H1 scout completed. The result (AUC=0.664612, TPR@1%=0.015625, shuffle AUC=0.487793) does not reproduce seed42 same-trajectory amplification and stays below the N=512 trigger threshold. The seed43 800k fine grid is pattern-changing rather than confirmatory: full-site knockout mostly increases AUC, with max |delta|=0.1169 at `mid_0`, t=600. |
| 57 | +Pass criteria: |
42 | 58 |
|
43 | | -### P1: seed=43 Run-Dynamics Replication |
| 59 | +- dataset length is exactly 25,000 and split sets are disjoint; |
| 60 | +- no historical checkpoint/output directory is reused; |
| 61 | +- no OOM with the live 8 GB GPU state; |
| 62 | +- sustained throughput is at least 6.0k steps/hour without thermal throttling; |
| 63 | +- checkpoint/resume and manifest checks pass; |
| 64 | +- row-bound evaluation artifacts include all required identities. |
| 65 | +- projected training plus full evaluation plus a 10% failure buffer fits the |
| 66 | + available GPU window; otherwise reduce the matrix symmetrically before any |
| 67 | + corrected metric is viewed and refreeze the manifest. |
44 | 68 |
|
45 | | -- [x] Resume seed=43 training from the durable 624k checkpoint to 750k. |
46 | | -- [x] Run H1 scout at 750k with the parameterized `scripts/h1/h1_activation_scout.py`. |
47 | | -- [x] Continue seed=43 from 750k to 800k only after the 750k scout is archived. |
48 | | -- [x] Run H1 scout at 800k. |
49 | | -- [x] Run fine temporal grid at 800k. |
50 | | -- [x] Do not run N=512 tail because seed43 800k H1 scout AUC=0.664612 <= 0.70. |
| 69 | +Failure pauses long training. Fix the contract, repeat the same preflight seed, |
| 70 | +and record the deviation; do not replace the seed. |
51 | 71 |
|
52 | | -Decision value: seed=43 decided that the current two-cluster N=512 pattern is run-sensitive but not yet a universal strong-run rule. |
| 72 | +## P2: First-Stage Matrix — 4 Targets × 100k |
53 | 73 |
|
54 | | -### P2: Additional Seed Replication Gate |
| 74 | +Train the first four predeclared seeds symmetrically to 100k. Use independent |
| 75 | +`corrected-*` directories and never resume seed42/43/44/45 or other historical |
| 76 | +targets. |
55 | 77 |
|
56 | | -Run additional seeds only after seed=43 800k: |
| 78 | +Evaluate every target with the same: |
57 | 79 |
|
58 | | -| seed=43 result | Decision | |
59 | | -| --- | --- | |
60 | | -| AUC and fine-grid pattern close to seed42 same-trajectory | additional seeds optional | |
61 | | -| AUC differs by 0.05-0.10 or pattern changes | one extra seed recommended | |
62 | | -| AUC differs by >0.10, approaches the independent strong run, or creates a third pattern | one extra seed required | |
| 80 | +- fixed calibration and evaluation rows; |
| 81 | +- common-noise bank; |
| 82 | +- H1 configuration and fixed score direction; |
| 83 | +- PIA canonical validation attack; |
| 84 | +- primary AUC and secondary TPR@1%FPR; |
| 85 | +- bootstrap and label-permutation protocol. |
63 | 86 |
|
64 | | -Current decision: any extra seed is optional/opportunistic, not a Paper 1 blocker. seed43 AUC differs from seed42 same-trajectory 800k by about 0.052 and its fine-grid sign pattern changes, but it does not approach the independent strong run. seed44 is stopped and should not be resumed. |
| 87 | +The 100k analysis is interim futility/route selection only. |
65 | 88 |
|
66 | | -2026-07-08 closure: seed45 reached 750k and 800k. 750k scout: AUC=0.693909 (three-seed DDPM-750k replication complete: 0.648/0.667/0.694, range=0.046). 800k scout: AUC=0.645996, **dropping** from 750k by Δ=-0.048. Three-seed 800k pattern: seed42 amplifies (+0.069), seed43 flat (-0.002), seed45 drops (-0.048). **750k→800k is not a universal effect.** |
| 89 | +## P3: Frozen 100k Branch |
67 | 90 |
|
68 | | -### P3: H4 Site-Time Attenuation Scout |
| 91 | +### STOP |
69 | 92 |
|
70 | | -Do not run H4 by default after the seed43 800k fine grid. H4 is a bounded site-time intervention scout, not a defense claim, and seed43 did not identify a compact site-time leakage bottleneck. If reopened, it must report H1 AUC/TPR deltas plus utility-cost proxies. |
| 93 | +Stop the run-uncertainty direction only if H1 and PIA AUC 95% upper confidence |
| 94 | +bounds are below 0.55 for every first-stage target. Do not fill secondary |
| 95 | +ablations after this gate. |
71 | 96 |
|
72 | | -## Current Scientific Claims |
| 97 | +### REPLICATE |
73 | 98 |
|
74 | | -Allowed: |
| 99 | +If the frozen membership-signal gate passes, train the four held-back seeds to |
| 100 | +100k. Report the first four as exploratory targets and the held-back four as an |
| 101 | +independent validation set. Do not pool and redefine the decision rule. |
75 | 102 |
|
76 | | -- H1/DAAB is a real activation-level candidate signal across tested checkpoints. |
77 | | -- Signal strength is training-trajectory sensitive. |
78 | | -- Three-seed DDPM-750k replication (seed42/43/45) confirms moderate AUC regime (0.648-0.694, mean=0.669). |
79 | | -- seed45 750k AUC=0.693909, TPR@1%=0.031 — highest DDPM-750k but still moderate, below N=512 threshold. |
80 | | -- seed43 800k stays moderate (AUC=0.664612) and does not reproduce seed42 same-trajectory 750k->800k amplification. |
81 | | -- DDIM-750k is stronger than step-matched DDPM-750k. |
82 | | -- Same-trajectory 750k->800k amplification is modest compared with the independent DDPM-800k gap. |
83 | | -- N=512 currently shows a strong cluster around 0.81 and a weak cluster around 0.56-0.61. |
| 103 | +The gate must be written in the protocol manifest before outcomes are viewed. |
| 104 | +Current intended rule: for the same attack, at least two first-stage targets |
| 105 | +have AUC >= 0.55 and individual 95% lower confidence bounds above 0.50, with a |
| 106 | +well-calibrated permutation null. |
84 | 107 |
|
85 | | -Blocked: |
| 108 | +### MATURE |
86 | 109 |
|
87 | | -- H1 is admitted evidence. |
88 | | -- AUC > 0.8 is universal for DAAB. |
89 | | -- DDPM always produces temporally distributed H1 geometry. |
90 | | -- TPR@0.1%FPR claims at N=512. |
91 | | -- H4 is an effective defense. |
92 | | -- seed44/45 are required by current evidence. |
| 110 | +For all other non-futile outcomes, continue the original four targets |
| 111 | +symmetrically to 200k. Do not continue only the strongest target. Paired |
| 112 | +100k-to-200k trajectory claims require the exact-resume gate; otherwise the |
| 113 | +200k set is analyzed under the frozen common restart policy only. |
| 114 | + |
| 115 | +## P4: Confirmatory Analysis |
| 116 | + |
| 117 | +### Endpoints |
| 118 | + |
| 119 | +- Primary: held-out AUC. |
| 120 | +- Secondary: TPR@1%FPR with Wilson 95% CI. |
| 121 | +- TPR@0.1%FPR is blocked at 512 clean evaluation rows. |
| 122 | +- Rows quantify conditional measurement error; target runs are the paper-level |
| 123 | + independent units. |
| 124 | + |
| 125 | +### Heterogeneity Gate |
| 126 | + |
| 127 | +For H1 and PIA separately: |
| 128 | + |
| 129 | +1. run a predeclared global equality test over the complete target set; |
| 130 | +2. require practical range `max(AUC)-min(AUC) >= 0.05`; |
| 131 | +3. report every predeclared pairwise delta with Holm correction; |
| 132 | +4. use paired stratified resampling across checkpoints and refit attacks inside |
| 133 | + bootstrap replicates. |
| 134 | + |
| 135 | +Interpretation: |
| 136 | + |
| 137 | +- H1 + PIA pass: cross-attack finite-target heterogeneity; |
| 138 | +- H1 only: H1-specific variability; |
| 139 | +- membership signal without heterogeneity: run-identity thesis fails; |
| 140 | +- no minimal signal: stop the full-paper route or reframe as an audit-failure |
| 141 | + case study. |
| 142 | + |
| 143 | +No outcome permits population seed-variance, prevalence, bimodality, or |
| 144 | +dominant-mechanism claims from four or eight targets. |
| 145 | + |
| 146 | +## P5: Evidence and Paper Decision |
| 147 | + |
| 148 | +After the chosen branch completes: |
| 149 | + |
| 150 | +- [ ] archive checkpoint hashes, protocol manifest, row manifests, noise bank, |
| 151 | + row-bound scores, bootstrap/permutation outputs, and utility metrics; |
| 152 | +- [ ] write one dated corrected-evidence memo with a one-sentence verdict; |
| 153 | +- [ ] update `docs/evidence/experiment-master-log.md`; |
| 154 | +- [ ] update `docs/paper1/frozen-claim-matrix.md` only after the verdict is |
| 155 | + independently checked; |
| 156 | +- [ ] synchronize the private evidence bank and submission-readiness review; |
| 157 | +- [ ] decide whether the manuscript should be rebuilt, shortened to a |
| 158 | + cautionary note, or stopped. |
| 159 | + |
| 160 | +Venue formatting, taxonomy expansion, guardrail promotion, knockout, temporal |
| 161 | +grids, and mechanism writing remain blocked until the corrected confirmatory |
| 162 | +matrix changes the paper decision. |
| 163 | + |
| 164 | +## Claim Boundaries |
| 165 | + |
| 166 | +Allowed now: |
| 167 | + |
| 168 | +- the historical evidence contract was invalid and has been quarantined; |
| 169 | +- corrected member-only training and stronger scoring infrastructure exist; |
| 170 | +- a predeclared finite-target experiment is planned. |
| 171 | + |
| 172 | +Blocked now: |
| 173 | + |
| 174 | +- H1 is admitted membership evidence; |
| 175 | +- H1 is run-dependent; |
| 176 | +- seed controls MIA strength or is a dominant variable; |
| 177 | +- amplify/flat/drop are regimes; |
| 178 | +- the N=512 pattern forms natural strong/weak clusters; |
| 179 | +- Bonnaire's timescales explain the old observations; |
| 180 | +- knockout identifies a stable mechanism or defense target; |
| 181 | +- TPR@0.1%FPR for the corrected N=512 evaluation; |
| 182 | +- any submission-readiness claim before corrected evidence closure. |
93 | 183 |
|
94 | 184 | ## Non-Active Lines |
95 | 185 |
|
96 | | -Do not reopen H2 same-cache sweeps, C14 metadata expansion, scnet/DCU matrices, Beans/Fashion/MIDST repeats, MoFIT GPU work, or Retrace-Baseline work unless a new user decision explicitly changes the route. |
| 186 | +Do not reopen H2 same-cache sweeps, C14 metadata expansion, scnet/DCU matrices, |
| 187 | +Beans/Fashion/MIDST repeats, MoFIT GPU work, Retrace-Baseline work, H4, |
| 188 | +fine-temporal grids, or cosmetic paper ablations unless a new result changes a |
| 189 | +specific decision. |
0 commit comments