# metric_direction: higher_is_better  (metric = mean over 6/12/24v of LPIPS_gain / step_ms)
# guard: LPIPS_gain >= baseline - 0.002 at every V, and dPSNR >= baseline - 0.3 (lenient floor)
iteration	timestamp	commit	metric	delta	guard	guard-metric	status	description
0	2026-06-25T10:45	-	0.00113	0.0	PASS	-	baseline	l1, full render, lr 3e-3 adam (== TTOLoss step 1)
1	2026-06-25T10:45	-	-	-	FAIL	dPSNR<0	discard	lr 1e-2..3e-1: sign-step overshoots, dPSNR goes negative (-2..-15 dB)
2	2026-06-25T10:45	-	0.00107	-0.00006	FAIL	LPIPS<base	discard	loss=mse: wins PSNR (+0.1) but loses LPIPS gain (0.0145<0.0161) -> L1 > MSE for LPIPS
3	2026-06-25T10:45	-	-	-	FAIL	12/24v crater	discard	n_ctx subset: improves 6v but craters 12/24v (unsupervised views) -> multi-view guard caught it
4	2026-06-25T10:45	-	0.00131	0.00018	PASS	-	keep	render_scale 0.75: low-res gradient keeps LPIPS gain, 1.2x faster
5	2026-06-25T10:45	-	0.00141	0.00010	PASS	-	keep	render_scale 0.6 (CHAMPION): keeps LPIPS gain, 1.24x metric, 24v 33ms vs 51ms
6	2026-06-25T10:45	-	0.00049	-	FAIL	slow+PSNR	discard	loss=lpips: ~2x LPIPS gain (0.030 vs 0.016) but slow (VGG bwd) + PSNR tanks (0.38)
7	2026-06-25T10:45	-	0.00055	-	FAIL	slow+PSNR	discard	loss=l1+lpips w0.5: BIGGEST LPIPS gain (~0.033, 2.1x) but slow + dPSNR 0.67 -> efficiency loses
