Skip to content

Commit 87c4190

Browse files
docs: quarantine invalid H1 evidence
1 parent 1d32dcf commit 87c4190

20 files changed

Lines changed: 552 additions & 96 deletions

AGENTS.md

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -34,41 +34,42 @@ Read in this order:
3434
3. `<DIFFAUDIT_ROOT>/Research/ROADMAP.md`
3535
4. `<DIFFAUDIT_ROOT>/Research/README.md`
3636
5. `<DIFFAUDIT_ROOT>/Research/docs/README.md`
37-
6. `<DIFFAUDIT_ROOT>/Research/docs/start-here/phase-g-runbook-2026-06-30.md`
37+
6. `<DIFFAUDIT_ROOT>/Research/docs/start-here/paper1-corrected-evidence-runbook-2026-07-11.md`
3838
7. `<DIFFAUDIT_ROOT>/Research/docs/paper1/frozen-claim-matrix.md`
3939
8. `<DIFFAUDIT_ROOT>/Research/docs/evidence/experiment-master-log.md`
4040
9. The relevant `workspaces/<direction>/README.md` and `plan.md` only if reopening a non-Phase-G direction.
4141

4242
Note: `docs/start-here/` files can drift when the active research direction
43-
changes. Re-check them against `ROADMAP.md` and the Phase G runbook before using
43+
changes. Re-check them against `ROADMAP.md` and the corrected-evidence runbook before using
4444
older onboarding prose for a new session.
4545

4646
Do not start from memory, archived rebuild plans, or old chat context. Re-anchor on current repository files.
4747

4848
## Active Research Direction
4949

50-
Paper 1 (DiffAudit MIA Audit) is in Phase G: H1/DAAB run-dynamics
51-
replication. The active scientific question is whether activation-level
52-
membership evidence is controlled mainly by training trajectory / run
53-
identity.
50+
Paper 1 is rebuilding its evidence contract after the historical Phase G
51+
targets and H1 scorer were quarantined. The active scientific question is
52+
whether newly trained member-only targets exhibit held-out H1 membership signal
53+
and whether any differences among a predeclared finite target set exceed
54+
measurement uncertainty. Run identity is a hypothesis, not an established
55+
finding or mechanism.
5456

5557
Start from:
5658
1. `ROADMAP.md` — current task board and evidence baseline
57-
2. `docs/start-here/phase-g-runbook-2026-06-30.md`operational commands
58-
3. `docs/evidence/ddpm-750k-step-matched-control-2026-06-25.md`Phase G evidence packet
59-
4. `docs/paper1/frozen-claim-matrix.md`canonical claim registry
59+
2. `docs/start-here/paper1-corrected-evidence-runbook-2026-07-11.md`active protocol and commands
60+
3. `docs/paper1/frozen-claim-matrix.md`claim registry and quarantine boundary
61+
4. `docs/evidence/experiment-master-log.md`experiment verdict ledger
6062

61-
Default CUDA environment: see `docs/start-here/phase-g-runbook-2026-06-30.md`.
63+
Default CUDA environment: see the corrected-evidence runbook.
6264

6365
### Related Work Context (2026-07-05 literature scan)
6466

6567
Key published works that bound our contribution:
6668

6769
- **Bonnaire et al. (NeurIPS 2025 Best Paper)**: "Why Diffusion Models Don't Memorize"
68-
(arXiv:2505.17638). Proves that diffusion training follows two timescales — τ_gen
69-
(generalization) and τ_mem (memorization) — and different optimization trajectories
70-
reach different points on this spectrum. Provides the theoretical mechanism for why
71-
run identity (random seed) affects MIA signal strength.
70+
(arXiv:2505.17638). Studies training timescales and memorization/generalization in
71+
diffusion models. It motivates a future hypothesis, but it does not validate a
72+
mechanism for DiffAudit; mechanism language stays blocked until directly tested.
7273
- **SoK: Membership Inference is Harder Than Previously Thought** (PoPETs 2023).
7374
Systematic survey of MIA limitations and evaluation challenges.
7475
- **CopyMark** (arXiv:2410.03640). Shows that realistic benchmarks make many MIA

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,17 @@
22

33
All notable changes to DiffAudit Research are documented here.
44

5+
## [2026-07-11] — Paper 1 Evidence-Contract Reconstruction
6+
7+
### Changed
8+
- Quarantined historical Phase G H1 targets and claims after invalid
9+
member/nonmember ground truth and resubstitution scoring were identified.
10+
- Replaced the run-dynamics execution route with a predeclared member-only
11+
corrected-evidence protocol using held-out rows, common noise, row-bound
12+
scores, a validation attack, and hard STOP/REPLICATE/MATURE gates.
13+
- Marked historical run-identity, continuation, N=512 cluster, temporal,
14+
knockout, and mechanism interpretations as diagnostic-only.
15+
516
## [2026-07-05] — Governance & Toolchain Upgrade
617

718
### Added

ROADMAP.md

Lines changed: 155 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,96 +1,189 @@
11
# DiffAudit Research Roadmap
22

3-
> Last updated: 2026-07-06
3+
> Last updated: 2026-07-11
44
> Scope: current Research execution board. Historical long-form roadmap is in `docs/ROADMAP.md`.
55
66
## Current Baseline
77

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.
912

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:
1114

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.
1320

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.
2625

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`.
2828

29-
## Active Task Board
29+
## P0: Freeze the Corrected Evidence Contract
3030

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.
3250

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.
3652

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
3854

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.
4056

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:
4258

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.
4468

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.
5171

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
5373

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.
5577

56-
Run additional seeds only after seed=43 800k:
78+
Evaluate every target with the same:
5779

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.
6386

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.
6588

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
6790

68-
### P3: H4 Site-Time Attenuation Scout
91+
### STOP
6992

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.
7196

72-
## Current Scientific Claims
97+
### REPLICATE
7398

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.
75102

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.
84107

85-
Blocked:
108+
### MATURE
86109

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.
93183

94184
## Non-Active Lines
95185

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.

docs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ Read these in order when getting started:
1515
| 3 | [start-here/teammate-setup.md](start-here/teammate-setup.md) | Machine setup and first validation. |
1616
| 4 | [assets-and-storage/data-and-assets-handoff.md](assets-and-storage/data-and-assets-handoff.md) | How to get datasets, model weights, and external code. |
1717
| 5 | [start-here/command-reference.md](start-here/command-reference.md) | CLI commands and usage examples. |
18-
| 6 | [start-here/phase-g-runbook-2026-06-30.md](start-here/phase-g-runbook-2026-06-30.md) | Current Paper 1 Phase G H1/DAAB run-dynamics commands. |
18+
| 6 | [start-here/paper1-corrected-evidence-runbook-2026-07-11.md](start-here/paper1-corrected-evidence-runbook-2026-07-11.md) | Current Paper 1 member-only matched-target protocol. |
1919
| 7 | [evidence/reproduction-status.md](evidence/reproduction-status.md) | Per-track experiment status. |
2020
| 8 | [product-bridge/README.md](product-bridge/README.md) | How Research feeds into Platform and Runtime. |
2121

docs/evidence/ddpm-750k-step-matched-control-2026-06-25.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
# DDPM-750k Step-Matched Control — Evidence Packet
1+
# DDPM-750k Step-Matched Control — Quarantined Historical Packet
2+
3+
> **QUARANTINED 2026-07-10**: this target did not satisfy the claimed
4+
> member/nonmember training contract, and its H1 metric used the historical
5+
> resubstitution scorer. It is not a valid matched control for Paper 1. Retain
6+
> numbers only for audit history; do not cite its run-dependent, continuation,
7+
> cluster, knockout, or mechanism conclusions.
28
39
Date: 2026-06-25
4-
Status: COMPLETE
5-
Role: Step-count confound resolution for Paper 1 Section 6.5
10+
Status: QUARANTINED
11+
Role: Historical diagnostic record only
612

713
## Artifact Identity
814

0 commit comments

Comments
 (0)