Start here. This is the direct spoken answer to practice first.
Overview
Validation guarantees the resulting value matches the model; it does not always preserve the client's original representation.
Pydantic normally attempts useful conversions, such as turning a numeric string into an integer, so its guarantee is about the validated output rather than unchanged input. Strict mode rejects conversions that the selected type would otherwise accept. Extra fields are ignored by default, while model configuration can forbid them or allow and retain them. These choices are observable API behavior: they decide whether a payload is accepted, rejected, or silently loses fields.