Sample-level projection-based data filtering — refines → Projection difference (pre-finetuning data-screening metric)
Dataset-level projection difference averages the per-example quantity [a(x_i,y_i) - a(x_i,y'_i)]*v_hat over an entire training set to answer a go/no-go question about the corpus as a unit: will training on this whole dataset shift the persona (persona-vectors, §"6.1 Predicting post-finetuning behaviors from data", p. 9)? Sample-level filtering computes the identical quantity per example without averaging it away, turning the same formula into a keep/discard decision about individual rows. Histograms show this separation is often clean: individual samples from trait-inducing datasets are largely separable from matched control samples by projection value alone, holding across both intentionally trait-eliciting datasets and EM-like datasets whose flaws are domain-specific rather than trait-explicit (§"6.2 Sample-level detection of problematic data", p. 10). This changes what the metric is for, not just its granularity: the dataset-level version is a diagnostic that tells a practitioner whether to worry about a corpus at all, while the sample-level version is an actual data-cleaning tool that tells them which rows to remove. Appendix K makes the sample-level version dataset-agnostic by calibrating thresholds empirically rather than fixing them: each metric's own 95th-percentile value on ULTRACHAT200K - chosen because it is known not to induce persona shifts - becomes the cutoff, so 'clean' is defined relative to an observed reference distribution rather than an arbitrary number (§"K Sample-wise filtering", p. 53).