Evidence gate for spectroscopic peak-fitting / deconvolution. Run fit_validator.py after every lmfit (or equivalent) deconvolution before emitting any figure, bar chart, or written claim. Hard-fails on bad fits (parameter at bound, vestigial amplitude, large residual, high reduced chi-square, raw-envelope mismatch); soft-flags rank disagreement for human review. Generic across NH3-TPD, Py-DRIFTS, TPO, XPS, XRD deconvolution.