Use CIFAR-10 with a fixed 45k/5k train/validation split and the official 10k test set. Inject 20% symmetric label noise into the 45k training labels only, independently for each seed but with recorded noise masks. Train a small CIFAR-style ResNet-18 variant, such as reduced-width ResNet-18 without the ImageNet stem, for 30 epochs using identical augmentation, optimizer, learning-rate schedule, batch size, weight decay, and early-stopping policy across methods. Run seeds 0, 1, and 2. Compare: (1) cross-entropy baseline with post-hoc scalar temperature fitted on the clean validation split by minimizing NLL, and (2) label smoothing with epsilon=0.1, optionally also reported with and without temperature scaling as a sensitivity analysis. Primary metric: test ECE with 15 equal-width confidence bins. Secondary metrics: adaptive ECE sensitivity check, test NLL, Brier score, top-1 accuracy, reliability diagrams, confidence histograms, and per-seed training curves. Report mean, standard deviation, paired seed differences, and 95% bootstrap confidence intervals across test examples and seeds. Success criterion: label smoothing has lower mean ECE than the temperature-scaled cross-entropy baseline and mean accuracy is no more than 1.0 percentage point lower. Include deterministic configuration files and saved logits so calibration metrics can be recomputed.