TypeSafe
Keep a value's meaning intact from its source to its final use. Make invalid states hard to represent where practical, and match every claimed guarantee to a type, contract, or runtime check that actually supports it.
- Trace the value across boundaries and transformations.
- Identify the source of truth for its shape and meaning.
- Use the project's native types, schemas, and validation at the narrowest boundary.
- Check both accepted values and important rejected or missing values.
Read the detailed guide for generic APIs, schema design, migrations, or type/runtime gaps.