893d91e749
validate_marginals now estimates a per-dimension KL(real || generated) via a shared histogram, alongside the existing mean/std comparison, so distribution-shape drift shows up even when the first two moments match. Wire it into giant/train.py: every validate_every epochs (default 10, 0 disables), the training loop runs validate_marginals against val_loader and prints the table. validate_every flows through DEFAULT_CONFIG/config.toml and is exposed as --validate-every on both giant train and scripts/train.py. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>